From 30afe5f7c3013f1a9e7d94e60f60ecc7b94df3bc Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期一, 07 四月 2025 18:09:04 +0800
Subject: [PATCH] 优化用户数据获取逻辑,添加项目登录需求检查;更新首页WXML,增加学校项目选项,提升用户体验。
---
pages/home/home.js | 585 ++++++++++++++++++++++++++++++---------------------------
1 files changed, 306 insertions(+), 279 deletions(-)
diff --git a/pages/home/home.js b/pages/home/home.js
index 080656a..b139784 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({
/**
@@ -35,7 +64,9 @@
showProjectDialog: false,
selectedProject: '',
avatarTapCount: 0,
- isFromLogin: false
+ isFromLogin: false,
+ showTipDialog: '',
+ projectConfig: PROJECT_CONFIG // 娣诲姞椤圭洰閰嶇疆鍒癲ata涓�
},
openValve: function (e) {
@@ -60,28 +91,23 @@
}).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);
- });
+
},
@@ -91,7 +117,12 @@
*/
onLoad(options) {
console.log('home椤甸潰onLoad寮�濮嬶紝鍙傛暟:', options);
-
+ //褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂�
+ if (options.param === "1" || options.param === "2") {
+ this.setData({
+ options: options
+ })
+ }
// 妫�鏌ユ槸鍚︿粠鐧诲綍椤甸潰杩斿洖
let fromLogin = false;
@@ -99,29 +130,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);
@@ -163,16 +171,43 @@
getApp().globalData.selectedProject = project;
// 鏍规嵁椤圭洰璁剧疆瀵瑰簲鐨則ag
- if (project === 'JYG') {
- getApp().globalData.tag = 'ym'; // 鍢夊唱鍏抽」鐩搴攖ag涓簓m
- } else if (project === 'MQ') {
- getApp().globalData.tag = 'mq'; // 姘戝嫟椤圭洰瀵瑰簲tag涓簃q
+ const projectConfig = PROJECT_CONFIG[project];
+ if (projectConfig) {
+ getApp().globalData.tag = projectConfig.tag;
+ this.setData({
+ userName: projectConfig.displayName
+ });
}
- console.log('鍔犺浇宸蹭繚瀛樼殑椤圭洰:', project, '鍩熷悕:', baseUrl, 'tag:', getApp().globalData.tag);
+ // 鏍规嵁椤圭洰璁剧疆瀵瑰簲鐨刼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;
- // 妫�鏌essionId鏄惁瀛樺湪
- return storage.getItemSafe('sessionId');
+ // 濡傛灉鏈塿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);
+ }
+
+ // 缁х画鍒濆鍖栭〉闈�
+ this.continueInitPage(options);
} else {
// 棣栨杩涘叆锛屾樉绀洪」鐩�夋嫨寮圭獥
this.setData({
@@ -184,26 +219,7 @@
}); // 缁堟鍚庣画澶勭悊
}
})
- .then(sessionId => {
- if (sessionId) {
- // 濡傛灉sessionId瀛樺湪锛岃缃叏灞�鐧诲綍鐘舵��
- getApp().globalData.sessionId = sessionId;
- getApp().globalData.isLoggedIn = true;
-
- // 灏濊瘯鑾峰彇clientId
- return storage.getItemSafe('clientId');
- } else {
- return Promise.reject({
- type: 'session_not_found',
- message: '鏈壘鍒皊essionId'
- });
- }
- })
- .then(clientId => {
- if (clientId) {
- getApp().globalData.clientId = clientId;
- }
-
+ .then(() => {
// 缁х画鍒濆鍖栭〉闈�
this.continueInitPage(options);
})
@@ -216,7 +232,7 @@
console.log('鑾峰彇瀛樺偍鏁版嵁涓柇:', error.message);
// 濡傛灉鏄粠鐧诲綍椤佃繑鍥炴垨宸茬櫥褰曪紝涓嶅啀璺宠浆
- if (fromLogin || getApp().globalData.isLoggedIn) {
+ if (fromLogin) {
console.log('浠庣櫥褰曢〉杩斿洖鎴栧凡鐧诲綍锛岀户缁垵濮嬪寲椤甸潰');
this.continueInitPage(options);
return;
@@ -231,26 +247,6 @@
return;
}
- // 澶勭悊鏈壘鍒皊essionId鐨勬儏鍐�
- if (error.type === 'session_not_found' && this.data.selectedProject) {
- // 妫�鏌ユ槸鍚﹀凡浠庣櫥褰曢〉杩斿洖
- const isReturning = this.getFromLogin();
- console.log('鏈壘鍒皊essionId锛屾槸鍚︿粠鐧诲綍椤佃繑鍥�:', isReturning);
-
- // 濡傛灉宸茬粡鏄粠鐧诲綍椤佃繑鍥炵殑锛屼笉瑕佸啀璺冲洖鍘�
- if (isReturning) {
- console.log('宸茬粡浠庣櫥褰曢〉杩斿洖锛屼笉鍐嶈烦杞洖鍘�');
- this.continueInitPage(options);
- return;
- }
-
- console.log('鏈壘鍒皊essionId锛岃烦杞埌鐧诲綍椤�');
- wx.redirectTo({
- url: `/pages/login/login?project=${this.data.selectedProject}`
- });
- return;
- }
-
// 鍏朵粬鏈煡閿欒锛屽皾璇曠户缁垵濮嬪寲椤甸潰
console.warn('鏈煡閿欒锛屽皾璇曠户缁垵濮嬪寲椤甸潰:', error);
this.continueInitPage(options);
@@ -261,7 +257,12 @@
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
*/
onReady() {
-
+ // 妫�鏌ユ槸鍚︽湁options鍜宲aram
+ if (this.data.options && this.data.options.param) {
+ if (this.data.options.param === "1" || this.data.options.param === "2") {
+ this.getOpenList();
+ }
+ }
},
/**
@@ -285,22 +286,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: 浠庣櫥褰曢〉杩斿洖锛屼笉杩涜鐧诲綍妫�鏌�');
@@ -318,12 +303,6 @@
// 鍐嶆纭鏄惁浠庣櫥褰曢〉杩斿洖
if (this.getFromLogin()) {
console.log('妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝涓嶈繘琛岀櫥褰曟鏌�');
- return;
- }
-
- // 鍐嶆妫�鏌ュ叏灞�鐧诲綍鐘舵��
- if (getApp().globalData.isLoggedIn) {
- console.log('妫�娴嬪埌鍏ㄥ眬鐧诲綍鐘舵�侊紝涓嶈繘琛岀櫥褰曟鏌�');
return;
}
@@ -401,21 +380,49 @@
},
//瑙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.showToast({
+ title: '褰撳墠鐢ㄦ埛涓嶅彲瑙g粦',
+ icon: 'none',
+ duration: 2000
+ });
+ return;
+ }
+
+ if (getApp().globalData.isLoggedIn) {
+ wx.showModal({
+ title: '瑙g粦纭',
+ content: '纭畾瑕佽В缁戝綋鍓嶈处鍙峰悧锛�',
+ 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;
@@ -493,7 +500,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();
@@ -792,12 +809,25 @@
return;
}
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+ const currentProject = app.globalData.selectedProject;
+ const projectConfig = PROJECT_CONFIG[currentProject];
+ const needLogin = projectConfig && projectConfig.needLogin;
+
// 灏濊瘯鑾峰彇鐢ㄦ埛鏁版嵁鍜屽凡寮�闃�璁板綍
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;
}
@@ -820,8 +850,15 @@
console.error('userData瑙f瀽澶辫触:', e);
}
}
- // 鏃犺濡備綍閮藉皾璇曡幏鍙栫敤鎴蜂俊鎭拰寮�闃�鍒楄〃
- this.getUserDataBySession();
+
+ // 鍙湁闇�瑕佺櫥褰曠殑椤圭洰鎵嶈皟鐢╣etUserDataBySession
+ if (needLogin) {
+ console.log('initData: 褰撳墠椤圭洰闇�瑕佺櫥褰曪紝鑾峰彇鐢ㄦ埛鏁版嵁');
+ this.getUserDataBySession();
+ } else {
+ console.log('initData: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰曪紝璺宠繃鑾峰彇鐢ㄦ埛鏁版嵁');
+ }
+
this.getOpenList();
})
.catch((err) => {
@@ -832,7 +869,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();
}
});
@@ -844,7 +888,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();
}
}
@@ -856,8 +907,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();
}
}
@@ -908,7 +965,15 @@
// 鑾峰彇褰撳墠宸查�夐」鐩拰鏂伴�夋嫨鐨勯」鐩�
const currentProject = getApp().globalData.selectedProject;
const newProject = this.data.selectedProject;
- const projectName = newProject === 'JYG' ? '鍢夊唱鍏抽」鐩�' : '姘戝嫟椤圭洰';
+ const projectConfig = PROJECT_CONFIG[newProject];
+
+ if (!projectConfig) {
+ wx.showToast({
+ title: '椤圭洰閰嶇疆閿欒',
+ icon: 'none'
+ });
+ return;
+ }
// 妫�鏌ユ槸鍚﹀垏鎹簡椤圭洰锛堝鏋滃綋鍓嶉」鐩笉鍚屼簬鏂伴�夋嫨鐨勯」鐩級
const isProjectChanged = currentProject && currentProject !== newProject;
@@ -945,9 +1010,6 @@
// 淇濆瓨椤圭洰閫夋嫨鍒版湰鍦板瓨鍌�
storage.setItem('selectedProject', newProject).then(() => {
// 鏇存柊 BASEURL
- const {
- PROJECT_URLS
- } = require('../../api/config.js');
const baseUrl = PROJECT_URLS[newProject];
// 鏇存柊鍏ㄥ眬鍙橀噺
@@ -955,14 +1017,43 @@
getApp().globalData.baseUrl = baseUrl;
getApp().globalData.selectedProject = newProject;
- // 鏍规嵁椤圭洰璁剧疆瀵瑰簲鐨則ag
- if (newProject === 'JYG') {
- getApp().globalData.tag = 'ym'; // 鍢夊唱鍏抽」鐩搴攖ag涓簓m
- } else if (newProject === 'MQ') {
- getApp().globalData.tag = 'mq'; // 姘戝嫟椤圭洰瀵瑰簲tag涓簃q
+ // 閫氳繃閰嶇疆瀵硅薄缁熶竴璁剧疆椤圭洰鍙傛暟
+ 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 = operatorId;
+
+ // 濡傛灉鏈塿cId锛屼篃璁剧疆
+ if (projectConfig.vcId) {
+ getApp().globalData.vcId = projectConfig.vcId;
+ }
+
+ // 鎸佷箙鍖栧瓨鍌ㄩ」鐩弬鏁�
+ const params = {
+ operator: operatorId,
+ clientId: operatorId,
+ isLoggedIn: true,
+ 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
@@ -970,22 +1061,15 @@
// 鏄剧ず鍒囨崲鎴愬姛鎻愮ず
wx.showToast({
- title: isProjectChanged ? `宸插垏鎹㈣嚦${projectName}锛岃閲嶆柊鐧诲綍` : `宸查�夋嫨${projectName}`,
+ title: `宸查�夋嫨${projectConfig.displayName}`,
icon: 'success',
duration: 2000
});
+ setTimeout(() => {
+ console.log('椤圭洰宸插垏鎹紝姝e湪鍒濆鍖栨暟鎹�');
+ this.initData();
+ }, 1000);
- // 濡傛灉鍒囨崲浜嗛」鐩紝寤惰繜璺宠浆鍒扮櫥褰曢〉闈�
- if (isProjectChanged) {
- setTimeout(() => {
- console.log('椤圭洰宸插垏鎹紝姝e湪璺宠浆鍒扮櫥褰曢〉闈�');
- wx.redirectTo({
- url: `/pages/login/login?project=${newProject}`,
- success: () => console.log('鎴愬姛璺宠浆鍒扮櫥褰曢〉'),
- fail: (err) => console.error('璺宠浆鍒扮櫥褰曢〉澶辫触:', err)
- });
- }, 2000);
- }
}).catch(err => {
console.error('淇濆瓨椤圭洰閫夋嫨澶辫触锛�', err);
wx.showToast({
@@ -1000,20 +1084,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('宸蹭粠鍏ㄥ眬鍙橀噺妫�娴嬪埌鐧诲綍鐘舵��');
@@ -1024,6 +1094,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;
}
@@ -1057,18 +1134,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;
@@ -1099,6 +1164,12 @@
return;
}
+ // 妫�鏌ラ」鐩槸鍚﹂渶瑕佺櫥褰�
+ if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) {
+ console.log('鏈�缁堟鏌�: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject);
+ return;
+ }
+
console.log('纭闇�瑕佽烦杞埌鐧诲綍椤�');
// 璺宠浆鍓嶅啀娆℃鏌ョ櫥褰曢〉闈复鏃舵爣璁�
@@ -1106,11 +1177,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 => {
@@ -1127,40 +1198,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];
@@ -1172,24 +1226,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;
},
@@ -1208,20 +1244,6 @@
this.setData({
isFromLogin: true
});
- }
-
- // 浠庝复鏃舵爣璁颁腑妫�鏌�
- 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);
}
// 浠庨〉闈㈡暟鎹腑妫�鏌�
@@ -1254,12 +1276,6 @@
if (!fromLogin) {
console.log('涓嶆槸浠庣櫥褰曢〉杩斿洖锛屽欢杩熸鏌ョ櫥褰曠姸鎬�');
setTimeout(() => {
- // 鍐嶆妫�鏌ユ槸鍚﹀凡浠庣櫥褰曢〉杩斿洖锛堝彲鑳藉湪鍒濆鍖栬繃绋嬩腑鐘舵�佸凡鍙橈級
- if (this.getFromLogin()) {
- console.log('寤惰繜妫�鏌ワ細妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝涓嶅啀妫�鏌ョ櫥褰曠姸鎬�');
- return;
- }
-
// 浠呭湪鏈櫥褰曚笖涓嶆槸浠庣櫥褰曢〉杩斿洖鏃舵鏌ョ櫥褰曠姸鎬�
if (!getApp().globalData.isLoggedIn) {
console.log('寤惰繜妫�鏌ワ細鏈櫥褰曚笖涓嶆槸浠庣櫥褰曢〉杩斿洖锛屾墽琛岀櫥褰曠姸鎬佹鏌�');
@@ -1273,6 +1289,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湪鐧诲綍璇风◢鍊�...',
@@ -1293,9 +1316,9 @@
if (response.code === "0001") {
if (response.content.client.clientId === "") {
// 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈�
- wx.redirectTo({
- url: `/pages/login/login?project=${this.data.selectedProject}`
- });
+ // wx.navigateTo({
+ // url: `/pages/login/login?project=${this.data.selectedProject}`
+ // });
} else {
this.setData({
userName: response.content.client.clientName,
@@ -1311,8 +1334,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);
@@ -1322,14 +1347,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 => {
@@ -1344,9 +1369,9 @@
icon: 'error',
duration: 2000
});
- wx.redirectTo({
- url: `/pages/login/login?project=${this.data.selectedProject}`
- });
+ // wx.navigateTo({
+ // url: `/pages/login/login?project=${this.data.selectedProject}`
+ // });
}
}).catch(error => {
wx.hideLoading();
@@ -1355,9 +1380,9 @@
title: '鐧诲綍澶辫触锛岃閲嶈瘯',
icon: 'none'
});
- wx.redirectTo({
- url: `/pages/login/login?project=${this.data.selectedProject}`
- });
+ // wx.redirectTo({
+ // url: `/pages/login/login?project=${this.data.selectedProject}`
+ // });
});
} else {
wx.hideLoading();
@@ -1384,19 +1409,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(() => {
@@ -1475,4 +1488,18 @@
})
});
},
+ onShareAppMessage: function (options) {
+ // 璁剧疆鍒嗕韩鍐呭
+ return {
+ title: '澶х鐏屾簤鍔╂墜', // 鍒嗕韩鏍囬
+ path: '/pages/home/home', // 鍒嗕韩璺緞锛岃璺緞闇�瑕佹槸褰撳墠灏忕▼搴忓瓨鍦ㄧ殑椤甸潰璺緞
+ imageUrl: '/images/logo2.jpg', // 鍒嗕韩鍥炬爣锛屽彲浠ユ槸缃戠粶鍥剧墖璺緞鎴栨湰鍦板浘鐗囪矾寰�
+ success: function (res) {
+ // 鍒嗕韩鎴愬姛鐨勫洖璋冨嚱鏁�
+ },
+ fail: function (res) {
+ // 鍒嗕韩澶辫触鐨勫洖璋冨嚱鏁�
+ }
+ };
+ }
})
\ No newline at end of file
--
Gitblit v1.8.0