| | |
| | | refreshing: true |
| | | }); |
| | | |
| | | console.log('加载取水口数据,灌溉状态:', this.data.isIrrigating); |
| | | console.log('开始加载轮灌组详情,groupId:', this.data.groupId); |
| | | |
| | | // 模拟数据 |
| | | let mockData = { |
| | | waterOutlets: [] |
| | | }; |
| | | |
| | | // 生成取水口数据,所有取水口都有命令状态 |
| | | mockData.waterOutlets = [ |
| | | { |
| | | id: 1, |
| | | name: '取水口 A-1', |
| | | status: 'online', |
| | | commandStatus: 'sent' // 命令已下发 |
| | | }, |
| | | { |
| | | id: 2, |
| | | name: '取水口 A-2', |
| | | status: 'online', |
| | | commandStatus: 'unsent' // 命令未下发 |
| | | }, |
| | | { |
| | | id: 3, |
| | | name: '取水口 A-3', |
| | | status: 'offline', |
| | | commandStatus: 'unsent' // 命令未下发 |
| | | // 检查apiBaseUrl是否存在 |
| | | if (!app.globalData.apiBaseUrl) { |
| | | try { |
| | | // 从config模块获取基础URL |
| | | const config = require('../../api/config'); |
| | | const { PROJECT_CONFIG } = require('../../utils/projectConfig'); |
| | | |
| | | // 获取当前选中的项目标识 |
| | | const tag = wx.getStorageSync('projectTag') || app.globalData.tag || 'mq'; |
| | | |
| | | // 根据tag找到对应项目配置 |
| | | let selectedProject = 'MQ'; // 默认为民勤项目 |
| | | for (const key in PROJECT_CONFIG) { |
| | | if (PROJECT_CONFIG[key].tag === tag) { |
| | | selectedProject = key; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | // 设置apiBaseUrl |
| | | app.globalData.apiBaseUrl = PROJECT_CONFIG[selectedProject].serverUrl; |
| | | console.log('从配置中获取apiBaseUrl:', app.globalData.apiBaseUrl); |
| | | } catch (error) { |
| | | console.error('获取apiBaseUrl失败:', error); |
| | | // 使用请求库中的方法 |
| | | const { get } = require('../../api/request'); |
| | | |
| | | get({ |
| | | url: '/wx/irrigation/getGroupDetails', |
| | | data: { groupId: this.data.groupId }, |
| | | isShowLoding: true |
| | | }).then(res => { |
| | | if (res.success) { |
| | | this.handleGroupDetailsResponse(res); |
| | | } else { |
| | | wx.showToast({ |
| | | title: res.msg || '获取数据失败', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }).catch(err => { |
| | | console.error('请求失败:', err); |
| | | wx.showToast({ |
| | | title: '网络错误', |
| | | icon: 'none' |
| | | }); |
| | | }).finally(() => { |
| | | this.setData({ |
| | | refreshing: false |
| | | }); |
| | | }); |
| | | |
| | | return; // 已经使用请求库处理,直接返回 |
| | | } |
| | | ]; |
| | | } |
| | | |
| | | // 模拟网络请求延迟 |
| | | setTimeout(() => { |
| | | // 使用wx.request发送请求 |
| | | wx.request({ |
| | | url: `${app.globalData.apiBaseUrl}/wx/irrigation/getGroupDetails`, |
| | | method: 'GET', |
| | | data: { |
| | | groupId: this.data.groupId |
| | | }, |
| | | header: { |
| | | 'content-type': 'application/json', |
| | | 'Authorization': wx.getStorageSync('token') || '', |
| | | 'tag': wx.getStorageSync('projectTag') || app.globalData.tag || '', |
| | | 'appId': app.globalData.AppID || '' |
| | | }, |
| | | success: (res) => { |
| | | console.log('轮灌组详情接口返回:', res.data); |
| | | |
| | | if (res.data && res.data.success) { |
| | | this.handleGroupDetailsResponse(res.data); |
| | | } else { |
| | | wx.showToast({ |
| | | title: res.data.msg || '获取数据失败', |
| | | icon: 'none' |
| | | }); |
| | | this.setData({ |
| | | refreshing: false |
| | | }); |
| | | } |
| | | }, |
| | | fail: (err) => { |
| | | console.error('请求失败:', err); |
| | | // 尝试使用请求库重试 |
| | | this.retryUsingRequestLib(); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 使用请求库重试获取数据 |
| | | */ |
| | | retryUsingRequestLib: function() { |
| | | console.log('使用请求库重试获取数据'); |
| | | const { get } = require('../../api/request'); |
| | | |
| | | get({ |
| | | url: '/wx/irrigation/getGroupDetails', |
| | | data: { groupId: this.data.groupId }, |
| | | isShowLoding: true |
| | | }).then(res => { |
| | | if (res.success) { |
| | | this.handleGroupDetailsResponse(res); |
| | | } else { |
| | | wx.showToast({ |
| | | title: res.msg || '获取数据失败', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }).catch(err => { |
| | | console.error('请求库重试失败:', err); |
| | | wx.showToast({ |
| | | title: '网络错误', |
| | | icon: 'none' |
| | | }); |
| | | }).finally(() => { |
| | | this.setData({ |
| | | waterOutletList: mockData.waterOutlets, |
| | | refreshing: false |
| | | }); |
| | | console.log('设置取水口数据完成:', this.data.waterOutletList); |
| | | }, 1000); |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 处理轮灌组详情响应数据 |
| | | */ |
| | | handleGroupDetailsResponse: function(response) { |
| | | const data = response.content; |
| | | |
| | | // 实际项目中应该使用wx.request获取数据 |
| | | // wx.request({ |
| | | // url: `https://your-api-url/groups/${this.data.groupId}/waterOutlets`, |
| | | // method: 'GET', |
| | | // success: (res) => { |
| | | // if (res.data && res.data.code === 0) { |
| | | // this.setData({ |
| | | // waterOutletList: res.data.data.waterOutlets, |
| | | // refreshing: false |
| | | // }); |
| | | // } else { |
| | | // wx.showToast({ |
| | | // title: '获取数据失败', |
| | | // icon: 'none' |
| | | // }); |
| | | // this.setData({ |
| | | // refreshing: false |
| | | // }); |
| | | // } |
| | | // }, |
| | | // fail: () => { |
| | | // wx.showToast({ |
| | | // title: '网络错误', |
| | | // icon: 'none' |
| | | // }); |
| | | // this.setData({ |
| | | // refreshing: false |
| | | // }); |
| | | // } |
| | | // }); |
| | | // 处理取水口数据 |
| | | const waterOutletList = data.intakes.map(item => { |
| | | return { |
| | | id: item.rtuAddr, // 使用rtuAddr作为ID |
| | | name: item.intakeName, |
| | | rtuAddr: item.rtuAddr, |
| | | status: item.isOnLine ? 'online' : 'offline' |
| | | }; |
| | | }); |
| | | |
| | | this.setData({ |
| | | projectName: data.projectName || this.data.projectName, |
| | | groupName: data.groupName || this.data.groupName, |
| | | waterOutletList: waterOutletList, |
| | | refreshing: false |
| | | }); |
| | | |
| | | console.log('设置取水口数据完成:', this.data.waterOutletList); |
| | | }, |
| | | |
| | | /** |