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 | 90 +++++++++++++++++++++++++++++++++------------
pages/home/home.wxml | 4 ++
2 files changed, 70 insertions(+), 24 deletions(-)
diff --git a/pages/home/home.js b/pages/home/home.js
index ad54461..b139784 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -109,18 +109,6 @@
},
- //鑾峰彇鐢ㄦ埛鏁版嵁
- getUserData() {
- get('/items')
- .then((data) => {
- this.setData({
- items: data
- });
- })
- .catch((error) => {
- console.error('Failed to fetch data:', error);
- });
- },
@@ -392,6 +380,20 @@
},
//瑙g粦鐢ㄦ埛
unbind() {
+ // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+ 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粦纭',
@@ -651,11 +653,11 @@
}
} else {
// 鍏朵粬閿欒锛屾樉绀洪敊璇俊鎭�
- // wx.showToast({
- // title: err.msg || '鑾峰彇鐢ㄦ埛淇℃伅澶辫触',
- // icon: 'none',
- // duration: 3000
- // });
+ wx.showToast({
+ title: err.msg || '鑾峰彇鐢ㄦ埛淇℃伅澶辫触',
+ icon: 'none',
+ duration: 3000
+ });
}
});
},
@@ -807,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;
}
@@ -835,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) => {
@@ -847,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();
}
});
@@ -859,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();
}
}
@@ -871,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();
}
}
diff --git a/pages/home/home.wxml b/pages/home/home.wxml
index 3b1e10a..384154d 100644
--- a/pages/home/home.wxml
+++ b/pages/home/home.wxml
@@ -97,6 +97,10 @@
<radio value="TEST" checked="{{selectedProject === 'TEST'}}" color="#1890FF" />
<text>娴嬭瘯椤圭洰</text>
</label>
+ <label class="project-radio {{selectedProject === 'SCHOOL' ? 'project-radio-selected' : ''}}">
+ <radio value="SCHOOL" checked="{{selectedProject === 'SCHOOL'}}" color="#1890FF" />
+ <text>瀛︽牎椤圭洰</text>
+ </label>
</radio-group>
</view>
<view class="project-modal-footer">
--
Gitblit v1.8.0