index.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import type { AppRouteRecordRaw, AppRouteModule } from '/@/router/types';
  2. import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '../constant';
  3. import { mainOutRoutes } from './mainOut';
  4. import { PageEnum } from '/@/enums/pageEnum';
  5. import { t } from '/@/hooks/web/useI18n';
  6. import modules from 'glob:./modules/**/*.ts';
  7. const routeModuleList: AppRouteModule[] = [];
  8. Object.keys(modules).forEach((key) => {
  9. const mod = modules[key].default || {};
  10. const modList = Array.isArray(mod) ? [...mod] : [mod];
  11. routeModuleList.push(...modList);
  12. });
  13. export const asyncRoutes = [PAGE_NOT_FOUND_ROUTE, ...routeModuleList];
  14. export const RootRoute: AppRouteRecordRaw = {
  15. path: '/',
  16. name: 'Root',
  17. redirect: PageEnum.BASE_HOME,
  18. meta: {
  19. title: 'Root',
  20. },
  21. };
  22. export const LoginRoute: AppRouteRecordRaw = {
  23. path: '/login',
  24. name: 'Login',
  25. component: () => import('/@/views/sys/login/Login.vue'),
  26. meta: {
  27. title: t('routes.basic.login'),
  28. },
  29. };
  30. // 基础路由 不用权限
  31. export const basicRoutes = [LoginRoute, RootRoute, ...mainOutRoutes, REDIRECT_ROUTE];