From 6ae0924bdb44e8b1f569b6f1cdb6ff403e1d2ce3 Mon Sep 17 00:00:00 2001 From: zuoxiao <zuoxiao> Date: 星期一, 28 四月 2025 10:15:33 +0800 Subject: [PATCH] 优化首页和灌溉页面的样式,添加当前项目显示;重构项目配置,确保项目登录需求一致性;更新登录页面逻辑,简化项目选择和信息展示,提升用户体验。 --- 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