Controller.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. namespace App\Http\Controllers\Api\V1;
  3. use App\Models\UserInfoModel;
  4. use Illuminate\Foundation\Bus\DispatchesJobs;
  5. use Illuminate\Routing\Controller as BaseController;
  6. use Illuminate\Foundation\Validation\ValidatesRequests;
  7. use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
  8. use App\Services\Base\ErrorCode;
  9. use Request, Response, Auth,Log;
  10. class Controller extends BaseController
  11. {
  12. use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
  13. // protected $_data = null;
  14. protected $user = null;
  15. public function getUser()
  16. {
  17. // $this->user = UserInfoModel::where('phone','13880642880')->first();
  18. $this->user = Auth::user();
  19. return $this->user;
  20. }
  21. public function __construct() {
  22. /*
  23. $this->middleware('auth:api', [
  24. 'except' => [
  25. 'upload', 'getCode', 'reset', 'login', 'get', 'register', 'alipayNotify', 'wechatpayNotify',
  26. 'get', 'area', 'get_province', 'get_city', 'get_county', 'test','/home/index'
  27. ]
  28. ]);*/
  29. // \DB::connection()->enableQueryLog();
  30. // $queries = \DB::getQueryLog();
  31. // dd($queries);
  32. // $this->_user = Auth::user();
  33. // if ($this->_user !== null) {
  34. // $this->_user->last_ip = Request::ip();
  35. // }
  36. // $data = $this->rawPostData();
  37. // if (!$this->checkSignature($data, env('APP_SECRET'))) {
  38. // $this->rawError(ErrorCode::CLIENT_APP_CHECKSUM_ERROR);
  39. // }
  40. // unset($data['nonce_str'], $data['timestamp'], $data['sig']);
  41. // $this->_data = $data;
  42. }
  43. // public function saveLastIp() {
  44. // if ($this->_user !== null) {
  45. // $this->_user->save();
  46. // }
  47. // }
  48. public function rawPostData() {
  49. $request = Request::instance();
  50. $data = $request->getContent();
  51. return json_decode($data, true);
  52. }
  53. public function rawApi($data, $code = 0, $message = '') {
  54. $ret = $this->genApiData($data, $code, $message);
  55. return json_encode($ret);
  56. }
  57. public function api($data, $code = 0, $message = '') {
  58. $ret = $this->genApiData($data, $code, $message);
  59. $status = $code === 0 ? 200 : 400;
  60. return Response::json($ret, $status);
  61. }
  62. public function validatorError($arr, $code = 0, $message = '') {
  63. Log::info($arr);
  64. foreach ($arr as $val){
  65. if($val&&$message==''){
  66. $message = $val;
  67. }
  68. }
  69. $ret = $this->genApiData(null, $code, $message);
  70. $status = $code === 0 ? 200 : 400;
  71. return Response::json($ret, $status);
  72. }
  73. public function error($code, $message = '', $data = null) {
  74. return $this->api($data, $code, $message);
  75. }
  76. public function rawError($code, $message = '') {
  77. echo $this->rawApi(null, $code, $message);
  78. exit;
  79. }
  80. private function genApiData($data, $code = 0, $message = '') {
  81. if ($code !== 0 && ErrorCode::CLIENT_WRONG_PARAMS && empty($message)) {
  82. $message = ErrorCode::message($code);
  83. }
  84. $ret = [
  85. 'status' => $code == 0,
  86. 'status_code' => $code,
  87. 'message' => $message,
  88. 'data' => $data
  89. ];
  90. return $ret;
  91. }
  92. }