permission.ts 2.4 KB

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