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 | 991 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 638 insertions(+), 353 deletions(-) diff --git a/pages/home/home.js b/pages/home/home.js index e990d66..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,37 +60,32 @@ }) } }, - 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 (!this.data.isWXRefreshing) { - var self = this; - console.log(this.data.isRefreshing); - this.setData({ - isRefreshing: true - }); - this.getOpenList(); - + if (getApp().globalData.isLoggedIn) { + if (!this.data.isWXRefreshing) { + var self = this; + console.log(this.data.isRefreshing); + this.setData({ + isRefreshing: true + }); + this.getOpenList(); + } + } else { + wx.showToast({ + title: '璇峰厛鐧诲綍', + icon: 'error' + }) } - }, - //鑾峰彇鐢ㄦ埛鏁版嵁 - getUserData() { - get('/items') - .then((data) => { - this.setData({ - items: data - }); - }) - .catch((error) => { - console.error('Failed to fetch data:', error); - }); + }, @@ -92,12 +95,16 @@ */ onLoad(options) { console.log('home椤甸潰onLoad寮�濮嬶紝鍙傛暟:', options); - //褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂� + + // 鍒濆鍖栭」鐩垪琛ㄦ暟鎹� + this.initProjectList(); + + //褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂� if (options.param === "1" || options.param === "2") { - this.setData({ - options: options - }) - } + this.setData({ + options: options + }) + } // 妫�鏌ユ槸鍚︿粠鐧诲綍椤甸潰杩斿洖 let fromLogin = false; @@ -105,29 +112,6 @@ if (options && options.fromLogin === 'true') { console.log('妫�娴嬪埌URL鍙傛暟fromLogin=true'); fromLogin = true; - } - - // 妫�鏌ユ槸鍚︽湁涓存椂鏍囪 - try { - const tempFromLogin = wx.getStorageSync('_temp_from_login'); - console.log('璇诲彇鍒扮殑涓存椂鏍囪鍊�:', tempFromLogin); - - if (tempFromLogin === 'true') { - console.log('妫�娴嬪埌涓存椂fromLogin鏍囪'); - fromLogin = true; - - // 寤惰繜娓呴櫎涓存椂鏍囪锛岀‘淇濆叾浠栧湴鏂规湁瓒冲鏃堕棿璇诲彇 - setTimeout(() => { - try { - wx.removeStorageSync('_temp_from_login'); - console.log('鑷姩娓呴櫎涓存椂fromLogin鏍囪'); - } catch (e) { - console.error('娓呴櫎涓存椂鏍囪澶辫触:', e); - } - }, 10000); // 寤堕暱鍒�10绉� - } - } catch (e) { - console.error('璇诲彇涓存椂鏍囪澶辫触:', e); } console.log('home椤甸潰鍔犺浇锛宖romLogin:', fromLogin, '鍙傛暟:', options); @@ -144,6 +128,44 @@ setTimeout(() => { this.initializePage(options, fromLogin); }, 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涓殑閫昏緫浠ヤ究寤惰繜鎵ц @@ -164,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); } // 缁х画鍒濆鍖栭〉闈� @@ -235,7 +265,7 @@ console.log('鑾峰彇瀛樺偍鏁版嵁涓柇:', error.message); // 濡傛灉鏄粠鐧诲綍椤佃繑鍥炴垨宸茬櫥褰曪紝涓嶅啀璺宠浆 - if (fromLogin || getApp().globalData.isLoggedIn) { + if (fromLogin) { console.log('浠庣櫥褰曢〉杩斿洖鎴栧凡鐧诲綍锛岀户缁垵濮嬪寲椤甸潰'); this.continueInitPage(options); return; @@ -289,22 +319,6 @@ }); } - // 妫�鏌ユ槸鍚︽湁涓存椂鏍囪 - try { - const tempFromLogin = wx.getStorageSync('_temp_from_login'); - console.log('onShow: 璇诲彇鍒扮殑涓存椂鏍囪鍊�:', tempFromLogin); - - if (tempFromLogin === 'true') { - console.log('onShow: 妫�娴嬪埌涓存椂fromLogin鏍囪'); - fromLogin = true; - this.setData({ - isFromLogin: true - }); - } - } catch (e) { - console.error('onShow: 璇诲彇涓存椂鏍囪澶辫触:', e); - } - // 鍒濆鍖栧鐞� if (fromLogin || this.data.isFromLogin) { console.log('onShow: 浠庣櫥褰曢〉杩斿洖锛屼笉杩涜鐧诲綍妫�鏌�'); @@ -322,12 +336,6 @@ // 鍐嶆纭鏄惁浠庣櫥褰曢〉杩斿洖 if (this.getFromLogin()) { console.log('妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝涓嶈繘琛岀櫥褰曟鏌�'); - return; - } - - // 鍐嶆妫�鏌ュ叏灞�鐧诲綍鐘舵�� - if (getApp().globalData.isLoggedIn) { - console.log('妫�娴嬪埌鍏ㄥ眬鐧诲綍鐘舵�侊紝涓嶈繘琛岀櫥褰曟鏌�'); return; } @@ -389,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({ @@ -405,21 +417,62 @@ }, //瑙g粦鐢ㄦ埛 unbind() { - wx.showModal({ - title: '瑙g粦纭', - content: '纭畾瑕佽В缁戝綋鍓嶈处鍙峰悧锛�', - success: (res) => { - if (res.confirm) { - this.unBindPost() + // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰� + 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: '纭畾瑕佽В缁戝綋鍓嶈处鍙峰悧锛熻В缁戝悗灏嗘棤娉曚娇鐢ㄧ浉鍏冲姛鑳斤紝闇�閲嶆柊缁戝畾銆�', + confirmText: '纭瑙g粦', + confirmColor: '#e34d59', + cancelText: '鍙栨秷', + success: (res) => { + if (res.confirm) { + this.unBindPost(); + } + } + }); + } else { + wx.showToast({ + title: '杩樻湭缁戝畾', + icon: 'error' + }); + } }, //杞亴 irrigation() { - wx.navigateTo({ - url: '/pages/irrigation/irrigation', - }) + if (getApp().globalData.isLoggedIn) { + wx.navigateTo({ + url: '/pages/irrigation/irrigation', + }) + } else { + wx.showToast({ + title: '璇峰厛鐧诲綍', + icon: 'error' + }) + } }, handleChange(e) { const item = e.currentTarget.dataset.item; @@ -482,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: "鍏抽榾閿欒" + }) + } }); }, /** @@ -497,7 +558,17 @@ */ getOpenList() { const app = getApp(); - + if (!getApp().globalData.isLoggedIn) { + wx.showToast({ + title: '璇峰厛鐧诲綍', + icon: 'error' + }) + this.setData({ + isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚 + isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚 + }); + return; + } // 妫�鏌ユ槸鍚︿粠鐧诲綍椤佃繑鍥� const fromLogin = this.getFromLogin(); @@ -541,11 +612,8 @@ isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚 isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚 }); + this.updateDisplayText(); - // 鎴愬姛鑾峰彇鏁版嵁鍚庡埛鏂癠I楂樺害 - setTimeout(() => { - this.calculateScrollViewHeight(); - }, 200); }).catch(err => { console.error('鑾峰彇鍒楄〃鏁版嵁澶辫触:', err); // 閿欒鍥炶皟 @@ -638,13 +706,6 @@ duration: 3000 }); } - } else { - // 鍏朵粬閿欒锛屾樉绀洪敊璇俊鎭� - wx.showToast({ - title: err.msg || '鑾峰彇鐢ㄦ埛淇℃伅澶辫触', - icon: 'none', - duration: 3000 - }); } }); }, @@ -796,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; } @@ -824,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) => { @@ -836,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(); } }); @@ -848,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(); } } @@ -860,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(); } } @@ -901,6 +1010,8 @@ // 澶勭悊椤圭洰閫夋嫨纭 handleProjectConfirm() { + console.log('寮�濮嬪鐞嗛」鐩�夋嫨纭', this.data.selectedProject, this.data.projectList); + if (!this.data.selectedProject) { wx.showToast({ title: '璇烽�夋嫨椤圭洰', @@ -912,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}锛屽皢娓呴櫎鐧诲綍鐘舵�乣); @@ -928,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 = '2025030517095000006'; - getApp().globalData.clientId = '2025030517095000006'; + // 閫氳繃閰嶇疆瀵硅薄缁熶竴璁剧疆椤圭洰鍙傛暟 + 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 = '2025030517095000006'; - this.setData({ - userName: "姘戝嫟椤圭洰" - }); - // 鎸佷箙鍖栧瓨鍌ㄦ皯鍕ら」鐩弬鏁� - storage.setItem('MQ_params', { - operator: '2025030517095000006', - clientId: '2025030517095000006', + getApp().globalData.sessionId = operatorId; + + // 濡傛灉鏈塿cId锛屼篃璁剧疆 + if (projectConfig.vcId) { + getApp().globalData.vcId = projectConfig.vcId; + } + + // 鎸佷箙鍖栧瓨鍌ㄩ」鐩弬鏁� + const params = { + operator: operatorId, + clientId: operatorId, isLoggedIn: true, - sessionId: '2025030517095000006' - }); - } 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 @@ -1011,16 +1172,25 @@ // 鏄剧ず鍒囨崲鎴愬姛鎻愮ず 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); + }).catch(err => { console.error('淇濆瓨椤圭洰閫夋嫨澶辫触锛�', err); wx.showToast({ @@ -1035,20 +1205,6 @@ checkLoginStatus() { const app = getApp(); - // 棣栧厛锛屽己鍒跺啀娆℃鏌ユ槸鍚︿粠鐧诲綍椤佃繑鍥� - try { - const tempFromLogin = wx.getStorageSync('_temp_from_login'); - if (tempFromLogin === 'true') { - console.log('checkLoginStatus: 妫�娴嬪埌涓存椂瀛樺偍_temp_from_login=true锛屼笉鎵ц璺宠浆'); - this.setData({ - isFromLogin: true - }); - return; - } - } catch (e) { - console.error('checkLoginStatus: 璇诲彇涓存椂鏍囪澶辫触:', e); - } - // 妫�鏌ユ槸鍚﹀凡鐧诲綍 if (app.globalData.isLoggedIn && app.globalData.sessionId) { console.log('宸蹭粠鍏ㄥ眬鍙橀噺妫�娴嬪埌鐧诲綍鐘舵��'); @@ -1059,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; } @@ -1092,18 +1255,6 @@ storage.getItemSafe('isLoggedIn') ]) .then(([sessionId, clientId, isLoggedIn]) => { - // 鏈�鍚庝竴娆℃鏌ヤ复鏃舵爣璁� - try { - const tempFromLogin = wx.getStorageSync('_temp_from_login'); - if (tempFromLogin === 'true') { - console.log('Promise鍐呴儴: 妫�娴嬪埌涓存椂瀛樺偍_temp_from_login=true锛屼笉鎵ц璺宠浆'); - this.setData({ - isFromLogin: true - }); - return; - } - } catch (e) {} - if (sessionId) { // 浠庡瓨鍌ㄤ腑鎭㈠鐧诲綍鐘舵�� app.globalData.sessionId = sessionId; @@ -1134,6 +1285,12 @@ return; } + // 妫�鏌ラ」鐩槸鍚﹂渶瑕佺櫥褰� + if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) { + console.log('鏈�缁堟鏌�: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject); + return; + } + console.log('纭闇�瑕佽烦杞埌鐧诲綍椤�'); // 璺宠浆鍓嶅啀娆℃鏌ョ櫥褰曢〉闈复鏃舵爣璁� @@ -1141,11 +1298,11 @@ wx.setStorageSync('_attempted_login_redirect', 'true'); } catch (e) {} - wx.redirectTo({ - url: `/pages/login/login?project=${this.data.selectedProject}`, - success: () => console.log('鎴愬姛璺宠浆鍒扮櫥褰曢〉'), - fail: (err) => console.error('璺宠浆鍒扮櫥褰曢〉澶辫触:', err) - }); + // wx.navigateTo({ + // url: `/pages/login/login?project=${this.data.selectedProject}`, + // success: () => console.log('鎴愬姛璺宠浆鍒扮櫥褰曢〉'), + // fail: (err) => console.error('璺宠浆鍒扮櫥褰曢〉澶辫触:', err) + // }); } }) .catch(err => { @@ -1162,40 +1319,23 @@ return; } + // 妫�鏌ラ」鐩槸鍚﹂渶瑕佺櫥褰� + if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) { + console.log('閿欒澶勭悊: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject); + return; + } + // 鍑洪敊鏃朵篃璺宠浆鍒扮櫥褰曢〉 - wx.redirectTo({ - url: `/pages/login/login?project=${this.data.selectedProject}`, - success: () => console.log('閿欒鍚庢垚鍔熻烦杞埌鐧诲綍椤�'), - fail: (err) => console.error('閿欒鍚庤烦杞埌鐧诲綍椤靛け璐�:', err) - }); + // wx.navigateTo({ + // url: `/pages/login/login?project=${this.data.selectedProject}`, + // success: () => console.log('閿欒鍚庢垚鍔熻烦杞埌鐧诲綍椤�'), + // fail: (err) => console.error('閿欒鍚庤烦杞埌鐧诲綍椤靛け璐�:', err) + // }); }); }, // 杈呭姪鍑芥暟锛氭鏌ユ槸鍚︿粠鐧诲綍椤佃繑鍥� getFromLogin() { - // 鍏堟鏌ュ叏灞�鍙橀噺锛堜綔涓哄鐢ㄦ柟妗堬級 - if (getApp().globalData && getApp().globalData._tempFromLogin === true) { - console.log('getFromLogin: 妫�娴嬪埌鍏ㄥ眬鍙橀噺_tempFromLogin=true'); - // 璁剧疆鏍囧織锛岀‘淇濅笅娆℃鏌ユ椂鑳借瘑鍒� - this.setData({ - isFromLogin: true - }); - - // 娓呴櫎鍏ㄥ眬鏍囪锛岄槻姝㈤噸澶嶈瘑鍒� - setTimeout(() => { - getApp().globalData._tempFromLogin = false; - console.log('宸叉竻闄ゅ叏灞�鍙橀噺_tempFromLogin鏍囪'); - }, 100); - - return true; - } - - // 妫�鏌ユ槸鍚︽湁璁剧疆fromLogin鏍囧織 - if (this.data.isFromLogin) { - console.log('getFromLogin: 妫�娴嬪埌this.data.isFromLogin=true'); - return true; - } - // 妫�鏌ュ綋鍓嶉〉闈㈢殑options const pages = getCurrentPages(); const currentPage = pages[pages.length - 1]; @@ -1207,24 +1347,6 @@ }); return true; } - - // 妫�鏌ヤ复鏃舵爣璁� - try { - const tempFromLogin = wx.getStorageSync('_temp_from_login'); - console.log('getFromLogin: 璇诲彇鍒扮殑涓存椂鏍囪鍊�:', tempFromLogin); - - if (tempFromLogin === 'true') { - console.log('getFromLogin: 妫�娴嬪埌涓存椂瀛樺偍_temp_from_login=true'); - // 璁剧疆鏍囧織锛岀‘淇濅笅娆℃鏌ユ椂鑳借瘑鍒� - this.setData({ - isFromLogin: true - }); - return true; - } - } catch (e) { - console.error('getFromLogin: 璇诲彇涓存椂鏍囪澶辫触:', e); - } - console.log('getFromLogin: 鏈娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁�'); return false; }, @@ -1245,32 +1367,11 @@ }); } - // 浠庝复鏃舵爣璁颁腑妫�鏌� - try { - const tempFromLogin = wx.getStorageSync('_temp_from_login'); - if (tempFromLogin === 'true') { - console.log('continueInitPage: 妫�娴嬪埌涓存椂鏍囪_temp_from_login=true'); - fromLogin = true; - this.setData({ - isFromLogin: true - }); - } - } catch (e) { - console.error('continueInitPage: 璇诲彇涓存椂鏍囪澶辫触:', e); - } - // 浠庨〉闈㈡暟鎹腑妫�鏌� if (this.data.isFromLogin) { console.log('continueInitPage: 浠庨〉闈㈡暟鎹腑妫�娴嬪埌isFromLogin=true'); fromLogin = true; } - - // 鍒ゆ柇鏈湴鏄惁淇濆瓨sessionId - // 浣跨敤 wx.nextTick 绛夊緟椤甸潰娓叉煋瀹屾垚 - wx.nextTick(() => { - this.calculateScrollViewHeight(); - }); - // 褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂� if (options && options.param) { console.log("寮�闃�鎴愬姛鍙傛暟:", options.param); @@ -1289,12 +1390,6 @@ if (!fromLogin) { console.log('涓嶆槸浠庣櫥褰曢〉杩斿洖锛屽欢杩熸鏌ョ櫥褰曠姸鎬�'); setTimeout(() => { - // 鍐嶆妫�鏌ユ槸鍚﹀凡浠庣櫥褰曢〉杩斿洖锛堝彲鑳藉湪鍒濆鍖栬繃绋嬩腑鐘舵�佸凡鍙橈級 - if (this.getFromLogin()) { - console.log('寤惰繜妫�鏌ワ細妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝涓嶅啀妫�鏌ョ櫥褰曠姸鎬�'); - return; - } - // 浠呭湪鏈櫥褰曚笖涓嶆槸浠庣櫥褰曢〉杩斿洖鏃舵鏌ョ櫥褰曠姸鎬� if (!getApp().globalData.isLoggedIn) { console.log('寤惰繜妫�鏌ワ細鏈櫥褰曚笖涓嶆槸浠庣櫥褰曢〉杩斿洖锛屾墽琛岀櫥褰曠姸鎬佹鏌�'); @@ -1308,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湪鐧诲綍璇风◢鍊�...', @@ -1327,9 +1437,10 @@ wx.hideLoading(); if (response.code === "0001") { if (response.content.client.clientId === "") { - // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈� - wx.redirectTo({ - 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({ @@ -1346,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); @@ -1357,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 => { @@ -1373,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.redirectTo({ - 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(); @@ -1419,19 +1540,7 @@ cleanupTempMarkers() { // 鍙湁鍦╥sFromLogin涓簍rue鏃舵墠杩涜娓呯悊 if (this.data.isFromLogin) { - console.log('娓呯悊涓存椂鏍囪'); - // 娓呯悊瀛樺偍鏍囪 - try { - wx.removeStorageSync('_temp_from_login'); - } catch (e) { - console.error('娓呯悊瀛樺偍鏍囪澶辫触:', e); - } - - // 娓呯悊鍏ㄥ眬鍙橀噺鏍囪 - if (getApp().globalData) { - getApp().globalData._tempFromLogin = false; - } // 閲嶈isFromLogin涓篺alse锛屼絾娣诲姞寤惰繜锛岄伩鍏嶅奖鍝嶅綋鍓嶉〉闈㈢殑杩斿洖閫昏緫 setTimeout(() => { @@ -1510,4 +1619,180 @@ }) }); }, + onShareAppMessage: function (options) { + // 璁剧疆鍒嗕韩鍐呭 + return { + title: '澶х鐏屾簤鍔╂墜', // 鍒嗕韩鏍囬 + path: '/pages/home/home', // 鍒嗕韩璺緞锛岃璺緞闇�瑕佹槸褰撳墠灏忕▼搴忓瓨鍦ㄧ殑椤甸潰璺緞 + imageUrl: '/images/logo2.jpg', // 鍒嗕韩鍥炬爣锛屽彲浠ユ槸缃戠粶鍥剧墖璺緞鎴栨湰鍦板浘鐗囪矾寰� + success: function (res) { + // 鍒嗕韩鎴愬姛鐨勫洖璋冨嚱鏁� + }, + fail: function (res) { + // 鍒嗕韩澶辫触鐨勫洖璋冨嚱鏁� + } + }; + }, + //鐐瑰嚮鎻愮ず鎸夐挳 + 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