From ab8b53407a4d2213b1b3cdaf3cf649ef6c457dae Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期一, 28 四月 2025 15:52:19 +0800
Subject: [PATCH] 优化首页项目选择逻辑,添加临时选择变量以支持未确认的项目选择;更新登录页面逻辑,确保从登录页返回时正确刷新数据并处理项目选择确认,提升用户体验。

---
 pages/login/login.js |   72 ++++++++++++++++++++++++++++++------
 1 files changed, 60 insertions(+), 12 deletions(-)

diff --git a/pages/login/login.js b/pages/login/login.js
index 090adb9..f5c4db2 100644
--- a/pages/login/login.js
+++ b/pages/login/login.js
@@ -287,11 +287,13 @@
         console.log('妫�娴嬪埌鏈変笂涓�椤碉紝浣跨敤navigateBack杩斿洖');
         wx.navigateBack({
           delta: 1,
-          success: () => console.log('navigateBack鎴愬姛'),
-          fail: (err) => {
-            console.error('navigateBack澶辫触:', err);
-            // 濡傛灉navigateBack澶辫触锛屽皾璇時eLaunch
-            this.backupReturnToHome();
+          success: () => {
+            // 閫氳繃eventChannel鍚戜笂涓�涓〉闈紶閫掓暟鎹�
+            const eventChannel = pages[pages.length - 2].getOpenerEventChannel();
+            if (eventChannel && eventChannel.emit) {
+              eventChannel.emit('fromLogin', { fromLogin: true });
+            }
+            console.log('宸叉垚鍔熻繑鍥炲埌涓婁竴椤甸潰');
           }
         });
       } else {
@@ -438,7 +440,11 @@
             // 淇濆瓨userData淇℃伅锛屽寘鍚玸essionId鍜宼ag
             const userData = JSON.stringify({
               sessionId: String(data.content.sessionId),
-              tag: tag
+              tag: this.data.selectedProject === 'JYG' ? 'ym' : (this.data.selectedProject === 'MQ' ? 'mq' : 'ym'),
+              project: this.data.selectedProject,
+              phone: this.data.phone,
+              clientName: data.content.clientName || '',
+              clientId: String(data.content.clientId)
             });
             return storage.setItem("userData", userData);
           })
@@ -488,12 +494,54 @@
       success: () => {
         // 寤惰繜璺宠浆锛岀‘淇漈oast鏄剧ず瀹屾垚
         setTimeout(() => {
-          console.log('鐧诲綍鎴愬姛锛屽噯澶囪烦杞埌棣栭〉');
-          // 璺宠浆鍒伴椤碉紝浣跨敤reLaunch鑰屼笉鏄痳edirectTo
-          wx.redirectTo({
-            url: '/pages/home/home'
-          });
-        });
+          console.log('鐧诲綍鎴愬姛锛屽噯澶囪繑鍥炲埌棣栭〉');
+          
+          // 鑾峰彇褰撳墠椤甸潰鏍�
+          const pages = getCurrentPages();
+          
+          // 妫�鏌ユ槸鍚︽湁涓婁竴涓〉闈㈠彲杩斿洖
+          if (pages.length > 1) {
+            // 搴旂敤涓�涓妧宸э紝鍏堣缃墠涓�涓〉闈㈢殑鍙傛暟
+            try {
+              if (pages.length > 1) {
+                const prevPage = pages[pages.length - 2];
+                if (prevPage && prevPage.options) {
+                  // 璁剧疆 fromLogin 鍙傛暟
+                  prevPage.options.fromLogin = 'true';
+                  
+                  // 濡傛灉椤甸潰鏈塷nLoad鏂规硶锛屽垯鍙兘闇�瑕佷紶閫掑弬鏁�
+                  if (typeof prevPage.onLoad === 'function') {
+                    let newOptions = {...prevPage.options};
+                    newOptions.fromLogin = 'true';
+                    prevPage.onLoad(newOptions);
+                  }
+                }
+              }
+            } catch (e) {
+              console.error('璁剧疆鍓嶄竴椤靛弬鏁板け璐�:', e);
+            }
+            
+            // 杩斿洖鍒颁笂涓�涓〉闈�
+            wx.navigateBack({
+              delta: 1,
+              success: () => {
+                console.log('宸叉垚鍔熻繑鍥炲埌涓婁竴椤甸潰');
+              },
+              fail: (err) => {
+                console.error('navigateBack澶辫触:', err);
+                // 濡傛灉杩斿洖澶辫触锛屼娇鐢ㄩ噸瀹氬悜
+                wx.redirectTo({
+                  url: '/pages/home/home?fromLogin=true'
+                });
+              }
+            });
+          } else {
+            // 濡傛灉娌℃湁涓婁竴涓〉闈紝鍒欓噸鏂版墦寮�home椤甸潰
+            wx.redirectTo({
+              url: '/pages/home/home?fromLogin=true'
+            });
+          }
+        }, 1500);
       }
     });
   },

--
Gitblit v1.8.0