refactor: 统一替换登录跳转逻辑为通用方法

将项目内多处手动调用$refs.login.open的登录跳转逻辑,统一替换为新增的redirectTologin通用方法,简化代码并提升维护性,同时统一处理了延迟和nextTick调用逻辑。
This commit is contained in:
2026-06-27 16:52:25 +08:00
parent aee630b546
commit f794a2ae27
38 changed files with 130 additions and 155 deletions

View File

@@ -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);
}
}
}
}

View File

@@ -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() {

View File

@@ -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;
}