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 +++++++++++++++++++++++--------------- app.js | 2 api/config.js | 91 +++++++------- 3 files changed, 186 insertions(+), 140 deletions(-) diff --git a/api/config.js b/api/config.js index 9cffc53..a176cb6 100644 --- a/api/config.js +++ b/api/config.js @@ -1,66 +1,69 @@ -const { ENV } = require('./env') +const { + ENV +} = require('./env') let BASEURL const PROJECT_URLS = { - JYG: 'https://irrigate.dayuyanjiuyuan.top/', // 鍢夊唱鍏抽」鐩� - MQ: 'https://shifanqu1.dayuyanjiuyuan.top/', // 姘戝嫟椤圭洰 - TEST:'https://no253541tf71.vicp.fun/'// test椤圭洰 - // TEST:'http://192.168.40.182:8087/'// test椤圭洰 - // MQ: 'https://no253541tf71.vicp.fun/' // 姘戝嫟椤圭洰 - // TEST: 'http://192.168.40.166:54321/' + JYG: 'https://irrigate.dayuyanjiuyuan.top/', // 鍢夊唱鍏抽」鐩� + MQ: 'https://shifanqu1.dayuyanjiuyuan.top/', // 姘戝嫟椤圭洰 + TEST: 'https://no253541tf71.vicp.fun/', // test椤圭洰 + SCHOOL: 'https://school.dayuyanjiuyuan.top/' // 瀛︽牎椤圭洰 + // TEST:'http://192.168.40.182:8087/'// test椤圭洰 + // MQ: 'https://no253541tf71.vicp.fun/' // 姘戝嫟椤圭洰 + // TEST: 'http://192.168.40.166:54321/' } // 灏濊瘯浠庢湰鍦板瓨鍌ㄨ幏鍙栧凡閫夋嫨鐨勯」鐩� let selectedProject = 'JYG'; // 榛樿涓哄槈宄叧椤圭洰 try { - // 灏濊瘯浠庢湰鍦板瓨鍌ㄨ幏鍙栧凡閫夋嫨鐨勯」鐩� - if (typeof wx !== 'undefined') { - try { - const selectedProjectFromStorage = wx.getStorageSync('selectedProject'); - if (selectedProjectFromStorage) { - selectedProject = selectedProjectFromStorage; - console.log('浠庢湰鍦板瓨鍌ㄥ姞杞介」鐩缃�:', selectedProject); - } - } catch (e) { - console.error('浠庢湰鍦板瓨鍌ㄨ幏鍙栭」鐩け璐�:', e); - } + // 灏濊瘯浠庢湰鍦板瓨鍌ㄨ幏鍙栧凡閫夋嫨鐨勯」鐩� + if (typeof wx !== 'undefined') { + try { + const selectedProjectFromStorage = wx.getStorageSync('selectedProject'); + if (selectedProjectFromStorage) { + selectedProject = selectedProjectFromStorage; + console.log('浠庢湰鍦板瓨鍌ㄥ姞杞介」鐩缃�:', selectedProject); + } + } catch (e) { + console.error('浠庢湰鍦板瓨鍌ㄨ幏鍙栭」鐩け璐�:', e); } + } - // 濡傛灉鍏ㄥ眬搴旂敤宸插垵濮嬪寲锛屼篃灏濊瘯浠庡叏灞�鍙橀噺鑾峰彇 - const app = getApp(); - if (app && app.globalData && app.globalData.selectedProject) { - selectedProject = app.globalData.selectedProject; - console.log('浠庡叏灞�鍙橀噺鍔犺浇椤圭洰璁剧疆:', selectedProject); - } + // 濡傛灉鍏ㄥ眬搴旂敤宸插垵濮嬪寲锛屼篃灏濊瘯浠庡叏灞�鍙橀噺鑾峰彇 + const app = getApp(); + if (app && app.globalData && app.globalData.selectedProject) { + selectedProject = app.globalData.selectedProject; + console.log('浠庡叏灞�鍙橀噺鍔犺浇椤圭洰璁剧疆:', selectedProject); + } } catch (e) { - console.error('鑾峰彇宸查�夋嫨椤圭洰澶辫触:', e); + console.error('鑾峰彇宸查�夋嫨椤圭洰澶辫触:', e); } switch (ENV) { - case 'production': - BASEURL = PROJECT_URLS[selectedProject] || PROJECT_URLS.JYG; - break; - case 'test': - // BASEURL 灏嗘牴鎹敤鎴烽�夋嫨鐨勯」鐩姩鎬佽缃� - BASEURL = PROJECT_URLS[selectedProject] || PROJECT_URLS.JYG; - break; - default: - BASEURL = PROJECT_URLS[selectedProject] || PROJECT_URLS.JYG; - break; + case 'production': + BASEURL = PROJECT_URLS[selectedProject] || PROJECT_URLS.JYG; + break; + case 'test': + // BASEURL 灏嗘牴鎹敤鎴烽�夋嫨鐨勯」鐩姩鎬佽缃� + BASEURL = PROJECT_URLS[selectedProject] || PROJECT_URLS.JYG; + break; + default: + BASEURL = PROJECT_URLS[selectedProject] || PROJECT_URLS.JYG; + break; } // 瀵煎嚭鍔ㄦ�佽缃� BASEURL 鐨勫嚱鏁� function setBaseUrl(project) { - if (PROJECT_URLS[project]) { - BASEURL = PROJECT_URLS[project]; - console.log('鍔ㄦ�佽缃� BASEURL:', BASEURL); - return true; - } - return false; + if (PROJECT_URLS[project]) { + BASEURL = PROJECT_URLS[project]; + console.log('鍔ㄦ�佽缃� BASEURL:', BASEURL); + return true; + } + return false; } module.exports = { - BASEURL,// 椤圭洰鎺ュ彛鍦板潃锛屾敮鎸佸鍩熷悕 - PROJECT_URLS, - setBaseUrl + BASEURL, // 椤圭洰鎺ュ彛鍦板潃锛屾敮鎸佸鍩熷悕 + PROJECT_URLS, + setBaseUrl } \ No newline at end of file diff --git a/app.js b/app.js index 22939df..c3f142d 100644 --- a/app.js +++ b/app.js @@ -21,7 +21,7 @@ userId:"", userCode:"", token:"", - isLoggedIn:false, + isLoggedIn:false,//鏄惁宸茬粡鐧诲綍 operator:"2025030416200600006", clientId:"", AppID:"wxbc2b6a00dd904ead", 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