ERROR_CODE_OK, 'data' => [], 'message' => '' ]; protected $_headers = [ 'Access-Control-Allow-Origin' => '*', 'Access-Control-Allow-Methods' => 'POST,GET,OPTIONS,DELETE,PUT', 'Access-Control-Allow-Headers' => 'Origin, X-Requested-With, Content-Type, Accept, Authorization', 'Content-Type' => 'application/json; charset=UTF-8' ]; protected $_errorMessage = [ ERROR_CODE_INTERNAL_ERROR => 'Unable to request server', ]; public function response($code, $data = [], $message = "") { $this->setCode($code)->setData($data)->setMsg($message); return new JsonResponse($this->_data, 200, $this->_headers, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); } public function authExpire($msg = "η™»ι™†θΏ‡ζœŸ") { $this->setMsg($msg)->setCode(ERROR_CODE_PERMISSION_NO); return new JsonResponse($this->_data, 401, $this->_headers, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); } public function foxResponse(Result $res) { return $this->response($res->getCode(), $res->getData(), $res->getMsg()); } public function success($data = [], $msg = 'Ok') { return $this->response(ERROR_CODE_OK, $data, $msg); } public function error($code = ERROR_CODE_PARAM_INVALID, $msg = "", $data = []) { if (empty($msg)) { $msg = Arr::get($this->_errorMessage, $code, ""); } return $this->response($code, $data, $msg); } protected function setCode($code) { Arr::set($this->_data, 'code', $code); return $this; } protected function setData($data) { Arr::set($this->_data, 'data', $data); return $this; } protected function setMsg($msg) { Arr::set($this->_data, 'message', $msg); return $this; } protected function appendData($data = []) { $this->_data = array_merge($this->_data, (array)$data); return $this; } protected function setNewData($field, $value) { Arr::set($this->_data, $field, $value); return $this; } protected function setHeader($name, $value) { Arr::set($this->_headers, $name, $value); return $this; } protected function download($file, $target_name) { return \response()->download($file, $target_name, ['Access-Control-Allow-Origin' => '*']); } }