vben.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. } from '@vben/constants';
  9. import { SvgAntdvLogoIcon } from '@vben/icons';
  10. import { IFrameView } from '#/layouts';
  11. import { $t } from '#/locales';
  12. const routes: RouteRecordRaw[] = [
  13. {
  14. meta: {
  15. badgeType: 'dot',
  16. icon: VBEN_LOGO_URL,
  17. order: 9998,
  18. title: $t('demos.vben.title'),
  19. },
  20. name: 'VbenProject',
  21. path: '/vben-admin',
  22. children: [
  23. {
  24. name: 'VbenDocument',
  25. path: '/vben-admin/document',
  26. component: IFrameView,
  27. meta: {
  28. icon: 'lucide:book-open-text',
  29. link: VBEN_DOC_URL,
  30. title: $t('demos.vben.document'),
  31. },
  32. },
  33. {
  34. name: 'VbenGithub',
  35. path: '/vben-admin/github',
  36. component: IFrameView,
  37. meta: {
  38. icon: 'mdi:github',
  39. link: VBEN_GITHUB_URL,
  40. title: 'Github',
  41. },
  42. },
  43. {
  44. name: 'VbenNaive',
  45. path: '/vben-admin/naive',
  46. component: IFrameView,
  47. meta: {
  48. badgeType: 'dot',
  49. icon: 'logos:naiveui',
  50. link: VBEN_NAIVE_PREVIEW_URL,
  51. title: $t('demos.vben.naive-ui'),
  52. },
  53. },
  54. {
  55. name: 'VbenAntd',
  56. path: '/vben-admin/antd',
  57. component: IFrameView,
  58. meta: {
  59. badgeType: 'dot',
  60. icon: SvgAntdvLogoIcon,
  61. link: VBEN_ANT_PREVIEW_URL,
  62. title: $t('demos.vben.antdv'),
  63. },
  64. },
  65. ],
  66. },
  67. {
  68. name: 'VbenAbout',
  69. path: '/vben-admin/about',
  70. component: () => import('#/views/_core/about/index.vue'),
  71. meta: {
  72. icon: 'lucide:copyright',
  73. title: $t('demos.vben.about'),
  74. order: 9999,
  75. },
  76. },
  77. ];
  78. export default routes;