fix(路由): 修复订单列表页面,验证登录页面,而没办法后退
This commit is contained in:
@@ -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
|
||||
});
|
||||
|
||||
@@ -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);
|
||||
},
|
||||
|
||||
// 取消完善信息
|
||||
|
||||
@@ -156,11 +156,12 @@
|
||||
<ns-payment ref="choosePaymentPopup"></ns-payment>
|
||||
<ns-payment ref="choosePaymentMergePopup"></ns-payment>
|
||||
|
||||
<ns-login ref="login"></ns-login>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
<!-- #ifdef MP -->
|
||||
</mescroll-uni>
|
||||
<!-- #endif -->
|
||||
|
||||
<ns-login ref="login"></ns-login>
|
||||
<loading-cover ref="loadingCover"></loading-cover>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -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');
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user