diff --git a/mock/sys/menu.ts b/mock/sys/menu.ts index 37db362c0..1c47e667c 100644 --- a/mock/sys/menu.ts +++ b/mock/sys/menu.ts @@ -5,13 +5,40 @@ import { createFakeUserList } from './user'; // single const dashboardRoute = { path: '/dashboard', - name: 'Welcome', - component: '/dashboard/analysis/index', + name: 'Dashboard', + component: 'LAYOUT', + redirect: '/dashboard/analysis', meta: { - title: 'routes.dashboard.analysis', - affix: true, + title: 'routes.dashboard.dashboard', + hideChildrenInMenu: true, icon: 'bx:bx-home', }, + children: [ + { + path: 'analysis', + name: 'Analysis', + component: '/dashboard/analysis/index', + meta: { + hideMenu: true, + hideBreadcrumb: true, + title: 'routes.dashboard.analysis', + currentActiveMenu: '/dashboard', + icon: 'bx:bx-home', + }, + }, + { + path: 'workbench', + name: 'Workbench', + component: '/dashboard/workbench/index', + meta: { + hideMenu: true, + hideBreadcrumb: true, + title: 'routes.dashboard.workbench', + currentActiveMenu: '/dashboard', + icon: 'bx:bx-home', + }, + }, + ], }; const backRoute = { @@ -223,12 +250,21 @@ export default [ return resultError('Invalid user token!'); } const id = checkUser.userId; - if (!id || id === '1') { - return resultSuccess([dashboardRoute, authRoute, levelRoute, sysRoute, linkRoute]); - } - if (id === '2') { - return resultSuccess([dashboardRoute, authRoute, levelRoute, linkRoute]); + let menu: Object[]; + switch (id) { + case '1': + dashboardRoute.redirect = dashboardRoute.path + '/' + dashboardRoute.children[0].path; + menu = [dashboardRoute, authRoute, levelRoute, sysRoute, linkRoute]; + break; + case '2': + dashboardRoute.redirect = dashboardRoute.path + '/' + dashboardRoute.children[1].path; + menu = [dashboardRoute, authRoute, levelRoute, linkRoute]; + break; + default: + menu = []; } + + return resultSuccess(menu); }, }, ] as MockMethod[]; diff --git a/src/router/guard/permissionGuard.ts b/src/router/guard/permissionGuard.ts index 7ce2c2360..1fe9e7507 100644 --- a/src/router/guard/permissionGuard.ts +++ b/src/router/guard/permissionGuard.ts @@ -19,12 +19,6 @@ export function createPermissionGuard(router: Router) { const userStore = useUserStoreWithOut(); const permissionStore = usePermissionStoreWithOut(); router.beforeEach(async (to, from, next) => { - // Jump to the 404 page after processing the login - if (from.path === LOGIN_PATH && to.name === PAGE_NOT_FOUND_ROUTE.name) { - next(userStore.getUserInfo.homePath || PageEnum.BASE_HOME); - return; - } - if ( from.path === ROOT_PATH && to.path === PageEnum.BASE_HOME && @@ -66,6 +60,17 @@ export function createPermissionGuard(router: Router) { return; } + // Jump to the 404 page after processing the login + if ( + from.path === LOGIN_PATH && + to.name === PAGE_NOT_FOUND_ROUTE.name && + to.fullPath !== (userStore.getUserInfo.homePath || PageEnum.BASE_HOME) + ) { + next(userStore.getUserInfo.homePath || PageEnum.BASE_HOME); + console.log({ from, to }); + return; + } + if (permissionStore.getIsDynamicAddedRoute) { next(); return;