vben.ts 2.3 KB

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