create-iking-admin
Version:
金合技术中台脚手架
25 lines (23 loc) • 1.01 kB
text/typescript
import { PageEnum } from '@/global/enums/pageEnum';
import { removeTabChangeListener } from '@/mainApp/logics/mitt/routeChange';
import { useAppStore } from '@/global/store/modules/app';
import { useMultipleTabStore } from '@/global/store/modules/multipleTab';
import { usePermissionStore } from '@/global/store/modules/permission';
import { useUserStore } from '@/global/store/modules/user';
import type { Router } from 'vue-router';
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();
}
});
}