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(); } }); }