Blame view

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