# Admin 操作日志与审计模块指引 ## 路径基准与读取顺序 - 本文件适用于 `src/modules/audit/`,代码路径相对本目录;应用公共规则见 `../../../AGENTS.md`。 - 本模块**没有独立页面**:审计日志是客户详情里的内嵌面板(`components/CustomerAuditLogsPanel.vue`),查询接口在 `api/platformAudit.ts`。 - 后端查 `audit-service/`(`PlatformAuditLogController`、`AuditLogQueryService`);若是“操作人没被记录”,还要查采集侧 `common-audit/`(`BusinessAuditAspect.java`、`AuditEvent.java`)。 ## 页面与入口 | 目标 | 入口 | API 与后端 | |---|---|---| | 客户详情内的操作日志面板、分页与详情 | `components/CustomerAuditLogsPanel.vue`(props:`customerId`、`customerName`) | `api/platformAudit.ts` 的 `listPlatformAuditLogs`、`getPlatformAuditLog`;`audit-service/` | | 日志字段展示、时间与文案映射 | `presentation.ts` | 服务端返回结构 | | 日志列表/详情的对外类型 | `index.ts` | `audit-service` DTO | | 操作人缺失、字段为空 | 面板空态与列定义 | 先查 `common-audit/` 是否采集该字段,再查 `audit-service/` 摄取 DTO 与表结构 | ## 关键边界 - 列表不返回变更前后快照,详情才返回已脱敏 JSON;不要在列表里展开完整 payload。 - 客户账号不得访问平台审计查询;面板只在平台侧客户详情内使用。 - 审计字段缺失属于“采集侧漏采”或“查询侧未映射”,两者分属 `common-audit/` 与 `audit-service/`,不要只改前端展示。 - 审计链路故障不得阻塞核心交易,前端也不得据此推断业务失败。 ## 验证 - 定向:`pnpm test src/modules/audit/<目标测试>`;字段或查询变化同时核对 `audit-service` 的查询接口与表结构。 - 本文件或索引变更后,从后端根运行 `./scripts/agents-index-contract.ps1`。