vue-vben-admin/src/router/routes/index.ts

47 lines
1.1 KiB
TypeScript
Raw Normal View History

2020-09-28 20:19:10 +08:00
import type { AppRouteRecordRaw, AppRouteModule } from '/@/router/types';
import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '/@/router/routes/basic';
2020-12-03 21:49:32 +08:00
2020-12-23 22:55:14 +08:00
import { mainOutRoutes } from './mainOut';
2020-12-10 23:58:11 +08:00
import { PageEnum } from '/@/enums/pageEnum';
2020-12-09 00:12:44 +08:00
import { t } from '/@/hooks/web/useI18n';
2021-01-10 19:52:03 +08:00
const modules = import.meta.globEager('./modules/**/*.ts');
2021-01-09 23:28:52 +08:00
2020-10-30 21:32:05 +08:00
const routeModuleList: AppRouteModule[] = [];
2020-09-28 20:19:10 +08:00
2020-10-16 22:03:44 +08:00
Object.keys(modules).forEach((key) => {
2021-01-09 23:28:52 +08:00
const mod = modules[key].default || {};
const modList = Array.isArray(mod) ? [...mod] : [mod];
routeModuleList.push(...modList);
2020-10-16 22:03:44 +08:00
});
2020-12-03 21:49:32 +08:00
export const asyncRoutes = [PAGE_NOT_FOUND_ROUTE, ...routeModuleList];
2020-10-30 21:32:05 +08:00
2020-12-10 23:58:11 +08:00
export const RootRoute: AppRouteRecordRaw = {
path: '/',
name: 'Root',
redirect: PageEnum.BASE_HOME,
meta: {
title: 'Root',
},
};
2020-10-14 21:08:07 +08:00
export const LoginRoute: AppRouteRecordRaw = {
path: '/login',
name: 'Login',
component: () => import('/@/views/sys/login/Login.vue'),
meta: {
2020-12-09 00:12:44 +08:00
title: t('routes.basic.login'),
2020-10-14 21:08:07 +08:00
},
};
2021-02-26 00:15:18 +08:00
// Basic routing without permission
export const basicRoutes = [
LoginRoute,
RootRoute,
...mainOutRoutes,
REDIRECT_ROUTE,
PAGE_NOT_FOUND_ROUTE,
];