index.ts 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. // component: () => import('/@/views/system/loginmini/MiniLogin.vue'),
  36. meta: {
  37. title: t('routes.basic.login'),
  38. },
  39. ver: '1',
  40. };
  41. export const Oauth2LoginRoute: AppRouteRecordRaw = {
  42. path: '/oauth2-app/login',
  43. name: 'oauth2-app-login',
  44. //新版钉钉免登录,如果想要使用旧版放开即可
  45. // component: () => import('/@/views/sys/login/OAuth2Login.vue'),
  46. component: () => import('/@/views/system/loginmini/OAuth2Login.vue'),
  47. meta: {
  48. title: t('routes.oauth2.login'),
  49. },
  50. ver: '1',
  51. };
  52. /**
  53. * 【通过token直接静默登录】流程办理登录页面 中转跳转
  54. */
  55. export const TokenLoginRoute: AppRouteRecordRaw = {
  56. path: '/tokenLogin',
  57. name: 'TokenLoginRoute',
  58. component: () => import('/@/views/sys/login/TokenLoginPage.vue'),
  59. meta: {
  60. title: '带token登录页面',
  61. ignoreAuth: true,
  62. },
  63. ver: '1',
  64. };
  65. export const ventModelRedirect: AppRouteRecordRaw = {
  66. path: '/redirectMicro',
  67. name: '',
  68. component: () => LAYOUT,
  69. meta: {
  70. title: '',
  71. ignoreAuth: true,
  72. },
  73. ver: '1',
  74. redirect: '',
  75. };
  76. // Basic routing without permission
  77. export const basicRoutes = [
  78. LoginRoute,
  79. RootRoute,
  80. ventModelRedirect,
  81. QIANKUN_ROUTE,
  82. // ...mainOutRoutes,
  83. REDIRECT_ROUTE,
  84. PAGE_NOT_FOUND_ROUTE,
  85. TokenLoginRoute,
  86. Oauth2LoginRoute,
  87. ];