menu.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. import { resultSuccess } from '../_util';
  2. import { MockMethod } from 'vite-plugin-mock';
  3. const dashboardRoute = {
  4. path: '/dashboard',
  5. name: 'Dashboard',
  6. component: 'PAGE_LAYOUT',
  7. redirect: '/dashboard/welcome',
  8. meta: {
  9. icon: 'ant-design:home-outlined',
  10. title: 'Dashboard',
  11. },
  12. children: [
  13. {
  14. path: '/welcome',
  15. name: 'Welcome',
  16. component: '/dashboard/welcome/index',
  17. meta: {
  18. title: '欢迎页',
  19. affix: true,
  20. },
  21. },
  22. ],
  23. };
  24. const frontRoute = {
  25. path: '/front',
  26. name: 'PermissionFrontDemo',
  27. meta: {
  28. title: '基于前端权限',
  29. },
  30. children: [
  31. {
  32. path: 'page',
  33. name: 'FrontPageAuth',
  34. component: '/demo/permission/front/index',
  35. meta: {
  36. title: '页面权限',
  37. },
  38. },
  39. {
  40. path: 'btn',
  41. name: 'FrontBtnAuth',
  42. component: '/demo/permission/front/Btn',
  43. meta: {
  44. title: '按钮权限',
  45. },
  46. },
  47. {
  48. path: 'auth-pageA',
  49. name: 'FrontAuthPageA',
  50. component: '/demo/permission/front/AuthPageA',
  51. meta: {
  52. title: '权限测试页A',
  53. },
  54. },
  55. {
  56. path: 'auth-pageB',
  57. name: 'FrontAuthPageB',
  58. component: '/demo/permission/front/AuthPageB',
  59. meta: {
  60. title: '权限测试页B',
  61. },
  62. },
  63. ],
  64. };
  65. const backRoute = {
  66. path: '/back',
  67. name: 'PermissionBackDemo',
  68. meta: {
  69. title: '基于后台权限',
  70. },
  71. children: [
  72. {
  73. path: 'page',
  74. name: 'BackAuthPage',
  75. component: '/demo/permission/back/index',
  76. meta: {
  77. title: '页面权限',
  78. },
  79. },
  80. {
  81. path: 'btn',
  82. name: 'BackAuthBtn',
  83. component: '/demo/permission/back/Btn',
  84. meta: {
  85. title: '按钮权限',
  86. },
  87. },
  88. ],
  89. };
  90. const authRoute = {
  91. path: '/permission',
  92. name: 'Permission',
  93. component: 'PAGE_LAYOUT',
  94. redirect: '/permission/front/page',
  95. meta: {
  96. icon: 'ant-design:home-outlined',
  97. title: '权限管理',
  98. },
  99. children: [frontRoute, backRoute],
  100. };
  101. const authRoute1 = {
  102. path: '/permission',
  103. name: 'Permission',
  104. component: 'PAGE_LAYOUT',
  105. redirect: '/permission/front/page',
  106. meta: {
  107. icon: 'ant-design:home-outlined',
  108. title: '权限管理',
  109. },
  110. children: [backRoute],
  111. };
  112. export default [
  113. {
  114. url: '/api/getMenuListById',
  115. timeout: 1000,
  116. method: 'get',
  117. response: ({ query }) => {
  118. const { id } = query;
  119. if (!id || id === '1') {
  120. return resultSuccess([dashboardRoute, authRoute]);
  121. }
  122. if (id === '2') {
  123. return resultSuccess([dashboardRoute, authRoute1]);
  124. }
  125. },
  126. },
  127. ] as MockMethod[];