base.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import { RouteRecordRaw } from 'vue-router'
  2. import type { AppRouteRecordRaw } from '@/router/types';
  3. import { ErrorPage404, ErrorPage403, ErrorPage500, Layout } from '@/router/constant';
  4. import { PageEnum } from '@/enums/pageEnum'
  5. import { Reload } from '@/components/Reload/index'
  6. export const LoginRoute: RouteRecordRaw = {
  7. path: '/login',
  8. name: 'Login',
  9. component: () => import('@/views/login/index.vue'),
  10. meta: {
  11. title: '登录',
  12. },
  13. };
  14. export const HttpErrorPage: RouteRecordRaw[] = [
  15. {
  16. path: '/error/404',
  17. name: PageEnum.ERROR_PAGE_NAME_404,
  18. component: ErrorPage404,
  19. meta: {
  20. title: PageEnum.ERROR_PAGE_NAME_404,
  21. },
  22. },
  23. {
  24. path: '/error/403',
  25. name: PageEnum.ERROR_PAGE_NAME_403,
  26. component: ErrorPage403,
  27. meta: {
  28. title: PageEnum.ERROR_PAGE_NAME_403,
  29. },
  30. },
  31. {
  32. path: '/error/500',
  33. name: PageEnum.ERROR_PAGE_NAME_500,
  34. component: ErrorPage500,
  35. meta: {
  36. title: PageEnum.ERROR_PAGE_NAME_500,
  37. },
  38. },
  39. ]
  40. export const ErrorPageRoute: AppRouteRecordRaw = {
  41. path: '/:path(.*)*',
  42. name: 'ErrorPage',
  43. component: ErrorPage404,
  44. meta: {
  45. title: PageEnum.ERROR_PAGE_NAME_404,
  46. hideBreadcrumb: true,
  47. }
  48. };
  49. export const ReloadRoute: AppRouteRecordRaw = {
  50. path: PageEnum.RELOAD,
  51. name: PageEnum.RELOAD_NAME,
  52. component: Reload,
  53. meta: {
  54. title: PageEnum.RELOAD_NAME,
  55. },
  56. }
  57. export const RedirectRoute: AppRouteRecordRaw = {
  58. path: PageEnum.REDIRECT,
  59. name: PageEnum.REDIRECT_NAME,
  60. component: Layout,
  61. meta: {
  62. title: PageEnum.REDIRECT_NAME,
  63. },
  64. children: [
  65. {
  66. path: '/redirect/:path(.*)',
  67. name: PageEnum.REDIRECT_NAME,
  68. component: () => import('@/views/redirect/index.vue'),
  69. meta: {
  70. title: PageEnum.REDIRECT_NAME,
  71. hideBreadcrumb: true,
  72. },
  73. },
  74. ],
  75. };