index.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import type { AppRouteRecordRaw, AppRouteModule } from '/@/router/types';
  2. import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE, QIANKUN_ROUTE } from '/@/router/routes/basic';
  3. import { LAYOUT } from '/@/router/constant';
  4. import { mainOutRoutes } from './mainOut';
  5. import { PageEnum } from '/@/enums/pageEnum';
  6. import { t } from '/@/hooks/web/useI18n';
  7. import { useGlobSetting, getRemoteSetting } from '/@/hooks/setting';
  8. const modules = import.meta.glob('./modules/**/*.ts', { eager: true });
  9. const routeModuleList: AppRouteModule[] = [];
  10. // 加入到路由集合中
  11. Object.keys(modules).forEach((key) => {
  12. const mod = (modules as Recordable)[key].default || {};
  13. const modList = Array.isArray(mod) ? [...mod] : [mod];
  14. routeModuleList.push(...modList);
  15. });
  16. await getRemoteSetting();
  17. const glob = useGlobSetting();
  18. export const asyncRoutes = [PAGE_NOT_FOUND_ROUTE, QIANKUN_ROUTE, ...routeModuleList];
  19. export const RootRoute: AppRouteRecordRaw = {
  20. path: '/',
  21. name: 'Root',
  22. redirect: glob.homePath || PageEnum.BASE_HOME,
  23. meta: {
  24. title: 'Root',
  25. },
  26. ver: '1',
  27. };
  28. export const LoginRoute: AppRouteRecordRaw = {
  29. path: '/login',
  30. name: 'Login',
  31. component: () => import('/@/views/sys/login/Login.vue'),
  32. meta: {
  33. title: t('routes.basic.login'),
  34. },
  35. ver: '1',
  36. };
  37. //update-begin---author:wangshuai ---date:20220629 for:auth2登录页面路由------------
  38. export const Oauth2LoginRoute: AppRouteRecordRaw = {
  39. path: '/oauth2-app/login',
  40. name: 'oauth2-app-login',
  41. component: () => import('/@/views/sys/login/OAuth2Login.vue'),
  42. meta: {
  43. title: t('routes.oauth2.login'),
  44. },
  45. ver: '1',
  46. };
  47. //update-end---author:wangshuai ---date:20220629 for:auth2登录页面路由------------
  48. /**
  49. * 【通过token直接静默登录】流程办理登录页面 中转跳转
  50. */
  51. export const TokenLoginRoute: AppRouteRecordRaw = {
  52. path: '/tokenLogin',
  53. name: 'TokenLoginRoute',
  54. component: () => import('/@/views/sys/login/TokenLoginPage.vue'),
  55. meta: {
  56. title: '带token登录页面',
  57. ignoreAuth: true,
  58. },
  59. ver: '1',
  60. };
  61. // Basic routing without permission
  62. export const basicRoutes = [
  63. LoginRoute,
  64. RootRoute,
  65. ...mainOutRoutes,
  66. REDIRECT_ROUTE,
  67. PAGE_NOT_FOUND_ROUTE,
  68. TokenLoginRoute,
  69. Oauth2LoginRoute,
  70. ];