1
0
mirror of https://github.com/fumiama/paper-manager.git synced 2026-06-11 03:20:24 +08:00
Files
paper-manager/frontend/vben/src/router/guard/stateGuard.ts
2023-03-10 17:18:32 +08:00

25 lines
929 B
TypeScript

import type { Router } from 'vue-router'
import { useAppStore } from '/@/store/modules/app'
import { useMultipleTabStore } from '/@/store/modules/multipleTab'
import { useUserStore } from '/@/store/modules/user'
import { usePermissionStore } from '/@/store/modules/permission'
import { PageEnum } from '/@/enums/pageEnum'
import { removeTabChangeListener } from '/@/logics/mitt/routeChange'
export function createStateGuard(router: Router) {
router.afterEach((to) => {
// Just enter the login page and clear the authentication information
if (to.path === PageEnum.BASE_LOGIN) {
const tabStore = useMultipleTabStore()
const userStore = useUserStore()
const appStore = useAppStore()
const permissionStore = usePermissionStore()
appStore.resetAllState()
permissionStore.resetState()
tabStore.resetState()
userStore.resetState()
removeTabChangeListener()
}
})
}