mock-api.ts 770 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { MOCK_API_DATA } from './table-data';
  2. export namespace DemoTableApi {
  3. export interface PageFetchParams {
  4. [key: string]: any;
  5. page: number;
  6. pageSize: number;
  7. }
  8. }
  9. export function sleep(time = 1000) {
  10. return new Promise((resolve) => {
  11. setTimeout(() => {
  12. resolve(true);
  13. }, time);
  14. });
  15. }
  16. /**
  17. * 获取示例表格数据
  18. */
  19. async function getExampleTableApi(params: DemoTableApi.PageFetchParams) {
  20. return new Promise<{ items: any; total: number }>((resolve) => {
  21. const { page, pageSize } = params;
  22. const items = MOCK_API_DATA.slice((page - 1) * pageSize, page * pageSize);
  23. sleep(1000).then(() => {
  24. resolve({
  25. total: items.length,
  26. items,
  27. });
  28. });
  29. });
  30. }
  31. export { getExampleTableApi };