From 61e89d748cc7f5456c20866e672a4bde153534f1 Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期一, 21 四月 2025 17:18:53 +0800
Subject: [PATCH] 优化项目配置,重构项目URL管理逻辑,改为使用动态配置;更新灌溉组详情页面,添加详细信息展示和请求逻辑,提升用户体验;更新首页项目选择器,支持动态项目列表展示。
---
pages/groupDetail/groupDetail.js | 205 ++++++++++++++++++++++++++++++++++++---------------
1 files changed, 144 insertions(+), 61 deletions(-)
diff --git a/pages/groupDetail/groupDetail.js b/pages/groupDetail/groupDetail.js
index 3a75ef0..600a6b4 100644
--- a/pages/groupDetail/groupDetail.js
+++ b/pages/groupDetail/groupDetail.js
@@ -46,74 +46,157 @@
refreshing: true
});
- console.log('鍔犺浇鍙栨按鍙f暟鎹紝鐏屾簤鐘舵��:', this.data.isIrrigating);
+ console.log('寮�濮嬪姞杞借疆鐏岀粍璇︽儏锛実roupId:', this.data.groupId);
- // 妯℃嫙鏁版嵁
- let mockData = {
- waterOutlets: []
- };
-
- // 鐢熸垚鍙栨按鍙f暟鎹紝鎵�鏈夊彇姘村彛閮芥湁鍛戒护鐘舵��
- 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' // 鍛戒护鏈笅鍙�
+ // 妫�鏌piBaseUrl鏄惁瀛樺湪
+ if (!app.globalData.apiBaseUrl) {
+ try {
+ // 浠巆onfig妯″潡鑾峰彇鍩虹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('杞亴缁勮鎯呮帴鍙h繑鍥�:', 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('璁剧疆鍙栨按鍙f暟鎹畬鎴�:', this.data.waterOutletList);
- }, 1000);
+ });
+ },
+
+ /**
+ * 澶勭悊杞亴缁勮鎯呭搷搴旀暟鎹�
+ */
+ handleGroupDetailsResponse: function(response) {
+ const data = response.content;
- // 瀹為檯椤圭洰涓簲璇ヤ娇鐢╳x.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
- // });
- // }
- // });
+ // 澶勭悊鍙栨按鍙f暟鎹�
+ 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('璁剧疆鍙栨按鍙f暟鎹畬鎴�:', this.data.waterOutletList);
},
/**
--
Gitblit v1.8.0