From d18a0c9fe708dcf58253b54ef2938b5e864b24df Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期一, 28 四月 2025 14:39:30 +0800
Subject: [PATCH] 优化水摄入页面的确认弹窗逻辑,调整showConfirm状态的设置位置,并移除不必要的代码注释,提升代码可读性和维护性。
---
pages/home/home.js | 746 +++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 562 insertions(+), 184 deletions(-)
diff --git a/pages/home/home.js b/pages/home/home.js
index dd86186..a997e2b 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -4,9 +4,14 @@
get,
post
} = require('../../api/request.js');
+const config = require('../../api/config.js');
const {
- PROJECT_URLS
-} = require('../../api/config.js');
+ PROJECT_CONFIG
+} = require('../../utils/projectConfig.js');
+const {
+ ENV
+} = require('../../api/env.js');
+
Page({
/**
@@ -36,7 +41,10 @@
selectedProject: '',
avatarTapCount: 0,
isFromLogin: false,
- showTipDialog: ''
+ showTipDialog: '',
+ projectConfig: PROJECT_CONFIG, // 娣诲姞椤圭洰閰嶇疆鍒癲ata涓�
+ showInfoDialog: false,
+ projectList: []
},
openValve: function (e) {
@@ -52,14 +60,14 @@
})
}
},
- calculateScrollViewHeight: function () {
- wx.createSelectorQuery().selectAll('.list-item').boundingClientRect((rects) => {
- let totalHeight = rects.reduce((sum, rect) => sum + rect.height, 0);
- this.setData({
- scrollViewHeight: totalHeight,
- });
- }).exec();
- },
+ // calculateScrollViewHeight: function () {
+ // wx.createSelectorQuery().selectAll('.list-item').boundingClientRect((rects) => {
+ // let totalHeight = rects.reduce((sum, rect) => sum + rect.height, 0);
+ // this.setData({
+ // scrollViewHeight: totalHeight,
+ // });
+ // }).exec();
+ // },
startPullDownRefresh() {
if (getApp().globalData.isLoggedIn) {
if (!this.data.isWXRefreshing) {
@@ -79,18 +87,6 @@
},
- //鑾峰彇鐢ㄦ埛鏁版嵁
- getUserData() {
- get('/items')
- .then((data) => {
- this.setData({
- items: data
- });
- })
- .catch((error) => {
- console.error('Failed to fetch data:', error);
- });
- },
@@ -99,6 +95,10 @@
*/
onLoad(options) {
console.log('home椤甸潰onLoad寮�濮嬶紝鍙傛暟:', options);
+
+ // 鍒濆鍖栭」鐩垪琛ㄦ暟鎹�
+ this.initProjectList();
+
//褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂�
if (options.param === "1" || options.param === "2") {
this.setData({
@@ -130,6 +130,44 @@
}, 100);
},
+ // 鍒濆鍖栭」鐩垪琛ㄦ暟鎹�
+ initProjectList() {
+ // 灏哖ROJECT_CONFIG瀵硅薄杞崲涓烘暟缁勶紝鏂逛究鍦ㄨ鍥句腑閬嶅巻
+ const projectList = Object.entries(PROJECT_CONFIG).map(([key, config]) => ({
+ key: key, // 浣跨敤key浣滀负椤圭洰鏍囪瘑(JYG銆丮Q绛�)
+ tag: config.tag, // 淇濈暀tag瀛楁锛堝師閰嶇疆涓凡鏈夌殑鏍囪瘑锛屽ym銆乵q绛夛級
+ displayName: config.displayName, // 鏄剧ず鍚嶇О
+ ...config // 鍏朵粬閰嶇疆灞炴��
+ }));
+
+ // 鑾峰彇褰撳墠宸查�夋嫨鐨勯」鐩紝榛樿涓篔YG
+ let currentSelectedProject = 'JYG';
+
+ // 灏濊瘯浠庡叏灞�鍙橀噺鑾峰彇
+ const app = getApp();
+ if (app && app.globalData && app.globalData.selectedProject) {
+ currentSelectedProject = app.globalData.selectedProject;
+ } else {
+ // 灏濊瘯浠庢湰鍦板瓨鍌ㄨ幏鍙�
+ try {
+ const savedProject = wx.getStorageSync('selectedProject');
+ if (savedProject) {
+ currentSelectedProject = savedProject;
+ }
+ } catch (e) {
+ console.error('浠庢湰鍦板瓨鍌ㄨ幏鍙栭」鐩け璐�:', e);
+ }
+ }
+
+ // 璁剧疆鍒伴〉闈㈡暟鎹腑
+ this.setData({
+ projectList,
+ selectedProject: currentSelectedProject
+ });
+
+ console.log('椤圭洰鍒楄〃宸插垵濮嬪寲:', projectList, '褰撳墠閫変腑椤圭洰:', currentSelectedProject);
+ },
+
// 鏂板鐨勫垵濮嬪寲椤甸潰杈呭姪鍑芥暟锛屽垎绂诲嚭onLoad涓殑閫昏緫浠ヤ究寤惰繜鎵ц
initializePage(options, fromLogin) {
// 妫�鏌ユ槸鍚﹀凡閫夋嫨椤圭洰
@@ -148,49 +186,57 @@
});
// 璁剧疆 baseUrl
- const baseUrl = PROJECT_URLS[project];
- getApp().globalData.baseUrl = baseUrl;
- getApp().globalData.selectedProject = project;
+ const serverUrl = PROJECT_CONFIG[project]?.serverUrl;
+ if (serverUrl) {
+ getApp().globalData.baseUrl = serverUrl;
+ getApp().globalData.selectedProject = project;
+ console.log('璁剧疆baseUrl:', serverUrl);
+ }
// 鏍规嵁椤圭洰璁剧疆瀵瑰簲鐨則ag
- if (project === 'JYG') {
- getApp().globalData.tag = 'ym'; // 鍢夊唱鍏抽」鐩搴攖ag涓簓m
- this.setData({
- userName: "鍢夊唱鍏抽」鐩�"
- });
- } else if (project === 'MQ') {
- getApp().globalData.tag = 'mq'; // 姘戝嫟椤圭洰瀵瑰簲tag涓簃q
- this.setData({
- userName: "姘戝嫟椤圭洰"
- });
- // 鍔犺浇姘戝嫟椤圭洰鎸佷箙鍖栧弬鏁�
- return storage.getItemSafe('MQ_params')
- .then(params => {
- if (params) {
- getApp().globalData.operator = params.operator;
- getApp().globalData.clientId = params.clientId;
- getApp().globalData.isLoggedIn = params.isLoggedIn;
- getApp().globalData.sessionId = params.sessionId;
- }
- return Promise.resolve();
+ const projectConfig = PROJECT_CONFIG[project];
+ if (projectConfig) {
+ getApp().globalData.tag = projectConfig.tag;
+
+ // 鏍规嵁椤圭洰鏄惁闇�瑕佺櫥褰曪紝璁剧疆涓嶅悓鐨剈serName
+ if (projectConfig.needLogin === false) {
+ // 涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾樉绀洪」鐩悕绉�
+ this.setData({
+ userName: projectConfig.displayName
});
- } else if (project === 'TEST') {
- getApp().globalData.tag = 'ym'; // 娴嬭瘯椤圭洰瀵瑰簲tag涓簍est
- this.setData({
- userName: "娴嬭瘯椤圭洰"
- });
- // 鍔犺浇娴嬭瘯椤圭洰鎸佷箙鍖栧弬鏁�
- return storage.getItemSafe('TEST_params')
- .then(params => {
- if (params) {
- getApp().globalData.operator = params.operator;
- getApp().globalData.clientId = params.clientId;
- getApp().globalData.isLoggedIn = params.isLoggedIn;
- getApp().globalData.sessionId = params.sessionId;
- getApp().globalData.vcId = params.vcId;
- }
- return Promise.resolve();
+ } else {
+ // 闇�瑕佺櫥褰曠殑椤圭洰锛屾樉绀�"璇风偣鍑荤櫥褰�"
+ this.setData({
+ userName: "璇风偣鍑荤櫥褰�"
});
+ }
+ }
+
+ // 鏍规嵁椤圭洰璁剧疆瀵瑰簲鐨刼perator鍜宑lientId
+ if (projectConfig && projectConfig.operatorId) {
+ getApp().globalData.operator = projectConfig.operatorId;
+ getApp().globalData.clientId = projectConfig.operatorId;
+ getApp().globalData.isLoggedIn = true;
+ getApp().globalData.sessionId = projectConfig.operatorId;
+
+ // 濡傛灉鏈塿cId锛屼篃璁剧疆
+ if (projectConfig.vcId) {
+ getApp().globalData.vcId = projectConfig.vcId;
+ }
+
+ // 鎸佷箙鍖栧瓨鍌ㄩ」鐩弬鏁�
+ const params = {
+ operator: projectConfig.operatorId,
+ clientId: projectConfig.operatorId,
+ isLoggedIn: true,
+ sessionId: projectConfig.operatorId
+ };
+
+ if (projectConfig.vcId) {
+ params.vcId = projectConfig.vcId;
+ }
+
+ storage.setItem(`${project}_params`, params);
}
// 缁х画鍒濆鍖栭〉闈�
@@ -219,7 +265,7 @@
console.log('鑾峰彇瀛樺偍鏁版嵁涓柇:', error.message);
// 濡傛灉鏄粠鐧诲綍椤佃繑鍥炴垨宸茬櫥褰曪紝涓嶅啀璺宠浆
- if (fromLogin || getApp().globalData.isLoggedIn) {
+ if (fromLogin) {
console.log('浠庣櫥褰曢〉杩斿洖鎴栧凡鐧诲綍锛岀户缁垵濮嬪寲椤甸潰');
this.continueInitPage(options);
return;
@@ -293,12 +339,6 @@
return;
}
- // 鍐嶆妫�鏌ュ叏灞�鐧诲綍鐘舵��
- if (getApp().globalData.isLoggedIn) {
- console.log('妫�娴嬪埌鍏ㄥ眬鐧诲綍鐘舵�侊紝涓嶈繘琛岀櫥褰曟鏌�');
- return;
- }
-
console.log('鎵ц鐧诲綍鐘舵�佹鏌�');
this.checkLoginStatus();
},
@@ -357,13 +397,17 @@
})
},
openValveList() {
- // wx.navigateTo({
- // url: '/pages/valveList/valveList',
- // })
- wx.showToast({
- title: '鏆傛湭寮�鏀�',
- icon: 'none'
- })
+ const app = getApp();
+ if (app.globalData.isLoggedIn) {
+ wx.navigateTo({
+ url: '/pages/valveList/valveList',
+ })
+ } else {
+ wx.showToast({
+ title: '璇峰厛鐧诲綍',
+ icon: 'error'
+ })
+ }
},
feedBack() {
wx.showToast({
@@ -373,13 +417,40 @@
},
//瑙g粦鐢ㄦ埛
unbind() {
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+ const currentProject = getApp().globalData.selectedProject;
+ const projectConfig = PROJECT_CONFIG[currentProject];
+
+ // 濡傛灉褰撳墠椤圭洰閰嶇疆涓轰笉闇�瑕佺櫥褰曪紝鍒欐彁绀虹敤鎴峰苟鎵撳紑椤圭洰閫夋嫨寮圭獥
+ if (projectConfig && !projectConfig.needLogin) {
+ wx.showModal({
+ title: '鍒囨崲椤圭洰',
+ content: '鏄惁纭畾瑙g粦锛�',
+ confirmText: '纭',
+ cancelText: '鍙栨秷',
+ success: (res) => {
+ if (res.confirm) {
+ // 鏄剧ず椤圭洰閫夋嫨寮圭獥
+ this.setData({
+ showProjectDialog: true
+ });
+ }
+ }
+ });
+ return;
+ }
+
+ // 濡傛灉宸茬櫥褰曪紝鏄剧ず瑙g粦纭瀵硅瘽妗�
if (getApp().globalData.isLoggedIn) {
wx.showModal({
title: '瑙g粦纭',
- content: '纭畾瑕佽В缁戝綋鍓嶈处鍙峰悧锛�',
+ content: '纭畾瑕佽В缁戝綋鍓嶈处鍙峰悧锛熻В缁戝悗灏嗘棤娉曚娇鐢ㄧ浉鍏冲姛鑳斤紝闇�閲嶆柊缁戝畾銆�',
+ confirmText: '纭瑙g粦',
+ confirmColor: '#e34d59',
+ cancelText: '鍙栨秷',
success: (res) => {
if (res.confirm) {
- this.unBindPost()
+ this.unBindPost();
}
}
});
@@ -387,9 +458,8 @@
wx.showToast({
title: '杩樻湭缁戝畾',
icon: 'error'
- })
+ });
}
-
},
//杞亴
irrigation() {
@@ -465,14 +535,22 @@
})
}).catch(error => {
wx.hideLoading();
- this.setData({
- showErrorDialog: true,
- errorData: error.msg,
- errorDialogTitle: "鍏抽榾閿欒"
- })
// 澶勭悊閿欒鍝嶅簲
console.error('璇锋眰澶辫触:', error);
-
+ if (error.code === "ECONNABORTED" || error.message?.includes('timeout')) {
+ // 澶勭悊瓒呮椂閿欒
+ this.setData({
+ showErrorDialog: true,
+ errorData: "閫氫俊瓒呮椂锛岃绋嶅悗鍐嶈瘯",
+ errorDialogTitle: "鍏抽榾閿欒"
+ })
+ } else {
+ this.setData({
+ showErrorDialog: true,
+ errorData: error.msg,
+ errorDialogTitle: "鍏抽榾閿欒"
+ })
+ }
});
},
/**
@@ -534,11 +612,8 @@
isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
});
+ this.updateDisplayText();
- // 鎴愬姛鑾峰彇鏁版嵁鍚庡埛鏂癠I楂樺害
- setTimeout(() => {
- this.calculateScrollViewHeight();
- }, 200);
}).catch(err => {
console.error('鑾峰彇鍒楄〃鏁版嵁澶辫触:', err);
// 閿欒鍥炶皟
@@ -631,13 +706,6 @@
duration: 3000
});
}
- } else {
- // 鍏朵粬閿欒锛屾樉绀洪敊璇俊鎭�
- // wx.showToast({
- // title: err.msg || '鑾峰彇鐢ㄦ埛淇℃伅澶辫触',
- // icon: 'none',
- // duration: 3000
- // });
}
});
},
@@ -789,12 +857,33 @@
return;
}
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+ const currentProject = app.globalData.selectedProject;
+ const projectConfig = PROJECT_CONFIG[currentProject];
+ const needLogin = projectConfig && projectConfig.needLogin;
+
+ // 鏍规嵁椤圭洰鏄惁闇�瑕佺櫥褰曪紝璁剧疆涓嶅悓鐨剈serName
+ if (projectConfig && projectConfig.needLogin === false) {
+ // 涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾樉绀洪」鐩悕绉�
+ this.setData({
+ userName: projectConfig.displayName
+ });
+ }
+
// 灏濊瘯鑾峰彇鐢ㄦ埛鏁版嵁鍜屽凡寮�闃�璁板綍
try {
// 浼樺厛妫�鏌ュ叏灞�鍙橀噺涓槸鍚︽湁sessionId
if (app.globalData.sessionId) {
console.log('initData: 浣跨敤鍏ㄥ眬sessionId鑾峰彇鏁版嵁');
- this.getUserDataBySession();
+
+ // 鍙湁闇�瑕佺櫥褰曠殑椤圭洰鎵嶈皟鐢╣etUserDataBySession
+ if (needLogin) {
+ console.log('initData: 褰撳墠椤圭洰闇�瑕佺櫥褰曪紝鑾峰彇鐢ㄦ埛鏁版嵁');
+ this.getUserDataBySession();
+ } else {
+ console.log('initData: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰曪紝璺宠繃鑾峰彇鐢ㄦ埛鏁版嵁');
+ }
+
this.getOpenList();
return;
}
@@ -817,8 +906,15 @@
console.error('userData瑙f瀽澶辫触:', e);
}
}
- // 鏃犺濡備綍閮藉皾璇曡幏鍙栫敤鎴蜂俊鎭拰寮�闃�鍒楄〃
- this.getUserDataBySession();
+
+ // 鍙湁闇�瑕佺櫥褰曠殑椤圭洰鎵嶈皟鐢╣etUserDataBySession
+ if (needLogin) {
+ console.log('initData: 褰撳墠椤圭洰闇�瑕佺櫥褰曪紝鑾峰彇鐢ㄦ埛鏁版嵁');
+ this.getUserDataBySession();
+ } else {
+ console.log('initData: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰曪紝璺宠繃鑾峰彇鐢ㄦ埛鏁版嵁');
+ }
+
this.getOpenList();
})
.catch((err) => {
@@ -829,7 +925,14 @@
console.log('initData:catch: 妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝鍙幏鍙栧紑闃�鍒楄〃');
this.getOpenList();
} else {
- this.getUserDataBySession();
+ // 鍙湁闇�瑕佺櫥褰曠殑椤圭洰鎵嶈皟鐢╣etUserDataBySession
+ if (needLogin) {
+ console.log('initData:catch: 褰撳墠椤圭洰闇�瑕佺櫥褰曪紝鑾峰彇鐢ㄦ埛鏁版嵁');
+ this.getUserDataBySession();
+ } else {
+ console.log('initData:catch: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰曪紝璺宠繃鑾峰彇鐢ㄦ埛鏁版嵁');
+ }
+
this.getOpenList();
}
});
@@ -841,7 +944,14 @@
console.log('initData:else: 妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝鍙幏鍙栧紑闃�鍒楄〃');
this.getOpenList();
} else {
- this.getUserDataBySession();
+ // 鍙湁闇�瑕佺櫥褰曠殑椤圭洰鎵嶈皟鐢╣etUserDataBySession
+ if (needLogin) {
+ console.log('initData:else: 褰撳墠椤圭洰闇�瑕佺櫥褰曪紝鑾峰彇鐢ㄦ埛鏁版嵁');
+ this.getUserDataBySession();
+ } else {
+ console.log('initData:else: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰曪紝璺宠繃鑾峰彇鐢ㄦ埛鏁版嵁');
+ }
+
this.getOpenList();
}
}
@@ -853,8 +963,14 @@
console.log('initData:error: 妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝鍙幏鍙栧紑闃�鍒楄〃');
this.getOpenList();
} else {
- // 鍑洪敊鏃朵粛灏濊瘯鑾峰彇鏁版嵁
- this.getUserDataBySession();
+ // 鍙湁闇�瑕佺櫥褰曠殑椤圭洰鎵嶈皟鐢╣etUserDataBySession
+ if (needLogin) {
+ console.log('initData:error: 褰撳墠椤圭洰闇�瑕佺櫥褰曪紝鑾峰彇鐢ㄦ埛鏁版嵁');
+ this.getUserDataBySession();
+ } else {
+ console.log('initData:error: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰曪紝璺宠繃鑾峰彇鐢ㄦ埛鏁版嵁');
+ }
+
this.getOpenList();
}
}
@@ -894,6 +1010,8 @@
// 澶勭悊椤圭洰閫夋嫨纭
handleProjectConfirm() {
+ console.log('寮�濮嬪鐞嗛」鐩�夋嫨纭', this.data.selectedProject, this.data.projectList);
+
if (!this.data.selectedProject) {
wx.showToast({
title: '璇烽�夋嫨椤圭洰',
@@ -905,13 +1023,47 @@
// 鑾峰彇褰撳墠宸查�夐」鐩拰鏂伴�夋嫨鐨勯」鐩�
const currentProject = getApp().globalData.selectedProject;
const newProject = this.data.selectedProject;
- const projectName = newProject === 'JYG' ? '鍢夊唱鍏抽」鐩�' :
- newProject === 'MQ' ? '姘戝嫟椤圭洰' :
- newProject === 'TEST' ? '娴嬭瘯椤圭洰' : '鏈煡椤圭洰';
+ console.log('褰撳墠椤圭洰:', currentProject, '鏂伴�夋嫨椤圭洰:', newProject);
+ console.log('PROJECT_CONFIG 鍐呭:', PROJECT_CONFIG);
+
+ const projectConfig = PROJECT_CONFIG[newProject];
+ console.log('閫夋嫨鐨勯」鐩厤缃�:', projectConfig);
+
+ if (!projectConfig) {
+ wx.showToast({
+ title: '椤圭洰閰嶇疆閿欒',
+ icon: 'none'
+ });
+ return;
+ }
// 妫�鏌ユ槸鍚﹀垏鎹簡椤圭洰锛堝鏋滃綋鍓嶉」鐩笉鍚屼簬鏂伴�夋嫨鐨勯」鐩級
const isProjectChanged = currentProject && currentProject !== newProject;
+ // 娣诲姞浜屾纭
+ const confirmText = isProjectChanged ?
+ `纭畾瑕佸皢椤圭洰浠�"${PROJECT_CONFIG[currentProject]?.displayName || '褰撳墠椤圭洰'}"鍒囨崲鍒�"${projectConfig.displayName}"鍚楋紵` :
+ `纭畾閫夋嫨"${projectConfig.displayName}"椤圭洰鍚楋紵`;
+
+ wx.showModal({
+ title: isProjectChanged ? '纭鍒囨崲椤圭洰' : '纭閫夋嫨椤圭洰',
+ content: confirmText,
+ confirmText: isProjectChanged ? '纭鍒囨崲' : '纭',
+ cancelText: '鍙栨秷',
+ success: (res) => {
+ if (res.confirm) {
+ // 鐢ㄦ埛纭閫夋嫨锛岀户缁鐞�
+ this.processProjectSelection(currentProject, newProject, projectConfig, isProjectChanged);
+ } else {
+ // 鐢ㄦ埛鍙栨秷锛屼笉杩涜浠讳綍鎿嶄綔
+ console.log('鐢ㄦ埛鍙栨秷浜嗛」鐩�夋嫨');
+ }
+ }
+ });
+ },
+
+ // 澶勭悊椤圭洰閫夋嫨鐨勫悗缁搷浣�
+ processProjectSelection(currentProject, newProject, projectConfig, isProjectChanged) {
// 濡傛灉鍒囨崲浜嗛」鐩紝鍏堟竻闄ょ櫥褰曠姸鎬�
if (isProjectChanged) {
console.log(`姝e湪浠庨」鐩� ${currentProject} 鍒囨崲鍒� ${newProject}锛屽皢娓呴櫎鐧诲綍鐘舵�乣);
@@ -921,82 +1073,98 @@
getApp().globalData.clientId = '';
getApp().globalData.isLoggedIn = false;
getApp().globalData.userInfo = null;
+ getApp().globalData.vcId = '';
+ getApp().globalData.operator = '';
// 娓呴櫎瀛樺偍涓殑鐧诲綍鐘舵��
try {
+ // 娓呴櫎鍩烘湰鐧诲綍鏁版嵁
wx.removeStorageSync('sessionId');
wx.removeStorageSync('clientId');
wx.removeStorageSync('userData');
wx.removeStorageSync('isLoggedIn');
+
+ // 娓呴櫎涔嬪墠椤圭洰鐨勭壒瀹氭暟鎹�
+ if (currentProject) {
+ wx.removeStorageSync(`${currentProject}_params`);
+ }
+
+ // 娓呴櫎鍏朵粬鍙兘鐨勭紦瀛樻暟鎹�
+ wx.removeStorageSync('_attempted_login_redirect');
+
console.log('宸叉竻闄ょ櫥褰曠浉鍏崇殑瀛樺偍鏁版嵁');
} catch (e) {
console.error('娓呴櫎瀛樺偍鏁版嵁澶辫触:', e);
}
// 閲嶇疆UI鏄剧ず鐘舵��
- this.setData({
- userName: "璇风櫥褰�",
- userPhone: "",
- listData: []
- });
+ if (projectConfig.needLogin === false) {
+ // 涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾樉绀洪」鐩悕绉颁綔涓簎serName
+ this.setData({
+ userName: projectConfig.displayName,
+ userPhone: "",
+ listData: []
+ });
+ } else {
+ // 闇�瑕佺櫥褰曠殑椤圭洰锛屾樉绀�"璇风偣鍑荤櫥褰�"
+ this.setData({
+ userName: "璇风偣鍑荤櫥褰�",
+ userPhone: "",
+ listData: []
+ });
+ }
}
// 淇濆瓨椤圭洰閫夋嫨鍒版湰鍦板瓨鍌�
storage.setItem('selectedProject', newProject).then(() => {
- // 鏇存柊 BASEURL
- const {
- PROJECT_URLS
- } = require('../../api/config.js');
- const baseUrl = PROJECT_URLS[newProject];
+ // 璋冪敤setBaseUrl鏉ユ洿鏂板熀纭�URL
+ try {
+ console.log('灏濊瘯璁剧疆鍩虹URL锛岄」鐩�:', newProject);
+ const result = config.setBaseUrl(newProject);
+ console.log('璁剧疆鍩虹URL缁撴灉:', result);
+ } catch (error) {
+ console.error('璁剧疆鍩虹URL鍑洪敊:', error);
+ // 缁х画鎵ц锛屼笉涓柇娴佺▼
+ }
// 鏇存柊鍏ㄥ眬鍙橀噺
getApp().globalData = getApp().globalData || {};
- getApp().globalData.baseUrl = baseUrl;
getApp().globalData.selectedProject = newProject;
+ getApp().globalData.baseUrl = projectConfig.serverUrl;
+ getApp().globalData.serverId = projectConfig.serverId;
- // 鏍规嵁椤圭洰璁剧疆瀵瑰簲鐨則ag鍜宑lientId
- if (newProject === 'JYG') {
- getApp().globalData.tag = 'ym'; // 鍢夊唱鍏抽」鐩搴攖ag涓簓m
- this.setData({
- userName: "鍢夊唱鍏抽」鐩�"
- });
- } else if (newProject === 'MQ') {
- getApp().globalData.tag = 'mq'; // 姘戝嫟椤圭洰瀵瑰簲tag涓簃q
- getApp().globalData.operator = '2025033115305200006';
- getApp().globalData.clientId = '2025033115305200006';
+ // 閫氳繃閰嶇疆瀵硅薄缁熶竴璁剧疆椤圭洰鍙傛暟
+ getApp().globalData.tag = projectConfig.tag;
+
+ // 瀵逛簬涓嶉渶瑕佺櫥褰曠殑椤圭洰锛岀洿鎺ヨ缃畂perator鍜宑lientId
+ if (!projectConfig.needLogin && projectConfig.operatorId) {
+ const operatorId = projectConfig.operatorId;
+ getApp().globalData.operator = operatorId;
+ getApp().globalData.clientId = operatorId;
getApp().globalData.isLoggedIn = true;
- getApp().globalData.sessionId = '2025033115305200006';
- this.setData({
- userName: "姘戝嫟椤圭洰"
- });
- // 鎸佷箙鍖栧瓨鍌ㄦ皯鍕ら」鐩弬鏁�
- storage.setItem('MQ_params', {
- operator: '2025033115305200006',
- clientId: '2025033115305200006',
+ getApp().globalData.sessionId = operatorId;
+
+ // 濡傛灉鏈塿cId锛屼篃璁剧疆
+ if (projectConfig.vcId) {
+ getApp().globalData.vcId = projectConfig.vcId;
+ }
+
+ // 鎸佷箙鍖栧瓨鍌ㄩ」鐩弬鏁�
+ const params = {
+ operator: operatorId,
+ clientId: operatorId,
isLoggedIn: true,
- sessionId: '2025033115305200006'
- });
- } else if (newProject === 'TEST') {
- getApp().globalData.tag = 'ym'; // 娴嬭瘯椤圭洰瀵瑰簲tag涓簍est
- getApp().globalData.operator = '2025032411245000006';
- getApp().globalData.clientId = '2025032411245000006';
- getApp().globalData.isLoggedIn = true;
- getApp().globalData.sessionId = '2025032411245000006';
- getApp().globalData.vcId = '2024122617295800009';
- this.setData({
- userName: "娴嬭瘯椤圭洰"
- });
- // 鎸佷箙鍖栧瓨鍌ㄦ祴璇曢」鐩弬鏁�
- storage.setItem('TEST_params', {
- operator: '2025032411245000006',
- clientId: '2025032411245000006',
- isLoggedIn: true,
- sessionId: '2025032411245000006',
- vcId: '2024122617295800009'
- });
+ sessionId: operatorId
+ };
+
+ if (projectConfig.vcId) {
+ params.vcId = projectConfig.vcId;
+ }
+
+ storage.setItem(`${newProject}_params`, params);
}
- console.log('宸插垏鎹㈠埌椤圭洰:', projectName, '鍩熷悕:', baseUrl, 'tag:', getApp().globalData.tag);
+ console.log('宸插垏鎹㈠埌椤圭洰:', projectConfig.displayName, '鏈嶅姟鍣�:', projectConfig.serverId, 'tag:', getApp().globalData.tag);
this.setData({
showProjectDialog: false
@@ -1004,12 +1172,22 @@
// 鏄剧ず鍒囨崲鎴愬姛鎻愮ず
wx.showToast({
- title: `宸查�夋嫨${projectName}`,
+ title: `宸查�夋嫨${projectConfig.displayName}`,
icon: 'success',
duration: 2000
});
setTimeout(() => {
console.log('椤圭洰宸插垏鎹紝姝e湪鍒濆鍖栨暟鎹�');
+ // 纭繚鏄剧ず姝g‘鐨勭敤鎴峰悕
+ if (!projectConfig.needLogin) {
+ this.setData({
+ userName: projectConfig.displayName
+ });
+ } else {
+ this.setData({
+ userName: "璇风偣鍑荤櫥褰�"
+ });
+ }
this.initData();
}, 1000);
@@ -1037,6 +1215,13 @@
const fromLogin = this.getFromLogin();
if (fromLogin) {
console.log('浠庣櫥褰曢〉杩斿洖锛屼笉鍐嶉噸瀹氬悜');
+ return;
+ }
+
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+ const currentProject = app.globalData.selectedProject;
+ if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) {
+ console.log('褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject);
return;
}
@@ -1100,6 +1285,12 @@
return;
}
+ // 妫�鏌ラ」鐩槸鍚﹂渶瑕佺櫥褰�
+ if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) {
+ console.log('鏈�缁堟鏌�: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject);
+ return;
+ }
+
console.log('纭闇�瑕佽烦杞埌鐧诲綍椤�');
// 璺宠浆鍓嶅啀娆℃鏌ョ櫥褰曢〉闈复鏃舵爣璁�
@@ -1125,6 +1316,12 @@
// 鍐嶆妫�鏌ユ槸鍚﹀凡浠庣櫥褰曢〉杩斿洖
if (this.getFromLogin()) {
console.log('閿欒澶勭悊: 宸蹭粠鐧诲綍椤佃繑鍥烇紝涓嶅啀璺宠浆');
+ return;
+ }
+
+ // 妫�鏌ラ」鐩槸鍚﹂渶瑕佺櫥褰�
+ if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) {
+ console.log('閿欒澶勭悊: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject);
return;
}
@@ -1175,13 +1372,6 @@
console.log('continueInitPage: 浠庨〉闈㈡暟鎹腑妫�娴嬪埌isFromLogin=true');
fromLogin = true;
}
-
- // 鍒ゆ柇鏈湴鏄惁淇濆瓨sessionId
- // 浣跨敤 wx.nextTick 绛夊緟椤甸潰娓叉煋瀹屾垚
- wx.nextTick(() => {
- this.calculateScrollViewHeight();
- });
-
// 褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂�
if (options && options.param) {
console.log("寮�闃�鎴愬姛鍙傛暟:", options.param);
@@ -1213,6 +1403,21 @@
// 寰俊鐧诲綍
wxLogin() {
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+ const currentProject = getApp().globalData.selectedProject;
+ if (currentProject && PROJECT_CONFIG[currentProject]) {
+ const projectConfig = PROJECT_CONFIG[currentProject];
+
+ if (!projectConfig.needLogin) {
+ console.log('wxLogin: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject);
+ // 涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾樉绀洪」鐩悕绉�
+ this.setData({
+ userName: projectConfig.displayName
+ });
+ return;
+ }
+ }
+
if (!getApp().globalData.isLoggedIn) {
wx.showLoading({
title: '姝e湪鐧诲綍璇风◢鍊�...',
@@ -1232,10 +1437,11 @@
wx.hideLoading();
if (response.code === "0001") {
if (response.content.client.clientId === "") {
- // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈�
- // wx.navigateTo({
- // url: `/pages/login/login?project=${this.data.selectedProject}`
- // });
+ // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈㈠苟浼犻�掑綋鍓嶉」鐩俊鎭�
+ const projectInfo = PROJECT_CONFIG[this.data.selectedProject];
+ wx.navigateTo({
+ url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+ });
} else {
this.setData({
userName: response.content.client.clientName,
@@ -1251,8 +1457,10 @@
getApp().globalData.isLoggedIn = true;
// 璁剧疆姝g‘鐨勯」鐩畉ag
- const tag = this.data.selectedProject === 'JYG' ? 'ym' : 'mq';
- getApp().globalData.tag = tag;
+ const projectConfig = PROJECT_CONFIG[this.data.selectedProject];
+ if (projectConfig) {
+ getApp().globalData.tag = projectConfig.tag;
+ }
// 淇濆瓨鍒板瓨鍌�
storage.setItem("sessionId", sessionId);
@@ -1262,14 +1470,14 @@
// 淇濆瓨userData淇℃伅锛屽寘鍚玸essionId鍜宼ag
const userData = JSON.stringify({
sessionId: sessionId,
- tag: tag,
+ tag: projectConfig ? projectConfig.tag : 'ym',
project: this.data.selectedProject,
userName: response.content.client.clientName,
userPhone: response.content.client.userPhone
});
storage.setItem("userData", userData)
.then(() => {
- console.log('鐢ㄦ埛鏁版嵁淇濆瓨鎴愬姛锛屽寘鍚」鐩俊鎭�:', this.data.selectedProject, 'tag:', tag);
+ console.log('鐢ㄦ埛鏁版嵁淇濆瓨鎴愬姛锛屽寘鍚」鐩俊鎭�:', this.data.selectedProject, 'tag:', projectConfig ? projectConfig.tag : 'ym');
this.initData();
})
.catch(err => {
@@ -1278,26 +1486,34 @@
});
}
+ } else if (response.code === "1003") {
+ // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈㈠苟浼犻�掑綋鍓嶉」鐩俊鎭�
+ const projectInfo = PROJECT_CONFIG[this.data.selectedProject];
+ wx.navigateTo({
+ url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+ });
} else {
wx.showToast({
title: '鐧诲綍澶辫触',
icon: 'error',
duration: 2000
});
- // wx.navigateTo({
- // url: `/pages/login/login?project=${this.data.selectedProject}`
- // });
}
}).catch(error => {
wx.hideLoading();
console.error('鐧诲綍璇锋眰澶辫触:', error);
- wx.showToast({
- title: '鐧诲綍澶辫触锛岃閲嶈瘯',
- icon: 'none'
- });
- // wx.redirectTo({
- // url: `/pages/login/login?project=${this.data.selectedProject}`
- // });
+ if(error.code==="1003"){
+ // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈㈠苟浼犻�掑綋鍓嶉」鐩俊鎭�
+ const projectInfo = PROJECT_CONFIG[this.data.selectedProject];
+ wx.navigateTo({
+ url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+ });
+ }else{
+ wx.showToast({
+ title: '鐧诲綍澶辫触锛岃閲嶈瘯',
+ icon: 'none'
+ });
+ }
});
} else {
wx.hideLoading();
@@ -1416,5 +1632,167 @@
// 鍒嗕韩澶辫触鐨勫洖璋冨嚱鏁�
}
};
- }
+ },
+ //鐐瑰嚮鎻愮ず鎸夐挳
+ infoShow() {
+ this.setData({
+ showInfoDialog: true
+ })
+ },
+ //鎻愮ず绐楃‘璁ゆ寜閽�
+ confirmBtnInfoDialog() {
+ this.setData({
+ showInfoDialog: false
+ })
+ },
+ //寮哄埗鍒犻櫎
+ onDelete(e) {
+ const item = e.currentTarget.dataset.item;
+ const that = this;
+
+ if (this.data.useTestData) {
+ // 娴嬭瘯鏁版嵁妯″紡涓嬶紝妯℃嫙鍒犻櫎鎿嶄綔
+ wx.showLoading({
+ title: '姝e湪寮哄埗鍒犻櫎璇风◢鍊�...',
+ mask: true
+ });
+
+ // 妯℃嫙璇锋眰寤惰繜
+ setTimeout(() => {
+ wx.hideLoading();
+
+ // 浠庡垪琛ㄤ腑绉婚櫎琚垹闄ょ殑椤�
+ const updatedList = this.data.listData.filter(listItem =>
+ listItem.orderNo !== item.orderNo
+ );
+
+ this.setData({
+ listData: updatedList
+ });
+
+ wx.showToast({
+ title: '鍒犻櫎鎴愬姛',
+ icon: 'success',
+ duration: 2000
+ });
+ }, 1500);
+ return;
+ }
+
+ wx.showLoading({
+ title: '姝e湪寮哄埗鍒犻櫎璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+ mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+ });
+ const data = {
+ vcNum: item.vcNum, //鍙栨按鍙D
+ rtuAddr: item.rtuAddr, //闃�鎺у櫒鍦板潃
+ };
+ post({
+ url: "wx/valve/deleteUnclosed",
+ data: data,
+ timeout: 180000
+ }).then(response => {
+ // 澶勭悊鎴愬姛鍝嶅簲
+ console.log('璇锋眰鎴愬姛:', response);
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ //閲嶆柊鑾峰彇鍒楄〃鍒锋柊鏁版嵁
+ this.getOpenList();
+ }).catch(error => {
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ // 澶勭悊閿欒鍝嶅簲
+ console.error('璇锋眰澶辫触:', error);
+ });
+ },
+ //淇敼鎸夐挳鏂囧瓧
+ updateDisplayText() {
+ const updatedList = this.data.listData.map(item => {
+ let displayText = '';
+ if (item.planned) {
+ displayText = '鍙栨秷';
+ } else {
+ displayText = "鍏抽榾"
+ }
+ let deleteText = "鍒犻櫎"
+ let time;
+ if (!item.dt) {
+ time = "鏆傛棤"
+ } else {
+ time = this.extractTime(item.dt)
+ }
+ if (item.waterInstant === null) {
+ item.waterInstant = "鏆傛棤"
+ }
+
+ return {
+ ...item,
+ displayText,
+ deleteText,
+ time
+ }; // 淇濈暀鎵�鏈夊叾浠栧瓧娈碉紝骞舵坊鍔� displayText 瀛楁
+ });
+ // 鏇存柊鍒楄〃鏁版嵁
+ this.setData({
+ listData: updatedList
+ });
+ },
+ //澶勭悊鏃堕棿鍘绘帀骞存湀鏃�
+ extractTime(datetimeString) {
+ const formattedDate = datetimeString.replace(" ", "T");
+ const date = new Date(formattedDate);
+ // 鑾峰彇灏忔椂銆佸垎閽熷拰绉�
+ const hours = date.getHours().toString().padStart(2, '0');
+ const minutes = date.getMinutes().toString().padStart(2, '0');
+ const seconds = date.getSeconds().toString().padStart(2, '0');
+ return `${hours}:${minutes}:${seconds}`;
+ },
+
+ // 鍒囨崲椤圭洰
+ switchProject(e) {
+ const project = e.currentTarget.dataset.project;
+
+ if (config.setBaseUrl(project)) {
+ this.setData({
+ selectedProject: project
+ });
+
+ // 淇濆瓨閫夋嫨鍒版湰鍦板瓨鍌�
+ try {
+ wx.setStorageSync('selectedProject', project);
+ } catch (e) {
+ console.error('淇濆瓨椤圭洰閫夋嫨澶辫触:', e);
+ }
+
+ // 鏇存柊鍏ㄥ眬鍙橀噺
+ const app = getApp();
+ if (app && app.globalData) {
+ app.globalData.selectedProject = project;
+
+ // 鏍规嵁椤圭洰閰嶇疆璁剧疆鐩稿叧鍙傛暟
+ const projectConfig = PROJECT_CONFIG[project];
+ if (projectConfig) {
+ app.globalData.tag = projectConfig.tag;
+ if (!projectConfig.needLogin) {
+ app.globalData.operator = projectConfig.operatorId;
+ app.globalData.clientId = projectConfig.operatorId;
+ app.globalData.isLoggedIn = true;
+ app.globalData.sessionId = projectConfig.operatorId;
+ // 濡傛灉鏈塿cId锛屼篃璁剧疆
+ if (projectConfig.vcId) {
+ app.globalData.vcId = projectConfig.vcId;
+ }
+ }
+ }
+ }
+
+ // 閲嶆柊鍔犺浇椤甸潰鏁版嵁
+ this.initData();
+ } else {
+ wx.showToast({
+ title: '鍒囨崲椤圭洰澶辫触',
+ icon: 'none'
+ });
+ }
+ },
})
\ No newline at end of file
--
Gitblit v1.8.0