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');
})
}
},