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) {