mock-data.ts 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. export interface UserInfo {
  2. id: number;
  3. password: string;
  4. realName: string;
  5. roles: string[];
  6. username: string;
  7. homePath?: string;
  8. }
  9. export const MOCK_USERS: UserInfo[] = [
  10. {
  11. id: 0,
  12. password: '123456',
  13. realName: 'Vben',
  14. roles: ['super'],
  15. username: 'vben',
  16. },
  17. {
  18. id: 1,
  19. password: '123456',
  20. realName: 'Admin',
  21. roles: ['admin'],
  22. username: 'admin',
  23. homePath: '/workspace',
  24. },
  25. {
  26. id: 2,
  27. password: '123456',
  28. realName: 'Jack',
  29. roles: ['user'],
  30. username: 'jack',
  31. homePath: '/analytics',
  32. },
  33. ];
  34. export const MOCK_CODES = [
  35. // super
  36. {
  37. codes: ['AC_100100', 'AC_100110', 'AC_100120', 'AC_100010'],
  38. username: 'vben',
  39. },
  40. {
  41. // admin
  42. codes: ['AC_100010', 'AC_100020', 'AC_100030'],
  43. username: 'admin',
  44. },
  45. {
  46. // user
  47. codes: ['AC_1000001', 'AC_1000002'],
  48. username: 'jack',
  49. },
  50. ];
  51. const dashboardMenus = [
  52. {
  53. component: 'BasicLayout',
  54. meta: {
  55. order: -1,
  56. title: 'page.dashboard.title',
  57. },
  58. name: 'Dashboard',
  59. path: '/',
  60. redirect: '/analytics',
  61. children: [
  62. {
  63. name: 'Analytics',
  64. path: '/analytics',
  65. component: '/dashboard/analytics/index',
  66. meta: {
  67. affixTab: true,
  68. title: 'page.dashboard.analytics',
  69. },
  70. },
  71. {
  72. name: 'Workspace',
  73. path: '/workspace',
  74. component: '/dashboard/workspace/index',
  75. meta: {
  76. title: 'page.dashboard.workspace',
  77. },
  78. },
  79. ],
  80. },
  81. ];
  82. const createDemosMenus = (role: 'admin' | 'super' | 'user') => {
  83. const roleWithMenus = {
  84. admin: {
  85. component: '/demos/access/admin-visible',
  86. meta: {
  87. icon: 'mdi:button-cursor',
  88. title: 'demos.access.adminVisible',
  89. },
  90. name: 'AccessAdminVisibleDemo',
  91. path: '/demos/access/admin-visible',
  92. },
  93. super: {
  94. component: '/demos/access/super-visible',
  95. meta: {
  96. icon: 'mdi:button-cursor',
  97. title: 'demos.access.superVisible',
  98. },
  99. name: 'AccessSuperVisibleDemo',
  100. path: '/demos/access/super-visible',
  101. },
  102. user: {
  103. component: '/demos/access/user-visible',
  104. meta: {
  105. icon: 'mdi:button-cursor',
  106. title: 'demos.access.userVisible',
  107. },
  108. name: 'AccessUserVisibleDemo',
  109. path: '/demos/access/user-visible',
  110. },
  111. };
  112. return [
  113. {
  114. component: 'BasicLayout',
  115. meta: {
  116. icon: 'ic:baseline-view-in-ar',
  117. keepAlive: true,
  118. order: 1000,
  119. title: 'demos.title',
  120. },
  121. name: 'Demos',
  122. path: '/demos',
  123. redirect: '/demos/access',
  124. children: [
  125. {
  126. name: 'AccessDemos',
  127. path: '/demosaccess',
  128. meta: {
  129. icon: 'mdi:cloud-key-outline',
  130. title: 'demos.access.backendPermissions',
  131. },
  132. redirect: '/demos/access/page-control',
  133. children: [
  134. {
  135. name: 'AccessPageControlDemo',
  136. path: '/demos/access/page-control',
  137. component: '/demos/access/index',
  138. meta: {
  139. icon: 'mdi:page-previous-outline',
  140. title: 'demos.access.pageAccess',
  141. },
  142. },
  143. {
  144. name: 'AccessButtonControlDemo',
  145. path: '/demos/access/button-control',
  146. component: '/demos/access/button-control',
  147. meta: {
  148. icon: 'mdi:button-cursor',
  149. title: 'demos.access.buttonControl',
  150. },
  151. },
  152. {
  153. name: 'AccessMenuVisible403Demo',
  154. path: '/demos/access/menu-visible-403',
  155. component: '/demos/access/menu-visible-403',
  156. meta: {
  157. authority: ['no-body'],
  158. icon: 'mdi:button-cursor',
  159. menuVisibleWithForbidden: true,
  160. title: 'demos.access.menuVisible403',
  161. },
  162. },
  163. roleWithMenus[role],
  164. ],
  165. },
  166. ],
  167. },
  168. ];
  169. };
  170. export const MOCK_MENUS = [
  171. {
  172. menus: [...dashboardMenus, ...createDemosMenus('super')],
  173. username: 'vben',
  174. },
  175. {
  176. menus: [...dashboardMenus, ...createDemosMenus('admin')],
  177. username: 'admin',
  178. },
  179. {
  180. menus: [...dashboardMenus, ...createDemosMenus('user')],
  181. username: 'jack',
  182. },
  183. ];