role.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { resultSuccess, doCustomTimes } from '../_util';
  2. function getMenuKeys() {
  3. const keys = ['dashboard', 'console', 'workplace', 'basic-form', 'step-form', 'detail'];
  4. const newKeys: string[] = [];
  5. doCustomTimes(parseInt(Math.random() * 6), () => {
  6. const key: string = 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: 30,
  38. itemCount: 30 * Number(pageSize),
  39. list,
  40. });
  41. },
  42. },
  43. ];