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