mock-data.ts 4.2 KB

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