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; } }