CatchResponse.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. declare(strict_types=1);
  3. namespace catcher;
  4. use think\Paginator;
  5. use think\response\Json;
  6. class CatchResponse
  7. {
  8. /**
  9. * 成功的响应
  10. *
  11. * @time 2019年12月02日
  12. * @param array $data
  13. * @param $msg
  14. * @param int $code
  15. * @return Json
  16. */
  17. public static function success($data = [], $msg = 'success', $code = Code::SUCCESS): Json
  18. {
  19. return json([
  20. 'code' => $code,
  21. 'message' => $msg,
  22. 'data' => $data,
  23. ]);
  24. }
  25. /**
  26. * 分页
  27. *
  28. * @time 2019年12月06日
  29. * @param Paginator $list
  30. * @return
  31. */
  32. public static function paginate(Paginator $list)
  33. {
  34. return json([
  35. 'code' => Code::SUCCESS,
  36. 'message' => 'success',
  37. 'count' => $list->total(),
  38. 'current' => $list->currentPage(),
  39. 'limit' => $list->listRows(),
  40. 'data' => $list->getCollection(),
  41. ]);
  42. }
  43. /**
  44. * 错误的响应
  45. *
  46. * @time 2019年12月02日
  47. * @param string $msg
  48. * @param int $code
  49. * @return Json
  50. */
  51. public static function fail($msg = '', $code = Code::FAILED): Json
  52. {
  53. return json([
  54. 'code' => $code,
  55. 'message' => $msg,
  56. ]);
  57. }
  58. }