From a95bdb5d573872cea1ad7ab220e954e80350bf03 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Wed, 8 Jul 2026 14:35:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(log):=20=E6=B7=BB=E5=8A=A0=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E8=B7=AF=E7=94=B1=E8=AE=B0=E5=BD=95=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=88=B0=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 OperLogEvent 中新增 operPage 字段用于存储页面路由信息 - 在 SysOperLog 实体类中添加 operPage 属性并配置 Excel 导出 - 修改 LogAspect 切面类从请求头获取 X-Page-Route 并设置到操作日志 - 在前端请求拦截器中添加当前路由路径到请求头 X-Page-Route - 更新 SysOperLogMapper.xml 映射文件包含 operPage 字段映射 --- .../java/com/klp/common/core/domain/event/OperLogEvent.java | 5 +++++ .../src/main/java/com/klp/framework/aspectj/LogAspect.java | 2 ++ .../src/main/java/com/klp/system/domain/SysOperLog.java | 6 ++++++ .../src/main/resources/mapper/system/SysOperLogMapper.xml | 1 + klp-ui/src/utils/request.js | 5 +++++ 5 files changed, 19 insertions(+) diff --git a/klp-common/src/main/java/com/klp/common/core/domain/event/OperLogEvent.java b/klp-common/src/main/java/com/klp/common/core/domain/event/OperLogEvent.java index efff5115a..a983c5c35 100644 --- a/klp-common/src/main/java/com/klp/common/core/domain/event/OperLogEvent.java +++ b/klp-common/src/main/java/com/klp/common/core/domain/event/OperLogEvent.java @@ -96,6 +96,11 @@ public class OperLogEvent implements Serializable { */ private String errorMsg; + /** + * 页面路由 + */ + private String operPage; + /** * 操作时间 */ diff --git a/klp-framework/src/main/java/com/klp/framework/aspectj/LogAspect.java b/klp-framework/src/main/java/com/klp/framework/aspectj/LogAspect.java index 9444aa196..5c6165320 100644 --- a/klp-framework/src/main/java/com/klp/framework/aspectj/LogAspect.java +++ b/klp-framework/src/main/java/com/klp/framework/aspectj/LogAspect.java @@ -72,6 +72,8 @@ public class LogAspect { String ip = ServletUtils.getClientIP(); operLog.setOperIp(ip); operLog.setOperUrl(StringUtils.substring(ServletUtils.getRequest().getRequestURI(), 0, 255)); + // 从请求头获取前端页面路由 + operLog.setOperPage(StringUtils.substring(ServletUtils.getRequest().getHeader("X-Page-Route"), 0, 255)); operLog.setOperName(LoginHelper.getUsername()); if (e != null) { diff --git a/klp-system/src/main/java/com/klp/system/domain/SysOperLog.java b/klp-system/src/main/java/com/klp/system/domain/SysOperLog.java index 2fc29e19f..631e94638 100644 --- a/klp-system/src/main/java/com/klp/system/domain/SysOperLog.java +++ b/klp-system/src/main/java/com/klp/system/domain/SysOperLog.java @@ -133,6 +133,12 @@ public class SysOperLog implements Serializable { @ExcelProperty(value = "操作时间") private Date operTime; + /** + * 页面路由 + */ + @ExcelProperty(value = "页面路由") + private String operPage; + /** * 请求参数 */ diff --git a/klp-system/src/main/resources/mapper/system/SysOperLogMapper.xml b/klp-system/src/main/resources/mapper/system/SysOperLogMapper.xml index 81f07e5e7..c1a6f309b 100644 --- a/klp-system/src/main/resources/mapper/system/SysOperLogMapper.xml +++ b/klp-system/src/main/resources/mapper/system/SysOperLogMapper.xml @@ -14,6 +14,7 @@ + diff --git a/klp-ui/src/utils/request.js b/klp-ui/src/utils/request.js index b1b7139ed..d9622e0c2 100644 --- a/klp-ui/src/utils/request.js +++ b/klp-ui/src/utils/request.js @@ -6,6 +6,7 @@ import errorCode from '@/utils/errorCode' import { tansParams, blobValidate } from "@/utils/klp"; import cache from '@/plugins/cache' import { saveAs } from 'file-saver' +import router from '@/router' let downloadLoadingInstance; // 是否显示重新登录 @@ -85,6 +86,10 @@ service.interceptors.request.use(config => { } } } + // 将当前页面路由放入请求头,供后端操作日志记录 + if (router.currentRoute && router.currentRoute.path) { + config.headers['X-Page-Route'] = router.currentRoute.path + } return config }, error => { console.log(error)