_util.ts 952 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // Interface data format used to return a unified format
  2. export function resultSuccess<T = any>(result: T, { message = 'ok' } = {}) {
  3. return {
  4. code: 0,
  5. result,
  6. message,
  7. type: 'success',
  8. };
  9. }
  10. export function resultPageSuccess<T = any>(
  11. page: number,
  12. pageSize: number,
  13. list: T[],
  14. { message = 'ok' } = {}
  15. ) {
  16. const pageData = pagination(page, pageSize, list);
  17. return {
  18. code: 0,
  19. result: {
  20. items: pageData,
  21. total: list.length,
  22. },
  23. message,
  24. type: 'success',
  25. };
  26. }
  27. export function resultError(message = 'Request failed', { code = -1, result = null } = {}) {
  28. return {
  29. code,
  30. result,
  31. message,
  32. type: 'error',
  33. };
  34. }
  35. export function pagination<T = any>(pageNo: number, pageSize: number, array: T[]): T[] {
  36. let offset = (pageNo - 1) * pageSize;
  37. return offset + pageSize >= array.length
  38. ? array.slice(offset, array.length)
  39. : array.slice(offset, offset + pageSize);
  40. }