stateGuard.ts 761 B

1234567891011121314151617181920
  1. import type { Router } from 'vue-router';
  2. import { appStore } from '/@/store/modules/app';
  3. import { tabStore } from '/@/store/modules/tab';
  4. import { userStore } from '/@/store/modules/user';
  5. import { permissionStore } from '/@/store/modules/permission';
  6. import { PageEnum } from '/@/enums/pageEnum';
  7. import { removeTabChangeListener } from '/@/logics/mitt/routeChange';
  8. export function createStateGuard(router: Router) {
  9. router.afterEach((to) => {
  10. // Just enter the login page and clear the authentication information
  11. if (to.path === PageEnum.BASE_LOGIN) {
  12. appStore.resumeAllState();
  13. permissionStore.commitResetState();
  14. tabStore.commitResetState();
  15. userStore.commitResetState();
  16. removeTabChangeListener();
  17. }
  18. });
  19. }