Files
lucky_shop/pages_tool/member/public/js/member-public.js
ZF sun c2b38476ea refactor(lang): 优化多语言翻译函数,支持传入默认值
修改lang.js的翻译方法,支持传入默认值参数,当找不到对应翻译时使用传入的默认值;同时更新member-public.js中的调用方式,简化多语言调用代码
2026-06-16 18:03:52 +08:00

88 lines
2.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export default {
methods: {
// 清除登录态(token / 用户信息 / 购物车 / 本地存储)
clearLoginState() {
this.$store.commit('setToken', '');
this.$store.commit('setMemberInfo', '');
this.$store.dispatch('emptyCart');
uni.removeStorageSync('authInfo');
uni.removeStorageSync('privacyAgreed');
},
// 退出登录
logout() {
uni.showModal({
title: this.$lang('logoutTitle', '提示'),
content: this.$lang('logoutContent', '确定要退出登录吗'),
success: (res) => {
if (res.confirm) {
this.clearLoginState();
this.$util.redirectTo(this.$util.MEMBER_PAGE_URL);
}
}
});
},
// 账号注销入口:先查状态,根据状态分流
cancellation() {
this.getCancelStatus();
},
// 查询注销状态并跳转对应页面
// status: undefined/null → 未申请 → 协议页 cancellation.vue
// status: 0 → 审核中 → 状态页 cancelstatus.vue
// status: 1 → 通过 → 成功页 cancelsuccess.vue
// status: -1 → 拒绝 → 拒绝页 cancelrefuse.vue
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');
} else if (res.data.status == 1) {
this.$util.redirectTo('/pages_tool/member/cancelsuccess');
} else {
this.$util.redirectTo('/pages_tool/member/cancelrefuse');
}
} else {
this.$util.redirectTo('/pages_tool/member/cancellation');
}
}
}
});
},
// 提交注销申请并清理登录态(供 assets.vue 等页面调用)
submitCancelApply(options = {}) {
uni.showModal({
title: options.title || '风险提示',
content: options.content || '确定要注销当前账号吗?',
confirmColor: '#000000',
success: res => {
if (res.confirm) {
this.$api.sendRequest({
url: '/membercancel/api/membercancel/apply',
success: rres => {
if (rres.code >= 0) {
if (options.clearStateAndRedirect) {
this.clearLoginState();
this.$util.redirectTo(this.$util.MEMBER_PAGE_URL);
} else {
this.$util.redirectTo('/pages_tool/member/cancelstatus');
}
} else {
this.$util.showToast({
title: rres.message
});
}
}
});
}
}
});
}
}
};