vben.ts 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. import type { RouteRecordRaw } from 'vue-router';
  2. import {
  3. VBEN_ANT_PREVIEW_URL,
  4. VBEN_ANTDV_NEXT_PREVIEW_URL,
  5. VBEN_DOC_URL,
  6. VBEN_ELE_PREVIEW_URL,
  7. VBEN_GITHUB_URL,
  8. VBEN_LOGO_URL,
  9. VBEN_TD_PREVIEW_URL,
  10. } from '@vben/constants';
  11. import {
  12. SvgAntdvLogoIcon,
  13. SvgAntdvNextLogoIcon,
  14. SvgTDesignIcon,
  15. } from '@vben/icons';
  16. import { IFrameView } from '#/layouts';
  17. import { $t } from '#/locales';
  18. const routes: RouteRecordRaw[] = [
  19. {
  20. meta: {
  21. badgeType: 'dot',
  22. icon: VBEN_LOGO_URL,
  23. order: 9998,
  24. title: $t('demos.vben.title'),
  25. },
  26. name: 'VbenProject',
  27. path: '/vben-admin',
  28. children: [
  29. {
  30. name: 'VbenDocument',
  31. path: '/vben-admin/document',
  32. component: IFrameView,
  33. meta: {
  34. icon: 'lucide:book-open-text',
  35. link: VBEN_DOC_URL,
  36. title: $t('demos.vben.document'),
  37. },
  38. },
  39. {
  40. name: 'VbenGithub',
  41. path: '/vben-admin/github',
  42. component: IFrameView,
  43. meta: {
  44. icon: 'mdi:github',
  45. link: VBEN_GITHUB_URL,
  46. title: 'Github',
  47. },
  48. },
  49. {
  50. name: 'VbenAntd',
  51. path: '/vben-admin/antd',
  52. component: IFrameView,
  53. meta: {
  54. badgeType: 'dot',
  55. icon: SvgAntdvLogoIcon,
  56. link: VBEN_ANT_PREVIEW_URL,
  57. title: $t('demos.vben.antdv'),
  58. },
  59. },
  60. {
  61. name: 'VbenAntdVNext',
  62. path: '/vben-admin/antdv-next',
  63. component: IFrameView,
  64. meta: {
  65. badgeType: 'dot',
  66. icon: SvgAntdvNextLogoIcon,
  67. link: VBEN_ANTDV_NEXT_PREVIEW_URL,
  68. title: $t('demos.vben.antdv-next'),
  69. },
  70. },
  71. {
  72. name: 'VbenTDesign',
  73. path: '/vben-admin/tdesign',
  74. component: IFrameView,
  75. meta: {
  76. badgeType: 'dot',
  77. icon: SvgTDesignIcon,
  78. link: VBEN_TD_PREVIEW_URL,
  79. title: $t('demos.vben.tdesign'),
  80. },
  81. },
  82. {
  83. name: 'VbenElementPlus',
  84. path: '/vben-admin/ele',
  85. component: IFrameView,
  86. meta: {
  87. badgeType: 'dot',
  88. icon: 'logos:element',
  89. link: VBEN_ELE_PREVIEW_URL,
  90. title: $t('demos.vben.element-plus'),
  91. },
  92. },
  93. ],
  94. },
  95. {
  96. name: 'VbenAbout',
  97. path: '/vben-admin/about',
  98. component: () => import('#/views/_core/about/index.vue'),
  99. meta: {
  100. icon: 'lucide:copyright',
  101. title: $t('demos.vben.about'),
  102. order: 9999,
  103. },
  104. },
  105. {
  106. name: 'Profile',
  107. path: '/profile',
  108. component: () => import('#/views/_core/profile/index.vue'),
  109. meta: {
  110. icon: 'lucide:user',
  111. hideInMenu: true,
  112. title: $t('page.auth.profile'),
  113. },
  114. },
  115. ];
  116. export default routes;