jsonResponse(1, $msg, $data); } public function success($msg, $data = [], $cookie = null, $jsonp = false) { if (request()->debug) { return view('welcome'); } return $this->jsonResponse(0, $msg, $data); } //接口返回失败 public function failv2($msg, $data = [], $jsonp = false) { return $this->jsonResponse(3, $msg, $data); } private function jsonResponse($code, $msg, $data = []) { $result = [ 'code' => $code, 'message' => $msg, 'data' => $data, ]; return Response()->json($result); } /** * 检查用户是否登录 * @return [type] [description] */ public function authCheck() { $guards = config('auth.guards'); $result = false; foreach ($guards as $key => $guard) { if (\Auth::guard($key)->check()) { $result = \Auth::guard($key)->user(); continue; } } return $result; } public function getError($exception, $send_mail = true) { $error = $exception->getMessage(); if (method_exists($exception, 'getStatusCode')) { $status = $exception->getStatusCode(); } elseif ($exception instanceof AuthenticationException) { $status = 403; //403不报警 return; } else { $status = get_class($exception); } $route = Request()->getMethod() . ':' . Request()->getRequestUri(); if (\Route::getFacadeRoot()->current()) { $action = $status . ':' . \Route::getCurrentRoute()->getActionName(); } else { $action = $status . ':非法路由访问错误'; } if (method_exists($exception, 'getPrevious')) { $err = $exception->getPrevious(); if (!empty($err)) { $error = $err->getMessage(); } } $files = explode('/', $exception->getFile()); $file = $files[count($files) - 1]; $host = request()->gethost(); $params = json_encode(request()->all(), JSON_UNESCAPED_UNICODE); $client = Request()->header('client-os') ?: 'other'; $server_ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : ''; $message = '服务器异常,前端:' . $client . ',ip:' . $server_ip . ',域名:' . $host . ',位置:' . $route . ',操作:' . $action . ',控制器:' . $file . ', Line:' . $exception->getLine() . ',参数:' . $params . ',用户id:' . (auth()->id() ?: '无') . ',报错内容:' . $error . ',错误码:' . $exception->getCode(); Log::error($message); //参数 //邮件通知 // Mail::to(['hankin_h@126.com', 'fkl1939@163.com'])->send(new ErrorMessage($message)); SendMail::dispatch($message, '', '', $exception->getTraceAsString())->onQueue('error_email'); return $message; } }