Model Selection.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. Page({
  2. data: {
  3. modelList: [], // 可用的模型列表
  4. selectedModelName: '', // 选择的模型名称
  5. selectedModelId: null, // 选择的模型ID
  6. selectedPerformanceScore: '' // 选择的模型性能分数
  7. },
  8. onLoad: function() {
  9. // 页面加载时获取可用模型列表
  10. this.fetchModelList();
  11. },
  12. // 获取可用的模型列表
  13. fetchModelList: function() {
  14. wx.request({
  15. url: 'https://soilgd.com:5000/models', // 后端接口返回模型列表
  16. method: 'GET', // 获取模型列表应该是 GET 请求
  17. success: (res) => {
  18. if (res.data) {
  19. // 只保留 ModelType 和 PerformanceScore,并处理 PerformanceScore 为 null 的情况
  20. const filteredModels = res.data.map(model => ({
  21. ModelType: model.ModelType, // 模型类型
  22. PerformanceScore: (Number(model.PerformanceScore) || 0).toFixed(2), // 确保是数字并保留两位小数
  23. ModelID: model.ModelID // 模型ID
  24. }));
  25. this.setData({
  26. modelList: filteredModels // 更新模型列表数据
  27. });
  28. } else {
  29. wx.showToast({
  30. title: '获取模型列表失败',
  31. icon: 'none'
  32. });
  33. }
  34. },
  35. fail: (err) => {
  36. console.error("获取模型列表失败", err);
  37. wx.showToast({
  38. title: '获取模型列表失败',
  39. icon: 'none'
  40. });
  41. }
  42. });
  43. },
  44. // 选择模型时更新 selectedModelId 和 selectedModelName
  45. onModelChange: function(e) {
  46. const selectedIndex = e.detail.value;
  47. const selectedModel = this.data.modelList[selectedIndex];
  48. this.setData({
  49. selectedModelName: selectedModel.ModelType, // 显示 ModelType
  50. selectedModelId: selectedModel.ModelID, // 使用 ModelID 作为唯一标识
  51. selectedPerformanceScore: selectedModel.PerformanceScore // 显示性能分数
  52. });
  53. },
  54. // 提交选择的模型
  55. onSubmitModel: function() {
  56. const { selectedModelId, selectedModelName } = this.data;
  57. if (!selectedModelId || !selectedModelName) {
  58. wx.showToast({
  59. title: '请选择一个模型',
  60. icon: 'none'
  61. });
  62. return;
  63. }
  64. // 发送请求切换模型
  65. wx.request({
  66. url: 'https://soilgd.com:5000/switch-model', // 后端切换模型的接口
  67. method: 'POST',
  68. header: {
  69. 'Content-Type': 'application/json' // 确保发送的是 JSON 数据
  70. },
  71. data: {
  72. model_id: selectedModelId, // 选择的模型ID
  73. model_name: selectedModelName // 选择的模型名称
  74. },
  75. success: (res) => {
  76. if (res.data && res.data.success) {
  77. wx.showToast({
  78. title: '模型切换成功',
  79. icon: 'success'
  80. });
  81. } else {
  82. wx.showToast({
  83. title: '切换模型失败',
  84. icon: 'none'
  85. });
  86. }
  87. },
  88. fail: (err) => {
  89. console.error("切换模型失败", err);
  90. wx.showToast({
  91. title: '切换模型失败',
  92. icon: 'none'
  93. });
  94. }
  95. });
  96. }
  97. });