vben.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import type { RouteRecordRaw } from 'vue-router';
  2. import {
  3. VBEN_DOC_URL,
  4. VBEN_GITHUB_URL,
  5. VBEN_LOGO_URL,
  6. VBEN_NAIVE_PREVIEW_URL,
  7. VBEN_PREVIEW_URL,
  8. } from '@vben/constants';
  9. import { BasicLayout, IFrameView } from '#/layouts';
  10. import { $t } from '#/locales';
  11. const routes: RouteRecordRaw[] = [
  12. {
  13. component: BasicLayout,
  14. meta: {
  15. badgeType: 'dot',
  16. icon: VBEN_LOGO_URL,
  17. order: 9999,
  18. title: $t('page.vben.title'),
  19. },
  20. name: 'VbenProject',
  21. path: '/vben-admin',
  22. children: [
  23. {
  24. name: 'VbenAbout',
  25. path: '/vben-admin/about',
  26. component: () => import('#/views/_core/vben/about/index.vue'),
  27. meta: {
  28. icon: 'lucide:copyright',
  29. title: $t('page.vben.about'),
  30. },
  31. },
  32. {
  33. name: 'VbenDocument',
  34. path: '/vben-admin/document',
  35. component: IFrameView,
  36. meta: {
  37. icon: 'lucide:book-open-text',
  38. iframeSrc: VBEN_DOC_URL,
  39. keepAlive: true,
  40. title: $t('page.vben.document'),
  41. },
  42. },
  43. {
  44. name: 'VbenGithub',
  45. path: '/vben-admin/github',
  46. component: IFrameView,
  47. meta: {
  48. icon: 'mdi:github',
  49. link: VBEN_GITHUB_URL,
  50. title: 'Github',
  51. },
  52. },
  53. {
  54. name: 'VbenNaive',
  55. path: '/vben-admin/naive',
  56. component: IFrameView,
  57. meta: {
  58. badgeType: 'dot',
  59. link: VBEN_NAIVE_PREVIEW_URL,
  60. title: 'Naive UI 版本',
  61. },
  62. },
  63. {
  64. name: 'VbenAntd',
  65. path: '/vben-admin/aned',
  66. component: IFrameView,
  67. meta: {
  68. badgeType: 'dot',
  69. link: VBEN_PREVIEW_URL,
  70. title: 'Ant Design 版本',
  71. },
  72. },
  73. ],
  74. },
  75. ];
  76. export default routes;