2024-06-02 21:33:31 +08:00
|
|
|
import { mergeRouteModules } from '@vben-core/helpers';
|
2024-05-19 21:20:42 +08:00
|
|
|
import type { RouteRecordRaw } from 'vue-router';
|
|
|
|
|
2024-06-01 22:17:52 +08:00
|
|
|
import { essentialRoutes } from './_essential';
|
2024-06-02 21:33:31 +08:00
|
|
|
|
|
|
|
const dynamicRouteFiles = import.meta.glob('./dynamic/**/*.ts', {
|
|
|
|
eager: true,
|
|
|
|
});
|
|
|
|
|
|
|
|
const staticRouteFiles = import.meta.glob('./static/**/*.ts', { eager: true });
|
|
|
|
|
|
|
|
const externalRouteFiles = import.meta.glob('./external/**/*.ts', {
|
|
|
|
eager: true,
|
|
|
|
});
|
2024-05-19 21:20:42 +08:00
|
|
|
|
|
|
|
/** 动态路由 */
|
2024-06-02 21:33:31 +08:00
|
|
|
const dynamicRoutes: RouteRecordRaw[] = mergeRouteModules(dynamicRouteFiles);
|
|
|
|
|
|
|
|
/** 静态路由列表,访问这些页面可以不需要权限 */
|
|
|
|
const staticRoutes: RouteRecordRaw[] = mergeRouteModules(staticRouteFiles);
|
2024-05-19 21:20:42 +08:00
|
|
|
|
|
|
|
/** 排除在主框架外的路由,这些路由没有菜单和顶部及其他框架内容 */
|
2024-06-02 21:33:31 +08:00
|
|
|
const externalRoutes: RouteRecordRaw[] = mergeRouteModules(externalRouteFiles);
|
2024-05-19 21:20:42 +08:00
|
|
|
|
2024-06-02 21:33:31 +08:00
|
|
|
/** 路由列表,由基本路由+静态路由组成 */
|
|
|
|
const routes: RouteRecordRaw[] = [...essentialRoutes, ...staticRoutes];
|
2024-05-19 21:20:42 +08:00
|
|
|
|
2024-06-02 21:33:31 +08:00
|
|
|
export { dynamicRoutes, externalRoutes, routes };
|