From 90820ade3077a213241a949ad097aaf818c1965d Mon Sep 17 00:00:00 2001 From: ZF sun <34314687@qq.com> Date: Wed, 7 Jan 2026 14:02:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E8=B7=AF=E7=94=B1):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E9=A1=B5=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=99=BB=E5=BD=95=E9=A1=B5=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E8=80=8C=E6=B2=A1=E5=8A=9E=E6=B3=95=E5=90=8E=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/js/util.js | 18 +++++++++--------- components/ns-login/ns-login.vue | 14 +++++++------- pages_order/list.vue | 7 ++++--- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/common/js/util.js b/common/js/util.js index d47f9e7..27d3725 100644 --- a/common/js/util.js +++ b/common/js/util.js @@ -112,14 +112,14 @@ export default { /** * 页面跳转 * @param {string} to 跳转链接 /pages/idnex/index - * @param {Object} param 参数 {key : value, ...} - * @param {string} mode 模式 + * @param {Object} param 参数 {key : value, ...}, 默认{} + * @param {string} mode 模式 navigateTo、redirectTo、reLaunch、tabbar, 默认navigateTo */ - redirectTo(to, param, mode) { + redirectTo(to, param = {}, mode = 'navigateTo') { let url = to; // 替换url中的前缀 - console.log('redirectTo', to, param, mode); + console.log('页面跳转 redirectTo', to, param, mode); url = adaptSubpackageUrl(url); console.log('adaptSubpackageUrl', url); @@ -146,26 +146,26 @@ export default { // 如果url不包含tabBarList中的路径,根据mode判断跳转方式 switch (mode) { case 'tabbar': - // 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。 + // 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。重置页面栈,仅保留 tabBar 页面 uni.switchTab({ url }); break; case 'redirectTo': - // 关闭当前页面,跳转到应用内的某个页面。 + // 关闭当前页面,跳转到应用内的某个页面。替换栈顶页面,长度不变(上限10层) uni.redirectTo({ url }); break; case 'reLaunch': - // 关闭所有页面,打开到应用内的某个页面。 + // 关闭所有页面,打开到应用内的某个页面。清空栈后打开新页面,长度=1 uni.reLaunch({ url }); break; default: - // 保留当前页面,跳转到应用内的某个页面 - console.log('保留当前页面,跳转到应用内的某个页面', url); + // 保留当前页面,跳转到应用内的某个页面,新增页面到栈顶,长度+1(上限10层) + console.log('保留当前页面,navigateTo跳转到应用内的某个页面', url); uni.navigateTo({ url }); diff --git a/components/ns-login/ns-login.vue b/components/ns-login/ns-login.vue index 8172f78..f246c57 100644 --- a/components/ns-login/ns-login.vue +++ b/components/ns-login/ns-login.vue @@ -254,7 +254,7 @@ export default { }, // 打开弹窗 - open(url) { + open(url, mode) { if (url) this.url = url; // #ifdef MP this.getCode(authData => { @@ -270,24 +270,24 @@ export default { else this.getCode(); } else if (this.$util.isWeiXin()) { // 微信浏览器环境,显示登录页面 - this.toLogin(); + this.toLogin(mode); } else { // 其他浏览器环境,显示登录页面 - this.toLogin(); + this.toLogin(mode); } // #endif // #ifndef MP || H5 - this.toLogin(); + this.toLogin(mode); // #endif }, // 跳转去登录页 - toLogin() { + toLogin(mode) { if (this.url) this.$util.redirectTo('/pages_tool/login/login', { back: encodeURIComponent(this.url) - }); - else this.$util.redirectTo('/pages_tool/login/login'); + }, mode); + else this.$util.redirectTo('/pages_tool/login/login', {}, mode); }, // 取消完善信息 diff --git a/pages_order/list.vue b/pages_order/list.vue index d910357..6587fe6 100644 --- a/pages_order/list.vue +++ b/pages_order/list.vue @@ -156,11 +156,12 @@ - - + + + @@ -207,7 +208,7 @@ export default { if (this.$refs.mescroll) this.$refs.mescroll.refresh(); } else { this.$nextTick(() => { - this.$refs.login.open('/pages_order/list?status=' + this.orderStatus); + this.$refs?.login?.open('/pages_order/list?status=' + this.orderStatus, 'redirectTo'); }) } },