select(); foreach ($restful_api as $item) { $restful_api_name_map[$item['method'] . '-' . $item['layer'] . '.' . $item['controller'] . '/' . $item['action']] = $item['name']; } Cache::set('sys_restful_api:map:name', $restful_api_name_map); } // 忽略日志记录的Api $ignore_apis = env('ADMIN_API.IGNORE_LOGGING_LIST'); if (in_array($request->pathinfo(), $ignore_apis)) { return $response; } $log = [ 'user_id' => $request->uid, 'title' => $restful_api_name_map[$request->method() . '-' . $request->controller() . '/' . $request->action()] ?? '', 'version' => $request->layer(), 'method' => $request->method(), 'controller' => $request->controller(base: true), 'action' => $request->action(), 'url' => $request->url(), 'ip' => $request->ip(), 'params' => json_encode($request->param()), 'status' => $response->getCode() ]; if (empty($request->exception_info)) { // 记录正常返回信息 $contentDisposition = $response->getHeader('Content-Disposition'); if (!empty($contentDisposition) && \think\helper\Str::startsWith($contentDisposition, 'attachment')) { $log['message'] = $contentDisposition; } else { $log['message'] = $response->getData(); if (is_array($log['message'])) { $log['message'] = json_encode($log['message'], JSON_UNESCAPED_UNICODE); } } } else { // 记录异常返回信息 $log['message'] = (string)$request->exception_info; } SysOperateLog::create($log); return $response; } }