Controller.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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', 'indexMenu', 'userRelease', 'indexTag', 'indexMessage', 'indexGetMessage', 'userEditFavorite', 'userFavorite', 'userMyMessage', 'userMessageDetail', 'userGetMessages'
  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 getUserId()
  41. {
  42. return 1;
  43. return session('user_id');
  44. }
  45. public function rawPostData() {
  46. $request = Request::instance();
  47. $data = $request->getContent();
  48. return json_decode($data, true);
  49. }
  50. public function rawApi($data, $code = 0, $message = '') {
  51. $ret = $this->genApiData($data, $code, $message);
  52. return json_encode($ret);
  53. }
  54. public function api($data, $code = 0, $message = '') {
  55. $ret = $this->genApiData($data, $code, $message);
  56. $status = $code === 0 ? 200 : 400;
  57. return Response::json($ret, $status);
  58. }
  59. public function validatorError($arr, $code = 0, $message = '') {
  60. Log::info($arr);
  61. foreach ($arr as $val){
  62. if($val&&$message==''){
  63. $message = $val;
  64. }
  65. }
  66. $ret = $this->genApiData(null, $code, $message);
  67. $status = $code === 0 ? 200 : 400;
  68. return Response::json($ret, $status);
  69. }
  70. public function error($code, $message = '', $data = null) {
  71. return $this->api($data, $code, $message);
  72. }
  73. public function rawError($code, $message = '') {
  74. echo $this->rawApi(null, $code, $message);
  75. exit;
  76. }
  77. private function genApiData($data, $code = 0, $message = '') {
  78. if ($code !== 0 && ErrorCode::CLIENT_WRONG_PARAMS && empty($message)) {
  79. $message = ErrorCode::message($code);
  80. }
  81. $ret = [
  82. 'status' => $code == 0,
  83. 'status_code' => $code,
  84. 'message' => $message,
  85. 'data' => $data
  86. ];
  87. return $ret;
  88. }
  89. }