You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

202 lines
12 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 操作日志
> 模块编码audit-log
> 端侧Web专属仅超级管理员
> 关联文档01-模块划分 §2.3 / 02-功能清单-超级管理员 §4 / 03-业务流转逻辑-超级管理员 §8 / 05-接口规范 §9.2 / 06-项目技术要求 §4.5
## 功能概览
| 项目 | 说明 |
|------|------|
| 菜单名称 | 操作日志 |
| 子菜单 | 权限变更日志、账号操作日志 |
| 功能编号 | SA-L-01 ~ SA-L-02 |
| 权限编码前缀 | audit-log:permission:view / audit-log:list:* |
---
## 页面1权限变更日志页
**页面编号**SA-L-01-P01
**端侧归属**Web专属
**页面路径**/audit-log/permission
### 界面布局
```
┌──────────────────────────────────────────────────────────────────┐
│ [面包屑] 操作日志 > 权限变更日志 │
├──────────────────────────────────────────────────────────────────┤
│ [查询条件区] │
│ 操作人[____] 操作类型[▼] 角色[____] 日期[起始]~[结束] [查询] [重置]│
├──────────────────────────────────────────────────────────────────┤
│ [列表区] │
│ 序号 | 操作时间 | 操作人 | 操作类型 | 目标角色 | 变更摘要 | 操作 │
│ 1 | 14:00 | admin | 权限修改 | 巡检主管 | +2项 -1项 | 查看 │
│ 2 | 11:30 | admin | 角色创建 | 保洁主管 | 初始权限 | 查看 │
│ 3 | 09:15 | admin | 角色分配 | 医院查看 | 分配给5个账号| 查看│
├──────────────────────────────────────────────────────────────────┤
│ [分页] 共120条 每页[20▼] < 1 2 3 ... 6 > │
└──────────────────────────────────────────────────────────────────┘
```
### 查询条件
| 字段名 | 控件类型 | 必填 | 默认值 | 说明 |
|--------|----------|------|--------|------|
| 操作人 | 文本输入 | 否 | — | 模糊匹配 |
| 操作类型 | 下拉单选 | 否 | 全部 | 角色创建/权限修改/角色分配/角色移除 |
| 角色 | 文本输入 | 否 | — | 模糊匹配角色名称 |
| 日期范围 | 日期范围 | 否 | — | 操作时间范围 |
### 列表字段
| 序号 | 字段名 | 列宽 | 支持排序 | 说明 |
|------|--------|------|----------|------|
| 1 | 序号 | 60px | — | 自增 |
| 2 | 操作时间 | 150px | 是 | 默认倒序 |
| 3 | 操作人 | 100px | 否 | — |
| 4 | 操作类型 | 100px | 否 | 彩色标签区分 |
| 5 | 目标角色 | 120px | 否 | — |
| 6 | 变更摘要 | 150px | 否 | +N项 -M项 简述 |
| 7 | 操作 | 80px | — | 查看详情 |
### 操作按钮
| 按钮 | 权限编码 | 位置 | 显示条件 | 说明 |
|------|----------|------|----------|------|
| 查看详情 | audit-log:permission:view | 行操作 | 始终 | 弹窗展示变更前后对比 |
### 变更详情弹窗
```
┌──────────────────────────────────────────────────────────────────┐
│ 权限变更详情 [×] │
├──────────────────────────────────────────────────────────────────┤
│ 角色:巡检主管 │
│ 操作人:超级管理员(admin) │
│ 操作时间2026-04-16 14:00:00 │
│ 操作类型:权限修改 │
│ 操作IP192.168.1.100 │
├──────────────────────────────────────────────────────────────────┤
│ 变更对比: │
│ [+新增] 在线报修 → 工单详情 → 延期审批 → 审批 │
│ [+新增] 在线报修 → 工单列表 → 工单管理 → 导出 │
│ [-移除] 巡检管理 → 巡检计划 → 计划管理 → 删除 │
├──────────────────────────────────────────────────────────────────┤
│ [关闭] │
└──────────────────────────────────────────────────────────────────┘
```
### API端点
| 页面操作 | API路径 | 方法 | 说明 |
|----------|---------|------|------|
| 列表查询 | /api/v1/audit-logs/permission | GET | 分页查询 |
| 详情查询 | /api/v1/audit-logs/permission/{id} | GET | 含变更前后对比 |
---
## 页面2账号操作日志页
**页面编号**SA-L-02-P01
**端侧归属**Web专属
**页面路径**/audit-log/account
### 界面布局
```
┌──────────────────────────────────────────────────────────────────┐
│ [面包屑] 操作日志 > 账号操作日志 │
├──────────────────────────────────────────────────────────────────┤
│ [查询条件区] │
│ 操作人[____] 操作类型[▼] 账号类型[▼] 日期[起始]~[结束] [查询] [重置]│
├──────────────────────────────────────────────────────────────────┤
│ [列表区] │
│ 序号 | 操作时间 | 操作人 | 操作类型 | 目标账号 | 账号类型 | 详情 │
│ 1 | 15:00 | admin | 账号创建 | hosp01 | 医院 | 查看 │
│ 2 | 14:30 | admin | 账号续期 | prop01 | 物业 | 查看 │
│ 3 | 10:00 | admin | 账号禁用 | prop02 | 物业 | 查看 │
├──────────────────────────────────────────────────────────────────┤
│ [分页] 共85条 每页[20▼] < 1 2 3 4 5 > │
└──────────────────────────────────────────────────────────────────┘
```
### 查询条件
| 字段名 | 控件类型 | 必填 | 默认值 | 说明 |
|--------|----------|------|--------|------|
| 操作人 | 文本输入 | 否 | — | 模糊匹配 |
| 操作类型 | 下拉单选 | 否 | 全部 | 创建/编辑/启用/禁用/续期/重置密码 |
| 账号类型 | 下拉单选 | 否 | 全部 | 医院/物业管理员 |
| 日期范围 | 日期范围 | 否 | — | 操作时间范围 |
### 列表字段
| 序号 | 字段名 | 列宽 | 支持排序 | 说明 |
|------|--------|------|----------|------|
| 1 | 序号 | 60px | — | 自增 |
| 2 | 操作时间 | 150px | 是 | 默认倒序 |
| 3 | 操作人 | 100px | 否 | — |
| 4 | 操作类型 | 100px | 否 | 彩色标签 |
| 5 | 目标账号 | 120px | 否 | — |
| 6 | 账号类型 | 90px | 否 | 医院/物业管理员 |
| 7 | 绑定单位 | 150px | 否 | 医院或物业公司名称 |
| 8 | 详情 | 80px | — | 查看 |
### 操作按钮
| 按钮 | 权限编码 | 位置 | 显示条件 | 说明 |
|------|----------|------|----------|------|
| 查看详情 | audit-log:list:view | 行操作 | 始终 | 弹窗展示完整操作信息 |
### 操作详情弹窗
```
┌──────────────────────────────────────────────────────────────────┐
│ 账号操作详情 [×] │
├──────────────────────────────────────────────────────────────────┤
│ 操作人:超级管理员(admin) │
│ 操作时间2026-04-16 15:00:00 │
│ 操作IP192.168.1.100 │
│ 操作类型:账号创建 │
│ 目标账号hosp01 │
│ 账号类型:医院账号 │
│ 绑定医院XX医院 │
├──────────────────────────────────────────────────────────────────┤
│ 变更前数据:(无,新增操作) │
│ 变更后数据: │
│ 登录账号hosp01 │
│ 绑定医院XX医院 │
│ 有效期至2027-04-16 │
│ 分配角色:医院查看模板 │
├──────────────────────────────────────────────────────────────────┤
│ [关闭] │
└──────────────────────────────────────────────────────────────────┘
```
### API端点
| 页面操作 | API路径 | 方法 | 说明 |
|----------|---------|------|------|
| 列表查询 | /api/v1/audit-logs/account | GET | 分页查询 |
| 详情查询 | /api/v1/audit-logs/account/{id} | GET | 含变更前后数据 |
---
## 需求追溯
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|------------|----------|----------|----------|----------|
| SA-L-01 | 权限变更日志 | 02-超级管理员 §4 / 03-超级管理员 §8.2 / 01 §8.5 | — | 权限管理(变更时自动记录) |
| SA-L-02 | 账号操作日志 | 02-超级管理员 §4 / 03-超级管理员 §8.1 | — | 账号管理(操作时自动记录) |
## 业务规则
1. **日志记录范围**:权限管理(角色创建/修改/删除、权限分配/变更)、账号管理(创建/启停/续期/有效期修改)、系统管理(配置变更/缓存清理/版本管理来源03-超级管理员 §8.1
2. **权限审计日志特殊展示**:额外展示变更前后权限对比,用[+新增][-移除]标记来源03-超级管理员 §8.2
3. **日志记录内容**操作人、时间、IP、模块、操作类型、变更前后数据快照来源06 §4.5
4. **日志保留期限**至少保留1年支持导出来源06 §4.5
5. **自动记录**所有写操作通过AOP切面统一记录业务代码无感知来源06 §4.5
6. **超管仅查看系统数据**:超管操作日志仅涉及账号/权限/系统配置相关操作不包含任何业务数据来源01 §1.3