vue-vben-admin/src/router/guard/stateGuard.ts

21 lines
761 B
TypeScript
Raw Normal View History

2021-01-15 00:10:06 +08:00
import type { Router } from 'vue-router';
import { appStore } from '/@/store/modules/app';
import { tabStore } from '/@/store/modules/tab';
import { userStore } from '/@/store/modules/user';
import { permissionStore } from '/@/store/modules/permission';
2021-01-15 00:10:06 +08:00
import { PageEnum } from '/@/enums/pageEnum';
2021-03-27 17:25:37 +08:00
import { removeTabChangeListener } from '/@/logics/mitt/routeChange';
2021-01-15 00:10:06 +08:00
export function createStateGuard(router: Router) {
2021-01-15 00:10:06 +08:00
router.afterEach((to) => {
// Just enter the login page and clear the authentication information
if (to.path === PageEnum.BASE_LOGIN) {
appStore.resumeAllState();
permissionStore.commitResetState();
tabStore.commitResetState();
userStore.commitResetState();
2021-01-15 00:10:06 +08:00
removeTabChangeListener();
}
});
}