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)