From 55113d97a17ea55dff6d1d63251233ab0fda27c2 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Sat, 19 Aug 2023 05:43:49 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=9A=94=E7=A6=BBsso=E5=A4=9A?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/user.ts | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index e747e16..bee6ce5 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -159,18 +159,25 @@ export const useUserStore = defineStore({ /** 获取用户信息 */ async getUserInfoAction(): Promise { const { apiUrl } = useGlobSetting(); - const userInfo = await getUserInfo(); - userInfo.avatar = userInfo.avatar - ? isUrl(userInfo.avatar) - ? userInfo.avatar - : apiUrl + userInfo.avatar - : await urlToBase64(defaultAvatar); - userInfo.tenantIds = String(userInfo.tenantId).split(','); - // 存储用户扩展信息,便于鉴权 - this.setUserInfo(userInfo); - this.setRoleIds(userInfo.roleIds); - this.setPermissions(userInfo.permissions); - return userInfo; + const { t } = useI18n(); + try { + const userInfo = await getUserInfo(); + userInfo.avatar = userInfo.avatar + ? isUrl(userInfo.avatar) + ? userInfo.avatar + : apiUrl + userInfo.avatar + : await urlToBase64(defaultAvatar); + userInfo.tenantIds = String(userInfo.tenantId).split(','); + // 存储用户扩展信息,便于鉴权 + this.setUserInfo(userInfo); + this.setRoleIds(userInfo.roleIds); + this.setPermissions(userInfo.permissions); + return userInfo; + } catch (e) { + // 防止 system-biz 微服务挂掉后导致token授权成功重新登陆覆盖授权客户端密钥 + this.resetState(); + throw Error(t('sys.api.errMsg503')); + } }, /** 登出 */ async logout(goLogin = false) {