From b9be27ab85cf7c2e9f02450f14d15820555bba4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E9=B9=8F?= <2916022834@qq.com> Date: Thu, 21 May 2026 11:36:14 +0800 Subject: [PATCH] aaa --- src/App.vue | 1 + src/api/account.ts | 37 +++++++++++++++++++++ src/utils/request.ts | 8 ++--- src/views/login/retrieve-password.vue | 47 +++++++++++++++++---------- src/views/shopping-drawer.vue | 2 +- 5 files changed, 73 insertions(+), 22 deletions(-) diff --git a/src/App.vue b/src/App.vue index 40ff505..0b9886e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -15,6 +15,7 @@ import ShoppingDrawer from '@/views/shopping-drawer.vue' const globalStore = useGlobalStore() const loading = computed(() => globalStore.state.loading) + globalStore.setLoading(false) const viewRef = ref() const viewStyle = ref({ '--app-view-width': '', diff --git a/src/api/account.ts b/src/api/account.ts index 986ccf2..9f1652f 100644 --- a/src/api/account.ts +++ b/src/api/account.ts @@ -60,3 +60,40 @@ export const AccountSendVerifyCode = (data) => { loading: true }) } +/** + * 忘记密码:重置密码 + * @param data - 包含邮箱的参数 + * @param data.email - 邮箱 + * @param data.password - 密码 + * @param data.emailVerifyCode - 验证码 +*/ +export const AccountResetPassword = (data) => { + return request({ + url: '/buyer/account/resetPassword', + method: 'post', + data, + loading: true + }) +} +/** + * 通用验证码校验 + * @param data - 包含邮箱的参数 + * @param data.email - 邮箱 + * @param data.emailVerifyCode - 验证码 + * @param data.operationType - 操作类型:FORGET_PWD, BIND_MAILBOX +*/ +export const AccountVerifyCode = (data) => { + return request({ + url: '/buyer/account/verifyCode', + method: 'post', + data, + loading: true + }) +} + +/** + * 变更邮箱:发送新邮箱验证码 + * @param data - 包含邮箱的参数 + * @param data.email - 邮箱 + * @param data.operationType - 操作类型:BIND_MAILBOX +*/ diff --git a/src/utils/request.ts b/src/utils/request.ts index 29fd714..01bb1ed 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -76,8 +76,9 @@ service.interceptors.response.use( // 处理异常的情况 // console.log(res) if (res.errCode != 0) { - ElMessage.error(res.message) - return Promise.reject(new Error(res.errMsg || res.message || 'error')) + let msg = res.errMsg || res.message || 'error' + ElMessage.error(msg) + return Promise.reject(new Error(msg)) } else { // 默认只返回data,不返回状态码和message // 通过 meta 中的 responseAll 配置来取决后台是否返回所有数据(包括状态码,message和data) @@ -109,8 +110,7 @@ service.interceptors.response.use( message: 'Please log in and try again.', duration: 5000 }) - router.push('/login') - useUserInfoStore().logOut(false) + useUserInfoStore().logout() return Promise.reject(false) } error.config && removePending(error.config) diff --git a/src/views/login/retrieve-password.vue b/src/views/login/retrieve-password.vue index 30a657e..2bc271a 100644 --- a/src/views/login/retrieve-password.vue +++ b/src/views/login/retrieve-password.vue @@ -71,6 +71,7 @@ diff --git a/src/views/shopping-drawer.vue b/src/views/shopping-drawer.vue index 2ff3664..2a14152 100644 --- a/src/views/shopping-drawer.vue +++ b/src/views/shopping-drawer.vue @@ -12,7 +12,7 @@ import img from '@/assets/images/brand-null.png' let data = reactive({ }) const router = useRouter() -const isShoppingShow = ref(true) +const isShoppingShow = ref(false) const shoppingClose = () => { isShoppingShow.value = false }