Controller.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace App\Http\Controllers\Api\V1;
  3. use Illuminate\Foundation\Bus\DispatchesJobs;
  4. use Illuminate\Routing\Controller as BaseController;
  5. use Illuminate\Foundation\Validation\ValidatesRequests;
  6. use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
  7. use App\Services\Base\ErrorCode;
  8. use Request, Response, Auth,Log;
  9. class Controller extends BaseController
  10. {
  11. use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
  12. // protected $_data = null;
  13. protected $_user = null;
  14. public function __construct() {
  15. $this->middleware('auth:api', [
  16. 'except' => [
  17. 'upload', 'delete', 'reset', 'login', 'get', 'register', 'alipayNotify', 'wechatpayNotify',
  18. 'get', 'area', 'get_province', 'get_city', 'get_county', 'test'
  19. ]
  20. ]);
  21. }
  22. // public function saveLastIp() {
  23. // if ($this->_user !== null) {
  24. // $this->_user->save();
  25. // }
  26. // }
  27. public function rawPostData() {
  28. $request = Request::instance();
  29. $data = $request->getContent();
  30. return json_decode($data, true);
  31. }
  32. public function rawApi($data, $code = 0, $message = '') {
  33. $ret = $this->genApiData($data, $code, $message);
  34. return json_encode($ret);
  35. }
  36. public function api($data, $code = 0, $message = '') {
  37. $ret = $this->genApiData($data, $code, $message);
  38. $status = $code === 0 ? 200 : 400;
  39. return Response::json($ret, $status);
  40. }
  41. public function validatorError($arr, $code = 0, $message = '') {
  42. Log::info($arr);
  43. foreach ($arr as $val){
  44. if($val&&$message==''){
  45. $message = $val;
  46. }
  47. }
  48. $ret = $this->genApiData(null, $code, $message);
  49. $status = $code === 0 ? 200 : 400;
  50. return Response::json($ret, $status);
  51. }
  52. public function error($code, $message = '', $data = null) {
  53. return $this->api($data, $code, $message);
  54. }
  55. public function rawError($code, $message = '') {
  56. echo $this->rawApi(null, $code, $message);
  57. exit;
  58. }
  59. private function genApiData($data, $code = 0, $message = '') {
  60. if ($code !== 0 && ErrorCode::CLIENT_WRONG_PARAMS && empty($message)) {
  61. $message = ErrorCode::message($code);
  62. }
  63. $ret = [
  64. 'status' => $code == 0,
  65. 'status_code' => $code,
  66. 'message' => $message,
  67. 'data' => $data
  68. ];
  69. return $ret;
  70. }
  71. }