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