Commit a36825a6d423aae9aaf1936ce55947ba8c2104b0
1 parent
628e8206
fix: add loss action for userStore
Showing
1 changed file
with
23 additions
and
19 deletions
src/store/modules/user.ts
... | ... | @@ -94,29 +94,33 @@ export const useUserStore = defineStore({ |
94 | 94 | |
95 | 95 | // save token |
96 | 96 | this.setToken(token); |
97 | - // get user info | |
98 | - const userInfo = await this.getUserInfoAction(); | |
99 | - | |
100 | - const sessionTimeout = this.sessionTimeout; | |
101 | - if (sessionTimeout) { | |
102 | - this.setSessionTimeout(false); | |
103 | - } else if (goHome) { | |
104 | - const permissionStore = usePermissionStore(); | |
105 | - if (!permissionStore.isDynamicAddedRoute) { | |
106 | - const routes = await permissionStore.buildRoutesAction(); | |
107 | - routes.forEach((route) => { | |
108 | - router.addRoute(route as unknown as RouteRecordRaw); | |
109 | - }); | |
110 | - router.addRoute(PAGE_NOT_FOUND_ROUTE as unknown as RouteRecordRaw); | |
111 | - permissionStore.setDynamicAddedRoute(true); | |
112 | - } | |
113 | - await router.replace(userInfo.homePath || PageEnum.BASE_HOME); | |
114 | - } | |
115 | - return userInfo; | |
97 | + return this.afterLoginAction(goHome); | |
116 | 98 | } catch (error) { |
117 | 99 | return Promise.reject(error); |
118 | 100 | } |
119 | 101 | }, |
102 | + async afterLoginAction(goHome?: boolean): Promise<GetUserInfoModel | null> { | |
103 | + if (!this.getToken) return null; | |
104 | + // get user info | |
105 | + const userInfo = await this.getUserInfoAction(); | |
106 | + | |
107 | + const sessionTimeout = this.sessionTimeout; | |
108 | + if (sessionTimeout) { | |
109 | + this.setSessionTimeout(false); | |
110 | + } else { | |
111 | + const permissionStore = usePermissionStore(); | |
112 | + if (!permissionStore.isDynamicAddedRoute) { | |
113 | + const routes = await permissionStore.buildRoutesAction(); | |
114 | + routes.forEach((route) => { | |
115 | + router.addRoute(route as unknown as RouteRecordRaw); | |
116 | + }); | |
117 | + router.addRoute(PAGE_NOT_FOUND_ROUTE as unknown as RouteRecordRaw); | |
118 | + permissionStore.setDynamicAddedRoute(true); | |
119 | + } | |
120 | + goHome && (await router.replace(userInfo.homePath || PageEnum.BASE_HOME)); | |
121 | + } | |
122 | + return userInfo; | |
123 | + }, | |
120 | 124 | async getUserInfoAction(): Promise<UserInfo> { |
121 | 125 | const userInfo = await getUserInfo(); |
122 | 126 | const { roles = [] } = userInfo; | ... | ... |