_util.ts 849 B

1234567891011121314151617181920212223242526272829303132333435363738
  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>(items: T[], total: number, { message = 'ok' } = {}) {
  11. return {
  12. code: 0,
  13. result: {
  14. items,
  15. total,
  16. },
  17. message,
  18. type: 'success',
  19. };
  20. }
  21. export function resultError(message = 'Request failed', { code = -1, result = null } = {}) {
  22. return {
  23. code,
  24. result,
  25. message,
  26. type: 'error',
  27. };
  28. }
  29. export function pagination<T = any>(pageNo: number, pageSize: number, array: T[]): T[] {
  30. let offset = (pageNo - 1) * pageSize;
  31. return offset + pageSize >= array.length
  32. ? array.slice(offset, array.length)
  33. : array.slice(offset, offset + pageSize);
  34. }