Controller.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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', 'getCode', 'reset', 'login', 'get', 'register', 'alipayNotify', 'wechatpayNotify',
  18. 'get', 'area', 'get_province', 'get_city', 'get_county', 'test',
  19. ]
  20. ]);
  21. // \DB::connection()->enableQueryLog();
  22. // $queries = \DB::getQueryLog();
  23. // dd($queries);
  24. // $this->_user = Auth::user();
  25. // if ($this->_user !== null) {
  26. // $this->_user->last_ip = Request::ip();
  27. // }
  28. // $data = $this->rawPostData();
  29. // if (!$this->checkSignature($data, env('APP_SECRET'))) {
  30. // $this->rawError(ErrorCode::CLIENT_APP_CHECKSUM_ERROR);
  31. // }
  32. // unset($data['nonce_str'], $data['timestamp'], $data['sig']);
  33. // $this->_data = $data;
  34. }
  35. // public function saveLastIp() {
  36. // if ($this->_user !== null) {
  37. // $this->_user->save();
  38. // }
  39. // }
  40. public function rawPostData() {
  41. $request = Request::instance();
  42. $data = $request->getContent();
  43. return json_decode($data, true);
  44. }
  45. public function rawApi($data, $code = 0, $message = '') {
  46. $ret = $this->genApiData($data, $code, $message);
  47. return json_encode($ret);
  48. }
  49. public function api($data, $code = 0, $message = '') {
  50. $ret = $this->genApiData($data, $code, $message);
  51. $status = $code === 0 ? 200 : 400;
  52. return Response::json($ret, $status);
  53. }
  54. public function validatorError($arr, $code = 0, $message = '') {
  55. Log::info($arr);
  56. foreach ($arr as $val){
  57. if($val&&$message==''){
  58. $message = $val;
  59. }
  60. }
  61. $ret = $this->genApiData(null, $code, $message);
  62. $status = $code === 0 ? 200 : 400;
  63. return Response::json($ret, $status);
  64. }
  65. public function error($code, $message = '', $data = null) {
  66. return $this->api($data, $code, $message);
  67. }
  68. public function rawError($code, $message = '') {
  69. echo $this->rawApi(null, $code, $message);
  70. exit;
  71. }
  72. private function genApiData($data, $code = 0, $message = '') {
  73. if ($code !== 0 && ErrorCode::CLIENT_WRONG_PARAMS && empty($message)) {
  74. $message = ErrorCode::message($code);
  75. }
  76. $ret = [
  77. 'status' => $code == 0,
  78. 'status_code' => $code,
  79. 'message' => $message,
  80. 'data' => $data
  81. ];
  82. return $ret;
  83. }
  84. }