refactor: 统一替换登录跳转逻辑为通用方法
将项目内多处手动调用$refs.login.open的登录跳转逻辑,统一替换为新增的redirectTologin通用方法,简化代码并提升维护性,同时统一处理了延迟和nextTick调用逻辑。
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
export default {
|
||||
methods: {
|
||||
// 跳转至登录页
|
||||
// 跳转至登录页(跨平台兼容)
|
||||
toLogin(url) {
|
||||
const currentRoute = this.$util.getCurrentRoute();
|
||||
const backUrl = url ?? (currentRoute && currentRoute.path ? currentRoute.path : '');
|
||||
this.$refs.login.open(backUrl, 'redirectTo');
|
||||
|
||||
this.redirectTologin(backUrl);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,12 +88,10 @@ export default {
|
||||
},
|
||||
onShow() {
|
||||
if (!this.storeToken) {
|
||||
// 使用redirectTo模式:当前页被登录页替换,返回时直接回到上一页,不会产生循环
|
||||
setTimeout(() => {
|
||||
this.$refs.login.open('/pages_tool/member/info', 'redirectTo');
|
||||
}, 100);
|
||||
this.redirectTologin('/pages_tool/member/info');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.getInfo();
|
||||
},
|
||||
onHide() {
|
||||
|
||||
@@ -45,9 +45,7 @@ export default {
|
||||
},
|
||||
onShow() {
|
||||
if (!this.storeToken) {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.login.open('/pages_tool/member/signin', 'redirectTo');
|
||||
});
|
||||
this.redirectTologin('/pages_tool/member/signin');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user