index.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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. export const asyncRoutes = [PAGE_NOT_FOUND_ROUTE, QIANKUN_ROUTE, ...routeModuleList];
  17. export const RootRoute: AppRouteRecordRaw = await (async () => {
  18. await getRemoteSetting();
  19. const glob = useGlobSetting();
  20. return {
  21. path: '/',
  22. name: 'Root',
  23. redirect: glob.homePath || PageEnum.BASE_HOME,
  24. meta: {
  25. title: 'Root',
  26. },
  27. ver: '1',
  28. } as AppRouteRecordRaw;
  29. })();
  30. export const LoginRoute: AppRouteRecordRaw = {
  31. path: '/login',
  32. name: 'Login',
  33. //新版后台登录,如果想要使用旧版登录放开即可
  34. component: () => import('/@/views/sys/login/Login.vue'),
  35. //数据中心登录
  36. // component: () => import('/@/views/sys/login/LoginDataCenter.vue'),
  37. // 内页登录
  38. // component: () => import('/@/views/sys/login/LoginNeiye.vue'),
  39. // component: () => import('/@/views/system/loginmini/MiniLogin.vue'),
  40. meta: {
  41. title: t('routes.basic.login'),
  42. },
  43. ver: '1',
  44. };
  45. export const Oauth2LoginRoute: AppRouteRecordRaw = {
  46. path: '/oauth2-app/login',
  47. name: 'oauth2-app-login',
  48. //新版钉钉免登录,如果想要使用旧版放开即可
  49. // component: () => import('/@/views/sys/login/OAuth2Login.vue'),
  50. component: () => import('/@/views/system/loginmini/OAuth2Login.vue'),
  51. meta: {
  52. title: t('routes.oauth2.login'),
  53. },
  54. ver: '1',
  55. };
  56. /**
  57. * 【通过token直接静默登录】流程办理登录页面 中转跳转
  58. */
  59. export const TokenLoginRoute: AppRouteRecordRaw = {
  60. path: '/tokenLogin',
  61. name: 'TokenLoginRoute',
  62. component: () => import('/@/views/sys/login/TokenLoginPage.vue'),
  63. meta: {
  64. title: '带token登录页面',
  65. ignoreAuth: true,
  66. },
  67. ver: '1',
  68. };
  69. export const ventModelRedirect: AppRouteRecordRaw = {
  70. path: '/redirectMicro',
  71. name: '',
  72. component: () => LAYOUT,
  73. meta: {
  74. title: '',
  75. ignoreAuth: true,
  76. },
  77. ver: '1',
  78. redirect: '',
  79. };
  80. // Basic routing without permission
  81. export const basicRoutes = [
  82. LoginRoute,
  83. RootRoute,
  84. ventModelRedirect,
  85. // QIANKUN_ROUTE,
  86. // ...mainOutRoutes,
  87. REDIRECT_ROUTE,
  88. PAGE_NOT_FOUND_ROUTE,
  89. TokenLoginRoute,
  90. Oauth2LoginRoute,
  91. ];