_util.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*
  2. * @Description:
  3. * @Author: zcf
  4. * @Date: 2022-06-15 14:54:58
  5. * @LastEditTime: 2022-06-23 22:09:35
  6. * @LastEditors: zcf
  7. */
  8. import Mock from 'mockjs'
  9. export function resultSuccess(data, { msg = 'ok' } = {}) {
  10. return Mock.mock({
  11. code: 200,
  12. data,
  13. msg,
  14. type: 'success'
  15. })
  16. }
  17. export function resultPageSuccess(page, pageSize, list, { msg = 'ok' } = {}) {
  18. const pageData = pagination(page, pageSize, list)
  19. return {
  20. ...resultSuccess({
  21. page,
  22. pageSize,
  23. pageCount: list.length,
  24. list: pageData
  25. }),
  26. msg
  27. }
  28. }
  29. export function resultError(msg = 'Request failed', { code = -1, data = null } = {}) {
  30. return {
  31. code,
  32. data,
  33. msg,
  34. type: 'error'
  35. }
  36. }
  37. export function pagination(pageNo, pageSize, array) {
  38. const offset = (pageNo - 1) * Number(pageSize)
  39. const ret =
  40. offset + Number(pageSize) >= array.length
  41. ? array.slice(offset, array.length)
  42. : array.slice(offset, offset + Number(pageSize))
  43. return ret
  44. }
  45. /**
  46. * @param {Number} times 回调函数需要执行的次数
  47. * @param {Function} callback 回调函数
  48. */
  49. export function doCustomTimes(times, callback) {
  50. let i = -1
  51. while (++i < times) {
  52. callback(i)
  53. }
  54. }
  55. /**
  56. * @description 本函数用于从request数据中获取token,请根据项目的实际情况修改
  57. *
  58. */
  59. export function getRequestToken({ headers }) {
  60. return headers?.token
  61. }