海南旅游SAAS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.2 KiB

  1. <?php
  2. namespace App\Traits;
  3. use Throwable;
  4. use Illuminate\Support\Facades\Response;
  5. trait ResponseHelper
  6. {
  7. public function jsonSuccess($data = [], $metalData = [], $code = 0, $msg = 'success')
  8. {
  9. return Response::json([
  10. 'code' => $code,
  11. 'msg' => $msg,
  12. 'data' => $data,
  13. 'metal_data' => $metalData,
  14. ]);
  15. }
  16. public function jsonFail($code = 0, $msg = 'fail', $data = [], $metalData = [])
  17. {
  18. return Response::json([
  19. 'code' => $code,
  20. 'msg' => $msg,
  21. 'data' => $data,
  22. 'metal_data' => $metalData,
  23. ]);
  24. }
  25. public function jsonFailValidated($msg = 'validate fail', $code = 5000, $data = [], $metalData = [])
  26. {
  27. return Response::json([
  28. 'code' => $code,
  29. 'msg' => $msg,
  30. 'data' => $data,
  31. 'metal_data' => $metalData,
  32. ]);
  33. }
  34. public function jsonException(Throwable $e, $statusCode = 200)
  35. {
  36. return Response::json([
  37. 'code' => $e->getCode() ?: $statusCode,
  38. 'msg' => $e->getMessage(),
  39. 'data' => [],
  40. 'metal_data' => [],
  41. ], 500);
  42. }
  43. }