From 34e20ac6933c3d79fe93caf228e830c7193c016b Mon Sep 17 00:00:00 2001 From: colin Date: Sat, 29 Mar 2025 08:25:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/vben5/apps/app-antd/src/store/auth.ts | 76 ++++++++++++---------- 1 file changed, 41 insertions(+), 35 deletions(-) diff --git a/apps/vben5/apps/app-antd/src/store/auth.ts b/apps/vben5/apps/app-antd/src/store/auth.ts index f816f0b2f..94227a382 100644 --- a/apps/vben5/apps/app-antd/src/store/auth.ts +++ b/apps/vben5/apps/app-antd/src/store/auth.ts @@ -40,8 +40,13 @@ export const useAuthStore = defineStore('auth', () => { tenantId?: string, onSuccess?: () => Promise | void, ) { - const result = await qrcodeLoginApi({ key, tenantId }); - return await _loginSuccess(result, onSuccess); + try { + loginLoading.value = true; + const result = await qrcodeLoginApi({ key, tenantId }); + return await _loginSuccess(result, onSuccess); + } finally { + loginLoading.value = false; + } } /** @@ -53,8 +58,13 @@ export const useAuthStore = defineStore('auth', () => { params: Recordable, onSuccess?: () => Promise | void, ) { - const result = await loginApi(params as any); - return await _loginSuccess(result, onSuccess); + try { + loginLoading.value = true; + const result = await loginApi(params as any); + return await _loginSuccess(result, onSuccess); + } finally { + loginLoading.value = false; + } } async function logout(redirect: boolean = true) { @@ -116,38 +126,34 @@ export const useAuthStore = defineStore('auth', () => { ) { // 异步处理用户登录操作并获取 accessToken let userInfo: null | UserInfo = null; - try { - loginLoading.value = true; - const { accessToken, tokenType, refreshToken } = loginResult; - // 如果成功获取到 accessToken - if (accessToken) { - accessStore.setAccessToken(`${tokenType} ${accessToken}`); - accessStore.setRefreshToken(refreshToken); - - userInfo = await fetchUserInfo(); - - userStore.setUserInfo(userInfo); - - publish(Events.UserLogin, userInfo); - - if (accessStore.loginExpired) { - accessStore.setLoginExpired(false); - } else { - onSuccess - ? await onSuccess?.() - : await router.push(userInfo.homePath || DEFAULT_HOME_PATH); - } - - if (userInfo?.realName) { - notification.success({ - description: `${$t('authentication.loginSuccessDesc')}:${userInfo?.realName}`, - duration: 3, - message: $t('authentication.loginSuccess'), - }); - } + loginLoading.value = true; + const { accessToken, tokenType, refreshToken } = loginResult; + // 如果成功获取到 accessToken + if (accessToken) { + accessStore.setAccessToken(`${tokenType} ${accessToken}`); + accessStore.setRefreshToken(refreshToken); + + userInfo = await fetchUserInfo(); + + userStore.setUserInfo(userInfo); + + publish(Events.UserLogin, userInfo); + + if (accessStore.loginExpired) { + accessStore.setLoginExpired(false); + } else { + onSuccess + ? await onSuccess?.() + : await router.push(userInfo.homePath || DEFAULT_HOME_PATH); + } + + if (userInfo?.realName) { + notification.success({ + description: `${$t('authentication.loginSuccessDesc')}:${userInfo?.realName}`, + duration: 3, + message: $t('authentication.loginSuccess'), + }); } - } finally { - loginLoading.value = false; } return {