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 |  586 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 289 insertions(+), 297 deletions(-)

diff --git a/pages/home/home.js b/pages/home/home.js
index e990d66..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({
 
   /**
@@ -36,7 +65,8 @@
     selectedProject: '',
     avatarTapCount: 0,
     isFromLogin: false,
-    showTipDialog:''
+    showTipDialog: '',
+    projectConfig: PROJECT_CONFIG // 娣诲姞椤圭洰閰嶇疆鍒癲ata涓�
   },
 
   openValve: function (e) {
@@ -61,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);
-      });
+
   },
 
 
@@ -92,12 +117,12 @@
    */
   onLoad(options) {
     console.log('home椤甸潰onLoad寮�濮嬶紝鍙傛暟:', options);
-     //褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂�
+    //褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂�
     if (options.param === "1" || options.param === "2") {
-        this.setData({
-          options: options
-        })
-      }
+      this.setData({
+        options: options
+      })
+    }
     // 妫�鏌ユ槸鍚︿粠鐧诲綍椤甸潰杩斿洖
     let fromLogin = false;
 
@@ -105,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);
@@ -169,44 +171,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);
           }
 
           // 缁х画鍒濆鍖栭〉闈�
@@ -235,7 +232,7 @@
         console.log('鑾峰彇瀛樺偍鏁版嵁涓柇:', error.message);
 
         // 濡傛灉鏄粠鐧诲綍椤佃繑鍥炴垨宸茬櫥褰曪紝涓嶅啀璺宠浆
-        if (fromLogin || getApp().globalData.isLoggedIn) {
+        if (fromLogin) {
           console.log('浠庣櫥褰曢〉杩斿洖鎴栧凡鐧诲綍锛岀户缁垵濮嬪寲椤甸潰');
           this.continueInitPage(options);
           return;
@@ -289,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: 浠庣櫥褰曢〉杩斿洖锛屼笉杩涜鐧诲綍妫�鏌�');
@@ -322,12 +303,6 @@
     // 鍐嶆纭鏄惁浠庣櫥褰曢〉杩斿洖
     if (this.getFromLogin()) {
       console.log('妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝涓嶈繘琛岀櫥褰曟鏌�');
-      return;
-    }
-
-    // 鍐嶆妫�鏌ュ叏灞�鐧诲綍鐘舵��
-    if (getApp().globalData.isLoggedIn) {
-      console.log('妫�娴嬪埌鍏ㄥ眬鐧诲綍鐘舵�侊紝涓嶈繘琛岀櫥褰曟鏌�');
       return;
     }
 
@@ -405,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;
@@ -497,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();
 
@@ -796,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;
       }
@@ -824,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) => {
@@ -836,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();
             }
           });
@@ -848,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();
         }
       }
@@ -860,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();
       }
     }
@@ -912,9 +965,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;
@@ -951,9 +1010,6 @@
     // 淇濆瓨椤圭洰閫夋嫨鍒版湰鍦板瓨鍌�
     storage.setItem('selectedProject', newProject).then(() => {
       // 鏇存柊 BASEURL
-      const {
-        PROJECT_URLS
-      } = require('../../api/config.js');
       const baseUrl = PROJECT_URLS[newProject];
 
       // 鏇存柊鍏ㄥ眬鍙橀噺
@@ -961,49 +1017,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 = '2025030517095000006';
-        getApp().globalData.clientId = '2025030517095000006';
+      // 閫氳繃閰嶇疆瀵硅薄缁熶竴璁剧疆椤圭洰鍙傛暟
+      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 = '2025030517095000006';
-        this.setData({
-          userName: "姘戝嫟椤圭洰"
-        });
-        // 鎸佷箙鍖栧瓨鍌ㄦ皯鍕ら」鐩弬鏁�
-        storage.setItem('MQ_params', {
-          operator: '2025030517095000006',
-          clientId: '2025030517095000006',
+        getApp().globalData.sessionId = operatorId;
+        
+        // 濡傛灉鏈塿cId锛屼篃璁剧疆
+        if (projectConfig.vcId) {
+          getApp().globalData.vcId = projectConfig.vcId;
+        }
+        
+        // 鎸佷箙鍖栧瓨鍌ㄩ」鐩弬鏁�
+        const params = {
+          operator: operatorId,
+          clientId: operatorId,
           isLoggedIn: true,
-          sessionId: '2025030517095000006'
-        });
-      } 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
@@ -1011,16 +1061,15 @@
 
       // 鏄剧ず鍒囨崲鎴愬姛鎻愮ず
       wx.showToast({
-        title: `宸查�夋嫨${projectName}`,
+        title: `宸查�夋嫨${projectConfig.displayName}`,
         icon: 'success',
         duration: 2000
       });
-
-      // 鐩存帴鍒濆鍖栨暟鎹�
       setTimeout(() => {
         console.log('椤圭洰宸插垏鎹紝姝e湪鍒濆鍖栨暟鎹�');
         this.initData();
       }, 1000);
+
     }).catch(err => {
       console.error('淇濆瓨椤圭洰閫夋嫨澶辫触锛�', err);
       wx.showToast({
@@ -1035,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('宸蹭粠鍏ㄥ眬鍙橀噺妫�娴嬪埌鐧诲綍鐘舵��');
@@ -1059,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;
     }
 
@@ -1092,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;
@@ -1134,6 +1164,12 @@
             return;
           }
 
+          // 妫�鏌ラ」鐩槸鍚﹂渶瑕佺櫥褰�
+          if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) {
+            console.log('鏈�缁堟鏌�: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject);
+            return;
+          }
+
           console.log('纭闇�瑕佽烦杞埌鐧诲綍椤�');
 
           // 璺宠浆鍓嶅啀娆℃鏌ョ櫥褰曢〉闈复鏃舵爣璁�
@@ -1141,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 => {
@@ -1162,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];
@@ -1207,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;
   },
@@ -1243,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);
     }
 
     // 浠庨〉闈㈡暟鎹腑妫�鏌�
@@ -1289,12 +1276,6 @@
     if (!fromLogin) {
       console.log('涓嶆槸浠庣櫥褰曢〉杩斿洖锛屽欢杩熸鏌ョ櫥褰曠姸鎬�');
       setTimeout(() => {
-        // 鍐嶆妫�鏌ユ槸鍚﹀凡浠庣櫥褰曢〉杩斿洖锛堝彲鑳藉湪鍒濆鍖栬繃绋嬩腑鐘舵�佸凡鍙橈級
-        if (this.getFromLogin()) {
-          console.log('寤惰繜妫�鏌ワ細妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝涓嶅啀妫�鏌ョ櫥褰曠姸鎬�');
-          return;
-        }
-
         // 浠呭湪鏈櫥褰曚笖涓嶆槸浠庣櫥褰曢〉杩斿洖鏃舵鏌ョ櫥褰曠姸鎬�
         if (!getApp().globalData.isLoggedIn) {
           console.log('寤惰繜妫�鏌ワ細鏈櫥褰曚笖涓嶆槸浠庣櫥褰曢〉杩斿洖锛屾墽琛岀櫥褰曠姸鎬佹鏌�');
@@ -1308,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湪鐧诲綍璇风◢鍊�...',
@@ -1328,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,
@@ -1346,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);
@@ -1357,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 => {
@@ -1379,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();
@@ -1390,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();
@@ -1419,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(() => {
@@ -1510,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