role.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. newKeys.push(key);
  8. });
  9. return Array.from(new Set(newKeys));
  10. }
  11. const roleList = (pageSize) => {
  12. const result: any[] = [];
  13. doCustomTimes(pageSize, () => {
  14. result.push({
  15. id: '@integer(10,100)',
  16. name: '@cname()',
  17. explain: '@cname()',
  18. isDefault: '@boolean()',
  19. menu_keys: getMenuKeys(),
  20. create_date: `@date('yyyy-MM-dd hh:mm:ss')`,
  21. 'status|1': ['normal', 'enable', 'disable'],
  22. });
  23. });
  24. return result;
  25. };
  26. export default [
  27. {
  28. url: '/api/role/list',
  29. timeout: 1000,
  30. method: 'get',
  31. response: ({ query }) => {
  32. const { page = 1, pageSize = 10 } = query;
  33. const list = roleList(Number(pageSize));
  34. return resultSuccess({
  35. page: Number(page),
  36. pageSize: Number(pageSize),
  37. pageCount: 60,
  38. list,
  39. });
  40. },
  41. },
  42. ];