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 | 243 ++++++++++++++++++++++++++++--------------------
1 files changed, 143 insertions(+), 100 deletions(-)
diff --git a/pages/home/home.js b/pages/home/home.js
index 773340d..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() {
@@ -633,11 +651,11 @@
}
} else {
// 鍏朵粬閿欒锛屾樉绀洪敊璇俊鎭�
- wx.showToast({
- title: err.msg || '鑾峰彇鐢ㄦ埛淇℃伅澶辫触',
- icon: 'none',
- duration: 3000
- });
+ // wx.showToast({
+ // title: err.msg || '鑾峰彇鐢ㄦ埛淇℃伅澶辫触',
+ // icon: 'none',
+ // duration: 3000
+ // });
}
});
},
@@ -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