refactor: refactor the project to solve the hot update problem caused by circular dependencies close #301

This commit is contained in:
Vben
2021-03-08 21:19:09 +08:00
parent 371af18d0f
commit b7ce74abd6
28 changed files with 249 additions and 109 deletions

View File

@@ -1,4 +1,4 @@
import { Router } from 'vue-router';
import router from '/@/router';
import { createProgressGuard } from './progressGuard';
import { createPermissionGuard } from './permissionGuard';
@@ -10,14 +10,12 @@ import { createHttpGuard } from './httpGuard';
import { createPageGuard } from './pageGuard';
import { createStateGuard } from './stateGuard';
export function createGuard(router: Router) {
createPageGuard(router);
createPageLoadingGuard(router);
createHttpGuard(router);
createScrollGuard(router);
createMessageGuard(router);
createTitleGuard(router);
createProgressGuard(router);
createPermissionGuard(router);
createStateGuard(router);
}
createPageGuard(router);
createPageLoadingGuard(router);
createHttpGuard(router);
createScrollGuard(router);
createMessageGuard(router);
createTitleGuard(router);
createProgressGuard(router);
createPermissionGuard(router);
createStateGuard(router);

View File

@@ -1,5 +1,8 @@
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';
import { PageEnum } from '/@/enums/pageEnum';
import { removeTabChangeListener } from '/@/logics/mitt/tabChange';
@@ -8,6 +11,9 @@ export function createStateGuard(router: Router) {
// Just enter the login page and clear the authentication information
if (to.path === PageEnum.BASE_LOGIN) {
appStore.resumeAllState();
permissionStore.commitResetState();
tabStore.commitResetState();
userStore.commitResetState();
removeTabChangeListener();
}
});

View File

@@ -3,7 +3,6 @@ import type { App } from 'vue';
import { createRouter, createWebHashHistory } from 'vue-router';
import { createGuard } from './guard';
import { basicRoutes, LoginRoute } from './routes';
import { REDIRECT_NAME } from './constant';
@@ -30,7 +29,6 @@ export function resetRouter() {
// config router
export function setupRouter(app: App<Element>) {
app.use(router);
createGuard(router);
}
export default router;