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