Api.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. namespace UCore\Helper;
  3. class Api
  4. {
  5. /**
  6. * API,错误返回
  7. * @param $message
  8. * @param $code
  9. * @param $data
  10. * @return false|string
  11. */
  12. static public function error($message = '错误',$code = 400,$data =[])
  13. {
  14. return static::return_json($code,$message,$data,false);
  15. }
  16. /**
  17. * 成功的返回
  18. * @param $data
  19. * @param $message
  20. * @param $code
  21. * @return false|string
  22. */
  23. static public function successData($data,$message = '成功',$code = 200)
  24. {
  25. return self::return_json($code,$message,$data,true);
  26. }
  27. /**
  28. * 进行res 数据判定返回
  29. *
  30. * @param $data
  31. * @param $message
  32. * @param $code
  33. * @return false|string
  34. */
  35. static public function resData($data,$message = '成功',$code = 200)
  36. {
  37. if(is_string($data)){
  38. return self::error($data);
  39. }
  40. return self::return_json($code,$message,$data,true);
  41. }
  42. /**
  43. * 返回验证错误
  44. *
  45. * @param ValidationCore $validationCore
  46. * @return void
  47. */
  48. static public function returnValidation(ValidationCore $validationCore,$msg = null)
  49. {
  50. $msg =$msg?? $validationCore->firstError();
  51. return self::return_json(422,$msg,$validationCore->getSourceData(),false);
  52. }
  53. /**
  54. * 处理Laravel的验证错误
  55. * @param \Illuminate\Validation\ValidationException $validationException
  56. * @return false|string
  57. */
  58. static public function returnValidationException(\Illuminate\Validation\ValidationException $validationException)
  59. {
  60. return self::return_json(422,$validationException->getMessage(),$validationException->validator->getData(),false);
  61. }
  62. /**
  63. * 组织API返回json串
  64. * @param $code
  65. * @param $msg
  66. * @param $data
  67. * @return false|string
  68. */
  69. static public function return_json($code = 200, $msg = '', $data = [],$success = true)
  70. {
  71. $json = json_encode([
  72. "success"=>$success,
  73. 'code' => $code,
  74. 'message' => $msg,
  75. 'data' => $data,
  76. 'unid' => RUN_UNIQID
  77. ]);
  78. return response($json);
  79. }
  80. /**
  81. * 多判断返回
  82. * @param $data
  83. * @param $msg
  84. * @return false|string|null
  85. */
  86. static public function returnRes($data ,$msg = [])
  87. {
  88. if(is_string($data)){
  89. return self::error($data,$msg);
  90. }
  91. if($data instanceof ValidationCore ){
  92. return self::returnValidation($data);
  93. }
  94. return self::successData($data,$data);
  95. }
  96. }