menu.ts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. import { resultSuccess } from '../_util';
  2. import { MockMethod } from 'vite-plugin-mock';
  3. // single
  4. const dashboardRoute = {
  5. path: '/home',
  6. name: 'Home',
  7. component: '/dashboard/welcome/index',
  8. meta: {
  9. title: 'routes.dashboard.welcome',
  10. affix: true,
  11. icon: 'bx:bx-home',
  12. },
  13. };
  14. const frontRoute = {
  15. path: 'front',
  16. name: 'PermissionFrontDemo',
  17. meta: {
  18. title: 'routes.demo.permission.front',
  19. },
  20. children: [
  21. {
  22. path: 'page',
  23. name: 'FrontPageAuth',
  24. component: '/demo/permission/front/index',
  25. meta: {
  26. title: 'routes.demo.permission.frontPage',
  27. },
  28. },
  29. {
  30. path: 'btn',
  31. name: 'FrontBtnAuth',
  32. component: '/demo/permission/front/Btn',
  33. meta: {
  34. title: 'routes.demo.permission.frontBtn',
  35. },
  36. },
  37. {
  38. path: 'auth-pageA',
  39. name: 'FrontAuthPageA',
  40. component: '/demo/permission/front/AuthPageA',
  41. meta: {
  42. title: 'routes.demo.permission.frontTestA',
  43. },
  44. },
  45. {
  46. path: 'auth-pageB',
  47. name: 'FrontAuthPageB',
  48. component: '/demo/permission/front/AuthPageB',
  49. meta: {
  50. title: 'routes.demo.permission.frontTestB',
  51. },
  52. },
  53. ],
  54. };
  55. const backRoute = {
  56. path: 'back',
  57. name: 'PermissionBackDemo',
  58. meta: {
  59. title: 'routes.demo.permission.back',
  60. },
  61. children: [
  62. {
  63. path: 'page',
  64. name: 'BackAuthPage',
  65. component: '/demo/permission/back/index',
  66. meta: {
  67. title: 'routes.demo.permission.backPage',
  68. },
  69. },
  70. {
  71. path: 'btn',
  72. name: 'BackAuthBtn',
  73. component: '/demo/permission/back/Btn',
  74. meta: {
  75. title: 'routes.demo.permission.backBtn',
  76. },
  77. },
  78. ],
  79. };
  80. const authRoute = {
  81. path: '/permission',
  82. name: 'Permission',
  83. component: 'LAYOUT',
  84. redirect: '/permission/front/page',
  85. meta: {
  86. icon: 'carbon:user-role',
  87. title: 'routes.demo.permission.permission',
  88. },
  89. children: [frontRoute, backRoute],
  90. };
  91. const authRoute1 = {
  92. path: '/permission',
  93. name: 'Permission',
  94. component: 'LAYOUT',
  95. redirect: '/permission/front/page',
  96. meta: {
  97. icon: 'carbon:user-role',
  98. title: 'routes.demo.permission.permission',
  99. },
  100. children: [backRoute],
  101. };
  102. const levelRoute = {
  103. path: '/level',
  104. name: 'Level',
  105. component: 'LAYOUT',
  106. redirect: '/level/menu1/menu1-1',
  107. meta: {
  108. icon: 'carbon:user-role',
  109. title: 'routes.demo.level.level',
  110. },
  111. children: [
  112. {
  113. path: 'menu1',
  114. name: 'Menu1Demo',
  115. meta: {
  116. title: 'Menu1',
  117. },
  118. children: [
  119. {
  120. path: 'menu1-1',
  121. name: 'Menu11Demo',
  122. meta: {
  123. title: 'Menu1-1',
  124. },
  125. children: [
  126. {
  127. path: 'menu1-1-1',
  128. name: 'Menu111Demo',
  129. component: '/demo/level/Menu111',
  130. meta: {
  131. title: 'Menu111',
  132. },
  133. },
  134. ],
  135. },
  136. {
  137. path: 'menu1-2',
  138. name: 'Menu12Demo',
  139. component: '/demo/level/Menu12',
  140. meta: {
  141. title: 'Menu1-2',
  142. },
  143. },
  144. ],
  145. },
  146. {
  147. path: 'menu2',
  148. name: 'Menu2Demo',
  149. component: '/demo/level/Menu2',
  150. meta: {
  151. title: 'Menu2',
  152. },
  153. },
  154. ],
  155. };
  156. export default [
  157. {
  158. url: '/api/getMenuListById',
  159. timeout: 1000,
  160. method: 'get',
  161. response: ({ query }) => {
  162. const { id } = query;
  163. if (!id || id === '1') {
  164. return resultSuccess([dashboardRoute, authRoute, levelRoute]);
  165. }
  166. if (id === '2') {
  167. return resultSuccess([dashboardRoute, authRoute1, levelRoute]);
  168. }
  169. },
  170. },
  171. ] as MockMethod[];