request_id = date('YmdHis') . mt_rand(100000, 999999); //接收参数 $param = $request->post(); //记录日志 ActionLogModel::add($request->request_id, $param); //判断白名单 if (!in_array(request()->pathinfo(), $this->white_list)) { try { $val = Validate::rule(['token' => 'require']); if (!$val->check($param)) throw new ValidateException($val->getError()); //获取用户信息 $user = verify_token($param['token']); BaseLogic::setUserInfo($user); $request->uid = $user['uid']; $request->uname = $user['uname']; $request->roleid = $user['roleid']; } catch (ValidateException $validateException) { return json_show(CommonModel::$error_token, $validateException->getError()); } } return $next($request); } //请求结束的回调(如果返回数据用的是app_show/error_show,即直接echo,则不会触发该方法) public function end(Response $response) { //只做记录,不做输出 ActionLogModel::where('request_id', request()->request_id)->save([ 'response' => $response->getContent(), 'uid' => request()->uid ?? 0, 'uname' => request()->uname ?? '', ]); } }