From 90612989855f6849fd94b0665168c3bb7619ff32 Mon Sep 17 00:00:00 2001 From: zuoxiao <zuoxiao> Date: 星期一, 07 四月 2025 18:08:01 +0800 Subject: [PATCH] 更新项目配置,添加多个项目的专有设置,包括登录需求和统一ID;优化用户数据获取逻辑,确保根据项目需求进行登录状态检查;调整界面显示项目名称和提示信息,增强用户体验。 --- pages/home/home.js | 233 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 138 insertions(+), 95 deletions(-) diff --git a/pages/home/home.js b/pages/home/home.js index dd86186..ad54461 100644 --- a/pages/home/home.js +++ b/pages/home/home.js @@ -7,6 +7,35 @@ const { PROJECT_URLS } = require('../../api/config.js'); + +// 椤圭洰閰嶇疆锛屽寘鍚悇椤圭洰鐨勪笓鏈夎缃� +const PROJECT_CONFIG = { + JYG: { + tag: 'ym', + displayName: '鍢夊唱鍏抽」鐩�', + needLogin: true // 闇�瑕佺櫥褰� + }, + MQ: { + tag: 'mq', + displayName: '姘戝嫟椤圭洰', + operatorId: '2025033115305200006', // 缁熶竴ID鐢ㄤ簬operator鍜宑lientId + needLogin: false // 涓嶉渶瑕佺櫥褰� + }, + TEST: { + tag: 'ym', + displayName: '娴嬭瘯椤圭洰', + operatorId: '2025032411245000006', // 缁熶竴ID鐢ㄤ簬operator鍜宑lientId + vcId: '2024122617295800009', + needLogin: false // 涓嶉渶瑕佺櫥褰� + }, + SCHOOL: { + tag: 'XX', + displayName: '瀛︽牎椤圭洰', + operatorId: '2025040215305200006', // 缁熶竴ID鐢ㄤ簬operator鍜宑lientId + needLogin: true // 涓嶉渶瑕佺櫥褰� + } +}; + Page({ /** @@ -36,7 +65,8 @@ selectedProject: '', avatarTapCount: 0, isFromLogin: false, - showTipDialog: '' + showTipDialog: '', + projectConfig: PROJECT_CONFIG // 娣诲姞椤圭洰閰嶇疆鍒癲ata涓� }, openValve: function (e) { @@ -153,44 +183,39 @@ getApp().globalData.selectedProject = project; // 鏍规嵁椤圭洰璁剧疆瀵瑰簲鐨則ag - if (project === 'JYG') { - getApp().globalData.tag = 'ym'; // 鍢夊唱鍏抽」鐩搴攖ag涓簓m + const projectConfig = PROJECT_CONFIG[project]; + if (projectConfig) { + getApp().globalData.tag = projectConfig.tag; this.setData({ - userName: "鍢夊唱鍏抽」鐩�" + userName: projectConfig.displayName }); - } 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(); - }); - } 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(); - }); + } + + // 鏍规嵁椤圭洰璁剧疆瀵瑰簲鐨刼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 +244,7 @@ console.log('鑾峰彇瀛樺偍鏁版嵁涓柇:', error.message); // 濡傛灉鏄粠鐧诲綍椤佃繑鍥炴垨宸茬櫥褰曪紝涓嶅啀璺宠浆 - if (fromLogin || getApp().globalData.isLoggedIn) { + if (fromLogin) { console.log('浠庣櫥褰曢〉杩斿洖鎴栧凡鐧诲綍锛岀户缁垵濮嬪寲椤甸潰'); this.continueInitPage(options); return; @@ -290,12 +315,6 @@ // 鍐嶆纭鏄惁浠庣櫥褰曢〉杩斿洖 if (this.getFromLogin()) { console.log('妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝涓嶈繘琛岀櫥褰曟鏌�'); - return; - } - - // 鍐嶆妫�鏌ュ叏灞�鐧诲綍鐘舵�� - if (getApp().globalData.isLoggedIn) { - console.log('妫�娴嬪埌鍏ㄥ眬鐧诲綍鐘舵�侊紝涓嶈繘琛岀櫥褰曟鏌�'); return; } @@ -389,7 +408,6 @@ icon: 'error' }) } - }, //杞亴 irrigation() { @@ -905,9 +923,15 @@ // 鑾峰彇褰撳墠宸查�夐」鐩拰鏂伴�夋嫨鐨勯」鐩� const currentProject = getApp().globalData.selectedProject; const newProject = this.data.selectedProject; - const projectName = newProject === 'JYG' ? '鍢夊唱鍏抽」鐩�' : - newProject === 'MQ' ? '姘戝嫟椤圭洰' : - newProject === 'TEST' ? '娴嬭瘯椤圭洰' : '鏈煡椤圭洰'; + const projectConfig = PROJECT_CONFIG[newProject]; + + if (!projectConfig) { + wx.showToast({ + title: '椤圭洰閰嶇疆閿欒', + icon: 'none' + }); + return; + } // 妫�鏌ユ槸鍚﹀垏鎹簡椤圭洰锛堝鏋滃綋鍓嶉」鐩笉鍚屼簬鏂伴�夋嫨鐨勯」鐩級 const isProjectChanged = currentProject && currentProject !== newProject; @@ -944,9 +968,6 @@ // 淇濆瓨椤圭洰閫夋嫨鍒版湰鍦板瓨鍌� storage.setItem('selectedProject', newProject).then(() => { // 鏇存柊 BASEURL - const { - PROJECT_URLS - } = require('../../api/config.js'); const baseUrl = PROJECT_URLS[newProject]; // 鏇存柊鍏ㄥ眬鍙橀噺 @@ -954,49 +975,43 @@ getApp().globalData.baseUrl = baseUrl; getApp().globalData.selectedProject = newProject; - // 鏍规嵁椤圭洰璁剧疆瀵瑰簲鐨則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; + + // 璁剧疆鐢ㄦ埛鐣岄潰鏄剧ず鐨勯」鐩悕绉� + this.setData({ + userName: projectConfig.displayName + }); + + // 瀵逛簬涓嶉渶瑕佺櫥褰曠殑椤圭洰锛岀洿鎺ヨ缃畂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, '鍩熷悕:', baseUrl, 'tag:', getApp().globalData.tag); this.setData({ showProjectDialog: false @@ -1004,7 +1019,7 @@ // 鏄剧ず鍒囨崲鎴愬姛鎻愮ず wx.showToast({ - title: `宸查�夋嫨${projectName}`, + title: `宸查�夋嫨${projectConfig.displayName}`, icon: 'success', duration: 2000 }); @@ -1037,6 +1052,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 +1122,12 @@ return; } + // 妫�鏌ラ」鐩槸鍚﹂渶瑕佺櫥褰� + if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) { + console.log('鏈�缁堟鏌�: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject); + return; + } + console.log('纭闇�瑕佽烦杞埌鐧诲綍椤�'); // 璺宠浆鍓嶅啀娆℃鏌ョ櫥褰曢〉闈复鏃舵爣璁� @@ -1125,6 +1153,12 @@ // 鍐嶆妫�鏌ユ槸鍚﹀凡浠庣櫥褰曢〉杩斿洖 if (this.getFromLogin()) { console.log('閿欒澶勭悊: 宸蹭粠鐧诲綍椤佃繑鍥烇紝涓嶅啀璺宠浆'); + return; + } + + // 妫�鏌ラ」鐩槸鍚﹂渶瑕佺櫥褰� + if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) { + console.log('閿欒澶勭悊: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject); return; } @@ -1213,6 +1247,13 @@ // 寰俊鐧诲綍 wxLogin() { + // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰� + const currentProject = getApp().globalData.selectedProject; + if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) { + console.log('wxLogin: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject); + return; + } + if (!getApp().globalData.isLoggedIn) { wx.showLoading({ title: '姝e湪鐧诲綍璇风◢鍊�...', @@ -1251,8 +1292,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 +1305,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 => { -- Gitblit v1.8.0