permission.ts 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import type { AppRouteModule } from '/@/router/types';
  2. import { getParentLayout, LAYOUT } from '/@/router/constant';
  3. import { RoleEnum } from '/@/enums/roleEnum';
  4. import { t } from '/@/hooks/web/useI18n';
  5. const permission: AppRouteModule = {
  6. path: '/permission',
  7. name: 'Permission',
  8. component: LAYOUT,
  9. redirect: '/permission/front/page',
  10. meta: {
  11. orderNo: 15,
  12. icon: 'ion:key-outline',
  13. title: t('routes.demo.permission.permission'),
  14. },
  15. children: [
  16. {
  17. path: 'front',
  18. name: 'PermissionFrontDemo',
  19. component: getParentLayout('PermissionFrontDemo'),
  20. meta: {
  21. title: t('routes.demo.permission.front'),
  22. },
  23. children: [
  24. {
  25. path: 'page',
  26. name: 'FrontPageAuth',
  27. component: () => import('/@/views/demo/permission/front/index.vue'),
  28. meta: {
  29. title: t('routes.demo.permission.frontPage'),
  30. },
  31. },
  32. {
  33. path: 'btn',
  34. name: 'FrontBtnAuth',
  35. component: () => import('/@/views/demo/permission/front/Btn.vue'),
  36. meta: {
  37. title: t('routes.demo.permission.frontBtn'),
  38. },
  39. },
  40. {
  41. path: 'auth-pageA',
  42. name: 'FrontAuthPageA',
  43. component: () => import('/@/views/demo/permission/front/AuthPageA.vue'),
  44. meta: {
  45. title: t('routes.demo.permission.frontTestA'),
  46. roles: [RoleEnum.SUPER],
  47. },
  48. },
  49. {
  50. path: 'auth-pageB',
  51. name: 'FrontAuthPageB',
  52. component: () => import('/@/views/demo/permission/front/AuthPageB.vue'),
  53. meta: {
  54. title: t('routes.demo.permission.frontTestB'),
  55. roles: [RoleEnum.TEST],
  56. },
  57. },
  58. ],
  59. },
  60. {
  61. path: 'back',
  62. name: 'PermissionBackDemo',
  63. component: getParentLayout('PermissionBackDemo'),
  64. meta: {
  65. title: t('routes.demo.permission.back'),
  66. },
  67. children: [
  68. {
  69. path: 'page',
  70. name: 'BackAuthPage',
  71. component: () => import('/@/views/demo/permission/back/index.vue'),
  72. meta: {
  73. title: t('routes.demo.permission.backPage'),
  74. },
  75. },
  76. {
  77. path: 'btn',
  78. name: 'BackAuthBtn',
  79. component: () => import('/@/views/demo/permission/back/Btn.vue'),
  80. meta: {
  81. title: t('routes.demo.permission.backBtn'),
  82. },
  83. },
  84. ],
  85. },
  86. ],
  87. };
  88. export default permission;