JsonReturn.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Traits;
  3. use Illuminate\Http\JsonResponse;
  4. use Illuminate\Support\Facades\Log;
  5. trait JsonReturn
  6. {
  7. /**
  8. * 成功响应
  9. * @param $data
  10. * @param string $message
  11. * @param int $code
  12. * @return JsonResponse
  13. */
  14. public function success($data = null, string $message = 'success', int $code = 0): JsonResponse
  15. {
  16. return response()->json([
  17. 'status' => $code,
  18. 'data' => $data,
  19. 'message' => $message,
  20. 'meta' => [
  21. 'request_id' => request('request_id'),
  22. 'timestamp' => now()->toDateTimeString(),
  23. ],
  24. ], 200);
  25. }
  26. /**
  27. * 错误响应
  28. * @param int $code
  29. * @param string $message
  30. * @param array $errors
  31. * @return JsonResponse
  32. */
  33. public function error(int $code = 1, string $message = 'error', array $errors = []): JsonResponse
  34. {
  35. Log::error("响应错误:" . var_export($errors, true));
  36. return response()->json([
  37. 'status' => $code,
  38. 'message' => $message,
  39. 'errors' => $errors,
  40. 'meta' => [
  41. 'request_id' => request('request_id'),
  42. 'timestamp' => now()->toDateTimeString(),
  43. ],
  44. ], 500);
  45. }
  46. }