Page({ data: { modelList: [], // 可用的模型列表 selectedModelName: '', // 选择的模型名称 selectedModelId: null, // 选择的模型ID selectedPerformanceScore: '' // 选择的模型性能分数 }, onLoad: function() { // 页面加载时获取可用模型列表 this.fetchModelList(); }, // 获取可用的模型列表 fetchModelList: function() { wx.request({ url: 'https://soilgd.com:5000/models', // 后端接口返回模型列表 method: 'GET', // 获取模型列表应该是 GET 请求 success: (res) => { if (res.data) { // 只保留 ModelType 和 PerformanceScore,并处理 PerformanceScore 为 null 的情况 const filteredModels = res.data.map(model => ({ ModelType: model.ModelType, // 模型类型 PerformanceScore: (Number(model.PerformanceScore) || 0).toFixed(2), // 确保是数字并保留两位小数 ModelID: model.ModelID // 模型ID })); this.setData({ modelList: filteredModels // 更新模型列表数据 }); } else { wx.showToast({ title: '获取模型列表失败', icon: 'none' }); } }, fail: (err) => { console.error("获取模型列表失败", err); wx.showToast({ title: '获取模型列表失败', icon: 'none' }); } }); }, // 选择模型时更新 selectedModelId 和 selectedModelName onModelChange: function(e) { const selectedIndex = e.detail.value; const selectedModel = this.data.modelList[selectedIndex]; this.setData({ selectedModelName: selectedModel.ModelType, // 显示 ModelType selectedModelId: selectedModel.ModelID, // 使用 ModelID 作为唯一标识 selectedPerformanceScore: selectedModel.PerformanceScore // 显示性能分数 }); }, // 提交选择的模型 onSubmitModel: function() { const { selectedModelId, selectedModelName } = this.data; if (!selectedModelId || !selectedModelName) { wx.showToast({ title: '请选择一个模型', icon: 'none' }); return; } // 发送请求切换模型 wx.request({ url: 'https://soilgd.com:5000/switch-model', // 后端切换模型的接口 method: 'POST', header: { 'Content-Type': 'application/json' // 确保发送的是 JSON 数据 }, data: { model_id: selectedModelId, // 选择的模型ID model_name: selectedModelName // 选择的模型名称 }, success: (res) => { if (res.data && res.data.success) { wx.showToast({ title: '模型切换成功', icon: 'success' }); } else { wx.showToast({ title: '切换模型失败', icon: 'none' }); } }, fail: (err) => { console.error("切换模型失败", err); wx.showToast({ title: '切换模型失败', icon: 'none' }); } }); } });