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