Commit b3307fe2836fb6f9806d602d5bdb7e540c49f1b0
1 parent
73dc492b
fix: warning in logout action
修复退出登录相关代码中的警告
Showing
2 changed files
with
10 additions
and
7 deletions
src/api/sys/user.ts
@@ -29,7 +29,7 @@ export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') | @@ -29,7 +29,7 @@ export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') | ||
29 | * @description: getUserInfo | 29 | * @description: getUserInfo |
30 | */ | 30 | */ |
31 | export function getUserInfo() { | 31 | export function getUserInfo() { |
32 | - return defHttp.get<GetUserInfoModel>({ url: Api.GetUserInfo }); | 32 | + return defHttp.get<GetUserInfoModel>({ url: Api.GetUserInfo }, { errorMessageMode: 'none' }); |
33 | } | 33 | } |
34 | 34 | ||
35 | export function getPermCode() { | 35 | export function getPermCode() { |
src/store/modules/user.ts
@@ -15,6 +15,7 @@ import { usePermissionStore } from '/@/store/modules/permission'; | @@ -15,6 +15,7 @@ import { usePermissionStore } from '/@/store/modules/permission'; | ||
15 | import { RouteRecordRaw } from 'vue-router'; | 15 | import { RouteRecordRaw } from 'vue-router'; |
16 | import { PAGE_NOT_FOUND_ROUTE } from '/@/router/routes/basic'; | 16 | import { PAGE_NOT_FOUND_ROUTE } from '/@/router/routes/basic'; |
17 | import { isArray } from '/@/utils/is'; | 17 | import { isArray } from '/@/utils/is'; |
18 | +import { h } from 'vue'; | ||
18 | 19 | ||
19 | interface UserState { | 20 | interface UserState { |
20 | userInfo: Nullable<UserInfo>; | 21 | userInfo: Nullable<UserInfo>; |
@@ -64,7 +65,7 @@ export const useUserStore = defineStore({ | @@ -64,7 +65,7 @@ export const useUserStore = defineStore({ | ||
64 | this.roleList = roleList; | 65 | this.roleList = roleList; |
65 | setAuthCache(ROLES_KEY, roleList); | 66 | setAuthCache(ROLES_KEY, roleList); |
66 | }, | 67 | }, |
67 | - setUserInfo(info: UserInfo) { | 68 | + setUserInfo(info: UserInfo | null) { |
68 | this.userInfo = info; | 69 | this.userInfo = info; |
69 | this.lastUpdateTime = new Date().getTime(); | 70 | this.lastUpdateTime = new Date().getTime(); |
70 | setAuthCache(USER_INFO_KEY, info); | 71 | setAuthCache(USER_INFO_KEY, info); |
@@ -117,11 +118,12 @@ export const useUserStore = defineStore({ | @@ -117,11 +118,12 @@ export const useUserStore = defineStore({ | ||
117 | router.addRoute(PAGE_NOT_FOUND_ROUTE as unknown as RouteRecordRaw); | 118 | router.addRoute(PAGE_NOT_FOUND_ROUTE as unknown as RouteRecordRaw); |
118 | permissionStore.setDynamicAddedRoute(true); | 119 | permissionStore.setDynamicAddedRoute(true); |
119 | } | 120 | } |
120 | - goHome && (await router.replace(userInfo.homePath || PageEnum.BASE_HOME)); | 121 | + goHome && (await router.replace(userInfo?.homePath || PageEnum.BASE_HOME)); |
121 | } | 122 | } |
122 | return userInfo; | 123 | return userInfo; |
123 | }, | 124 | }, |
124 | - async getUserInfoAction(): Promise<UserInfo> { | 125 | + async getUserInfoAction(): Promise<UserInfo | null> { |
126 | + if (!this.getToken) return null; | ||
125 | const userInfo = await getUserInfo(); | 127 | const userInfo = await getUserInfo(); |
126 | const { roles = [] } = userInfo; | 128 | const { roles = [] } = userInfo; |
127 | if (isArray(roles)) { | 129 | if (isArray(roles)) { |
@@ -138,7 +140,7 @@ export const useUserStore = defineStore({ | @@ -138,7 +140,7 @@ export const useUserStore = defineStore({ | ||
138 | * @description: logout | 140 | * @description: logout |
139 | */ | 141 | */ |
140 | async logout(goLogin = false) { | 142 | async logout(goLogin = false) { |
141 | - if (this.token) { | 143 | + if (this.getToken) { |
142 | try { | 144 | try { |
143 | await doLogout(); | 145 | await doLogout(); |
144 | } catch { | 146 | } catch { |
@@ -147,6 +149,7 @@ export const useUserStore = defineStore({ | @@ -147,6 +149,7 @@ export const useUserStore = defineStore({ | ||
147 | } | 149 | } |
148 | this.setToken(undefined); | 150 | this.setToken(undefined); |
149 | this.setSessionTimeout(false); | 151 | this.setSessionTimeout(false); |
152 | + this.setUserInfo(null); | ||
150 | goLogin && router.push(PageEnum.BASE_LOGIN); | 153 | goLogin && router.push(PageEnum.BASE_LOGIN); |
151 | }, | 154 | }, |
152 | 155 | ||
@@ -158,8 +161,8 @@ export const useUserStore = defineStore({ | @@ -158,8 +161,8 @@ export const useUserStore = defineStore({ | ||
158 | const { t } = useI18n(); | 161 | const { t } = useI18n(); |
159 | createConfirm({ | 162 | createConfirm({ |
160 | iconType: 'warning', | 163 | iconType: 'warning', |
161 | - title: t('sys.app.logoutTip'), | ||
162 | - content: t('sys.app.logoutMessage'), | 164 | + title: () => h('span', t('sys.app.logoutTip')), |
165 | + content: () => h('span', t('sys.app.logoutMessage')), | ||
163 | onOk: async () => { | 166 | onOk: async () => { |
164 | await this.logout(true); | 167 | await this.logout(true); |
165 | }, | 168 | }, |