mock-data.ts 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  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. meta: {
  54. order: -1,
  55. title: 'page.dashboard.title',
  56. },
  57. name: 'Dashboard',
  58. path: '/',
  59. redirect: '/analytics',
  60. children: [
  61. {
  62. name: 'Analytics',
  63. path: '/analytics',
  64. component: '/dashboard/analytics/index',
  65. meta: {
  66. affixTab: true,
  67. title: 'page.dashboard.analytics',
  68. },
  69. },
  70. {
  71. name: 'Workspace',
  72. path: '/workspace',
  73. component: '/dashboard/workspace/index',
  74. meta: {
  75. title: 'page.dashboard.workspace',
  76. },
  77. },
  78. ],
  79. },
  80. ];
  81. const createDemosMenus = (role: 'admin' | 'super' | 'user') => {
  82. const roleWithMenus = {
  83. admin: {
  84. component: '/demos/access/admin-visible',
  85. meta: {
  86. icon: 'mdi:button-cursor',
  87. title: 'demos.access.adminVisible',
  88. },
  89. name: 'AccessAdminVisibleDemo',
  90. path: '/demos/access/admin-visible',
  91. },
  92. super: {
  93. component: '/demos/access/super-visible',
  94. meta: {
  95. icon: 'mdi:button-cursor',
  96. title: 'demos.access.superVisible',
  97. },
  98. name: 'AccessSuperVisibleDemo',
  99. path: '/demos/access/super-visible',
  100. },
  101. user: {
  102. component: '/demos/access/user-visible',
  103. meta: {
  104. icon: 'mdi:button-cursor',
  105. title: 'demos.access.userVisible',
  106. },
  107. name: 'AccessUserVisibleDemo',
  108. path: '/demos/access/user-visible',
  109. },
  110. };
  111. return [
  112. {
  113. meta: {
  114. icon: 'ic:baseline-view-in-ar',
  115. keepAlive: true,
  116. order: 1000,
  117. title: 'demos.title',
  118. },
  119. name: 'Demos',
  120. path: '/demos',
  121. redirect: '/demos/access',
  122. children: [
  123. {
  124. name: 'AccessDemos',
  125. path: '/demosaccess',
  126. meta: {
  127. icon: 'mdi:cloud-key-outline',
  128. title: 'demos.access.backendPermissions',
  129. },
  130. redirect: '/demos/access/page-control',
  131. children: [
  132. {
  133. name: 'AccessPageControlDemo',
  134. path: '/demos/access/page-control',
  135. component: '/demos/access/index',
  136. meta: {
  137. icon: 'mdi:page-previous-outline',
  138. title: 'demos.access.pageAccess',
  139. },
  140. },
  141. {
  142. name: 'AccessButtonControlDemo',
  143. path: '/demos/access/button-control',
  144. component: '/demos/access/button-control',
  145. meta: {
  146. icon: 'mdi:button-cursor',
  147. title: 'demos.access.buttonControl',
  148. },
  149. },
  150. {
  151. name: 'AccessMenuVisible403Demo',
  152. path: '/demos/access/menu-visible-403',
  153. component: '/demos/access/menu-visible-403',
  154. meta: {
  155. authority: ['no-body'],
  156. icon: 'mdi:button-cursor',
  157. menuVisibleWithForbidden: true,
  158. title: 'demos.access.menuVisible403',
  159. },
  160. },
  161. roleWithMenus[role],
  162. ],
  163. },
  164. ],
  165. },
  166. ];
  167. };
  168. export const MOCK_MENUS = [
  169. {
  170. menus: [...dashboardMenus, ...createDemosMenus('super')],
  171. username: 'vben',
  172. },
  173. {
  174. menus: [...dashboardMenus, ...createDemosMenus('admin')],
  175. username: 'admin',
  176. },
  177. {
  178. menus: [...dashboardMenus, ...createDemosMenus('user')],
  179. username: 'jack',
  180. },
  181. ];