role.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { resultSuccess, doCustomTimes } from '../_util';
  2. function getMenuKeys() {
  3. const keys = ['dashboard', 'console', 'workplace', 'basic-form', 'step-form', 'detail'];
  4. const newKeys = [];
  5. doCustomTimes(parseInt(Math.random() * 6), () => {
  6. const key = keys[Math.floor(Math.random() * keys.length)];
  7. // @ts-ignore
  8. newKeys.push(key);
  9. });
  10. return Array.from(new Set(newKeys));
  11. }
  12. const roleList = (pageSize) => {
  13. const result: any[] = [];
  14. doCustomTimes(pageSize, () => {
  15. result.push({
  16. id: '@integer(10,100)',
  17. name: '@cname()',
  18. explain: '@cname()',
  19. isDefault: '@boolean()',
  20. menu_keys: getMenuKeys(),
  21. create_date: `@date('yyyy-MM-dd hh:mm:ss')`,
  22. 'status|1': ['normal', 'enable', 'disable'],
  23. });
  24. });
  25. return result;
  26. };
  27. export default [
  28. {
  29. url: '/api/role/list',
  30. timeout: 1000,
  31. method: 'get',
  32. response: ({ query }) => {
  33. const { page = 1, pageSize = 10 } = query;
  34. const list = roleList(Number(pageSize));
  35. return resultSuccess({
  36. page: Number(page),
  37. pageSize: Number(pageSize),
  38. pageCount: 60,
  39. list,
  40. });
  41. },
  42. },
  43. ];