_util.ts 1005 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. const offset = (pageNo - 1) * Number(pageSize);
  37. const ret =
  38. offset + Number(pageSize) >= array.length
  39. ? array.slice(offset, array.length)
  40. : array.slice(offset, offset + Number(pageSize));
  41. return ret;
  42. }