AcidNeutralizationModel.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. Page({
  2. data: {
  3. result: '', // 存储计算结果
  4. ph: '', // 土壤PH
  5. OM: '', // 有机质含量
  6. CL: '', // 土壤粘粒重量
  7. H: '', // 氢离子含量
  8. Al: '', // 铝离子含量
  9. init_pH: '',
  10. target_pH: '',
  11. showModal: false, // 控制弹窗显示与隐藏
  12. },
  13. // 更新输入数据
  14. onOMChange: function (e) {
  15. this.setData({
  16. OM: e.detail.value,
  17. });
  18. },
  19. onCLChange: function (e) {
  20. this.setData({
  21. CL: e.detail.value,
  22. });
  23. },
  24. onHChange: function (e) {
  25. this.setData({
  26. H: e.detail.value,
  27. });
  28. },
  29. onAlChange: function (e) {
  30. this.setData({
  31. Al: e.detail.value,
  32. });
  33. },
  34. onPhChange: function (e) {
  35. this.setData({
  36. ph: e.detail.value,
  37. });
  38. },
  39. onInitPhChange: function (e) {
  40. this.setData({
  41. init_pH: e.detail.value,
  42. });
  43. },
  44. onTargetPhChange: function (e) {
  45. this.setData({
  46. target_pH: e.detail.value,
  47. });
  48. },
  49. // 点击按钮后进行计算并提示结果
  50. calculate: function () {
  51. console.log('开始计算...');
  52. const data = {
  53. model_id: 6,
  54. parameters: {
  55. init_pH: this.data.init_pH,
  56. target_pH: this.data.target_pH,
  57. OM: this.data.OM,
  58. CL: this.data.CL,
  59. H: this.data.H,
  60. Al: this.data.Al,
  61. },
  62. };
  63. wx.request({
  64. url: 'http://localhost:5000/predict',
  65. method: 'POST',
  66. data: JSON.stringify(data),
  67. header: {
  68. 'content-type': 'application/json',
  69. },
  70. success: (res) => {
  71. console.log('预测结果:', res.data.result);
  72. // 更新计算结果
  73. this.setData({
  74. result: res.data.result.toString(),
  75. showModal: true, // 显示弹窗
  76. });
  77. wx.showToast({
  78. title: '计算完成!结果已更新',
  79. icon: 'success',
  80. });
  81. },
  82. fail: (error) => {
  83. console.error('请求失败:', error);
  84. wx.showToast({
  85. title: '计算失败,请重试',
  86. icon: 'none',
  87. });
  88. },
  89. });
  90. },
  91. // 关闭弹窗
  92. closeModal: function () {
  93. this.setData({
  94. showModal: false, // 隐藏弹窗
  95. });
  96. },
  97. });