refactor(member): 提取公共登录态清理和注销逻辑到mixin

重构会员相关页面的重复代码,将清除登录态、退出登录、账号注销相关逻辑抽离到公共mixin中,统一复用代码并减少重复维护成本
This commit is contained in:
2026-06-16 17:34:56 +08:00
parent c01a026149
commit e9ee61f509
6 changed files with 109 additions and 155 deletions

View File

@@ -1,4 +1,5 @@
import validate from '@/common/js/validate.js';
import memberPublic from './member-public.js';
export default {
data() {
@@ -136,6 +137,7 @@ export default {
}
},
methods: {
...memberPublic.methods,
// 初始化语言
initLang() {
//获取语言列表
@@ -239,63 +241,6 @@ export default {
});
}
},
cancellation() {
uni.showModal({
title: '风险提示',
content: '确定要注销当前账号吗?',
confirmColor: '#000000',
success: res => {
if (res.confirm) {
this.$api.sendRequest({
url: '/membercancel/api/membercancel/apply',
success: rres => {
let cancellation_condition = rres.data.is_audit;
if (rres.code >= 0) {
this.$store.commit('setToken', '');
this.$store.commit('setMemberInfo', '');
this.$store.dispatch('emptyCart');
this.$store.dispatch('emptyCart');
uni.removeStorageSync('authInfo');
this.$util.redirectTo(this.$util.MEMBER_PAGE_URL);
} else {
this.$util.showToast({
title: rres.message
});
}
}
});
}
}
});
},
getCancelStatus() {
this.$api.sendRequest({
url: '/membercancel/api/membercancel/info',
success: res => {
if (res.code >= 0) {
if (res.data) {
if (res.data.status == 0) {
this.$util.redirectTo('/pages_tool/member/cancelstatus', {
back: '/pages_tool/member/info'
});
} else if (res.data.status == 1) {
this.$util.redirectTo('/pages_tool/member/cancelsuccess', {
back: '/pages_tool/member/info'
});
} else {
this.$util.redirectTo('/pages_tool/member/cancelrefuse', {
back: '/pages_tool/member/info'
});
}
} else {
this.$util.redirectTo('/pages_tool/member/assets', {
back: '/pages_tool/member/info'
});
}
}
}
});
},
// 导航返回
NavReturn() {
uni.navigateBack({
@@ -317,23 +262,6 @@ export default {
}
});
},
// 退出登录
logout() {
uni.showModal({
title: '提示',
content: '确定要退出登录吗',
success: (res) => {
if (res.confirm) {
this.$store.commit('setToken', '');
this.$store.commit('setMemberInfo', '');
this.$store.dispatch('emptyCart');
this.$store.dispatch('emptyCart');
uni.removeStorageSync('authInfo');
this.$util.redirectTo(this.$util.MEMBER_PAGE_URL);
}
}
});
},
headImage() {
this.$util.redirectTo("/pages_tool/member/modify_face");
},