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