respone([ 'code' => 40050, 'msg' => $e->getMessage(), ]); } // 登录超时 if ($e instanceof LoginTimeOut) { return $this->respone([ 'code' => 40026, 'msg' => $request->isDev() ? $e->getMessage() : '登录超时', ]); } // 参数验证不通过 if ($e instanceof ValidateException) { return $this->respone([ 'code' => 40030, 'msg' => $e->getMessage() ]); } // 业务异常 if ($e instanceof ErrorMsg || $e instanceof ExceptionErrorMsg) { $code = $e->getCode(); return $this->respone([ 'code' => $code == 0 ? 40052 : $code, 'msg' => $e->getMessage(), ], $e); } // 服务器异常 // if ($e instanceof Exception) { // return $this->respone([ // 'code' => 40051, // 'msg' => '服务器异常', // ], $e); // } // 其他错误交给系统处理 return parent::render($request, $e); } /** * 返回 * * @param array $data * @param Throwable $e * @return Response * @date 2022-04-15 * @example * @author admin * @since 1.0.0 */ private function respone(array $data, $e = null): Response { $request = $this->app->request; if ($e && Env::get('app_show_error')) { $data['__error'] = [ 'File' => $e->getFile(), 'Line' => $e->getLine(), 'Message' => $e->getMessage(), 'Trace' => $e->getTrace() ]; $data['__param'] = $request->param(); } if ($request->isAjax()) { return Response::create($data, 'json'); } else { return Response::create(json_encode($data), 'html'); } } }