requestType = Request::method(); // 控制器初始化 $this->_initialize(); // 跨域请求检测 $this->_checkCors(); } /** * 初始化操作 */ protected function _initialize() { // 初始化操作 } /** * 跨域检测 * @deprecated 已由全局中间件 AllowCrossDomain 处理,此方法保留用于兼容 */ protected function _checkCors() { // 由全局中间件处理跨域,此处不再处理 if ($this->requestType === 'OPTIONS') { Response::create()->send(); exit; } } /** * 操作成功返回的数据 * @param string $msg 提示信息 * @param mixed $data 返回的数据 * @param int $code 错误码,默认为1 * @param string $type 输出类型 * @param array $header 发送的header信息 */ protected function success($msg = '', $data = null, $code = 1, $type = null, array $header = []) { $this->result($msg, $data, $code, $type, $header); } /** * 操作失败返回的数据 * @param string $msg 提示信息 * @param mixed $data 返回的数据 * @param int $code 错误码,默认为0 * @param string $type 输出类型 * @param array $header 发送的header信息 */ protected function error($msg = '', $data = null, $code = 0, $type = null, array $header = []) { $this->result($msg, $data, $code, $type, $header); } /** * 返回封装后的API数据 * @param string $msg 提示信息 * @param mixed $data 要返回的数据 * @param int $code 错误码,默认为0 * @param string $type 输出类型,支持json/xml/jsonp * @param array $header 发送的header信息 */ protected function result($msg, $data = null, $code = 0, $type = null, array $header = []) { $result = [ 'code' => $code, 'msg' => $msg, 'time' => time(), 'data' => $data, ]; // 返回数据格式 $type = $type ?: $this->responseType; // 发送响应 $response = Response::create($result, $type)->header($header); $response->send(); exit; } public function uploadApp() { $type = $this->request->param('type', ''); if (empty($type)){ return json_encode(['code' => 500,'msg' => '参数缺失']); } if (!in_array($type,['ckb','ai_store'])){ return json_encode(['code' => 500,'msg' => '参数错误']); } $data = Db::name('app_version') ->field('version,downloadUrl,updateContent') ->where(['type'=>$type]) ->order('id DESC') ->find(); return json_encode(['code' => 200,'msg' => '获取成功','data' => $data]); } }