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

@@ -65,9 +65,8 @@ export default {
}, 1000);
if (!this.storeToken) {
this.$nextTick(() => {
this.$refs.login.open('/pages_promotion/fenxiao/childfenxiao', 'redirectTo');
});
this.redirectTologin('/pages_promotion/fenxiao/childfenxiao');
return;
}
},
methods: {

View File

@@ -290,16 +290,14 @@ export default {
},
mixins: [fenxiaoWords],
onShow() {
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('center'));
if (this.storeToken) {
this.checkFenxiaoIsStart();
} else {
this.$nextTick(() => {
this.$refs.login.open('/pages_promotion/fenxiao/index', 'redirectTo');
});
if (!this.storeToken) {
this.redirectTologin('/pages_promotion/fenxiao/index');
return;
}
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('center'));
this.checkFenxiaoIsStart();
this.getTemplateId();
this.getPoster();
},

View File

@@ -155,9 +155,7 @@ export default {
if (this.fenxiaoWords && this.fenxiaoWords.concept) this.$langConfig.title(this.fenxiaoWords.concept + this.$lang('orderSuffix'));
if (!this.storeToken) {
this.$nextTick(() => {
this.$refs.login.open('/pages_promotion/fenxiao/order', 'redirectTo');
});
this.redirectTologin('/pages_promotion/fenxiao/order');
}
},
methods: {

View File

@@ -115,9 +115,7 @@ export default {
if (this.storeToken) {
this.getOrderData();
} else {
this.$nextTick(() => {
this.$refs.login.open('/pages_promotion/fenxiao/order_detail?id=' + this.orderId, 'redirectTo');
});
this.redirectTologin('/pages_promotion/fenxiao/order_detail?id=' + this.orderId);
}
},
methods: {

View File

@@ -94,9 +94,7 @@ export default {
this.getPromoteRule();
this.getFenxiaoDetail();
} else {
this.$nextTick(() => {
this.$refs.login.open('/pages_promotion/fenxiao/promote_code', 'redirectTo');
});
this.redirectTologin('/pages_promotion/fenxiao/promote_code');
}
},
onLoad() {

View File

@@ -174,9 +174,7 @@ export default {
}
} else {
this.$nextTick(() => {
this.$refs.login.open('/pages_promotion/fenxiao/promote_code', 'redirectTo');
});
this.redirectTologin('/pages_promotion/fenxiao/promote_code');
}
},
onShow() {

View File

@@ -122,9 +122,7 @@ export default {
this.getFenXiaoLevel();
if (!this.storeToken) {
this.$nextTick(() => {
this.$refs.login.open('/pages_promotion/fenxiao/team', 'redirectTo');
});
this.redirectTologin('/pages_promotion/fenxiao/team');
}
},
methods: {

View File

@@ -78,9 +78,7 @@ export default {
if (this.fenxiaoWords && this.fenxiaoWords.withdraw) this.$langConfig.title(this.fenxiaoWords.withdraw + this.$lang('detailSuffix'));
if (!this.storeToken) {
this.$nextTick(() => {
this.$refs.login.open('/pages_promotion/fenxiao/withdraw_list', 'redirectTo');
});
this.redirectTologin('/pages_promotion/fenxiao/withdraw_list');
}
},
mixins: [fenxiaoWords],

View File

@@ -218,7 +218,7 @@
},
toLogin() {
this.$refs.login.open('/pages_goods/category', 'redirectTo');
this.redirectTologin('/pages_goods/category');
}
},
// onPullDownRefresh() {

View File

@@ -442,7 +442,7 @@ export default {
// 立即购买
exchange() {
if (!this.storeToken) {
this.$refs.login.open('/pages_promotion/point/detail?id=' + this.id, 'redirectTo');
this.redirectTologin('/pages_promotion/point/detail?id=' + this.id);
return;
}
this.$refs.goodsSku.show('point');

View File

@@ -490,7 +490,7 @@ export default {
},
//跳转至登录页面
login() {
this.$refs.login.open('/pages_promotion/point/list', 'redirectTo');
this.redirectTologin('/pages_promotion/point/list');
},
imgError(index) {
this.goodsList[index].image = this.$util.getDefaultImage().goods;
@@ -521,7 +521,8 @@ export default {
*/
redirect(url) {
if (!this.storeToken) {
this.$refs.login.open(url, 'redirectTo');
this.redirectTologin(url);
return;
} else {
this.$util.redirectTo(url);
}

View File

@@ -124,14 +124,13 @@ export default {
}, 2000);
}
}, 1000);
if (!this.storeToken) {
this.$nextTick(() => {
this.$refs.login.open('/pages_promotion/point/order_list', 'redirectTo');
});
}
},
onShow() {
if (!this.storeToken) {
this.redirectTologin('/pages_promotion/point/order_list');
return;
}
if (this.$refs.mescroll) this.$refs.mescroll.refresh();
},
watch: {