| 123456789101112131415161718192021222324 |
- import type { Router } from 'vue-router';
- import { useAppStore } from '@jeesite/core/store/modules/app';
- import { useMultipleTabStore } from '@jeesite/core/store/modules/multipleTab';
- import { usePermissionStore } from '@jeesite/core/store/modules/permission';
- import { PageEnum } from '@jeesite/core/enums/pageEnum';
- import { resetCaseConfigGuideState } from '@jeesite/core/logics/caseConfigGuide';
- import { removeTabChangeListener } from '@jeesite/core/logics/mitt/routeChange';
- export function createStateGuard(router: Router) {
- router.afterEach((to) => {
- const tabStore = useMultipleTabStore();
- const appStore = useAppStore();
- const permissionStore = usePermissionStore();
- // Just enter login page and clear authentication information
- if (to.path === PageEnum.BASE_CASE) {
- console.log('访问案件列表页重置所有状态BASE_CASE');
- appStore.resetAllState();
- permissionStore.resetState();
- tabStore.resetState();
- resetCaseConfigGuideState();
- removeTabChangeListener();
- }
- });
- }
|