Page({ data: { result: '', // 存储计算结果 ph: '', // 土壤PH OM: '', // 有机质含量 CL: '', // 土壤粘粒重量 H: '', // 氢离子含量 Al: '', // 铝离子含量 init_pH: '', target_pH: '', showModal: false, // 控制弹窗显示与隐藏 }, // 更新输入数据 onOMChange: function (e) { this.setData({ OM: e.detail.value, }); }, onCLChange: function (e) { this.setData({ CL: e.detail.value, }); }, onHChange: function (e) { this.setData({ H: e.detail.value, }); }, onAlChange: function (e) { this.setData({ Al: e.detail.value, }); }, onPhChange: function (e) { this.setData({ ph: e.detail.value, }); }, onInitPhChange: function (e) { this.setData({ init_pH: e.detail.value, }); }, onTargetPhChange: function (e) { this.setData({ target_pH: e.detail.value, }); }, // 点击按钮后进行计算并提示结果 calculate: function () { console.log('开始计算...'); const data = { model_id: 6, parameters: { init_pH: this.data.init_pH, target_pH: this.data.target_pH, OM: this.data.OM, CL: this.data.CL, H: this.data.H, Al: this.data.Al, }, }; wx.request({ url: 'http://localhost:5000/predict', method: 'POST', data: JSON.stringify(data), header: { 'content-type': 'application/json', }, success: (res) => { console.log('预测结果:', res.data.result); // 更新计算结果 this.setData({ result: res.data.result.toString(), showModal: true, // 显示弹窗 }); wx.showToast({ title: '计算完成!结果已更新', icon: 'success', }); }, fail: (error) => { console.error('请求失败:', error); wx.showToast({ title: '计算失败,请重试', icon: 'none', }); }, }); }, // 关闭弹窗 closeModal: function () { this.setData({ showModal: false, // 隐藏弹窗 }); }, });