44e77dcb0e
**重构前**(旧编号 02-11): - docs/02-产品需求/ → 00 产品规划/PRD - docs/03-技术架构/ → 01-05 子目录散落 - docs/04-原型设计/ → 01-02 产品设计(HTML 原型) - docs/05-原型设计/ → screens/ - docs/06-测试素材/ → 02-E2E / 03-功能 / 04-版本测试 - docs/07-项目管理/ → 任务说明书/日报/计划 - docs/08-安全审计/ → 审计报告 - docs/09-堡垒运维/ → toolbox / deploy - docs/10-项目管理/ → 任务说明书(重复) - docs/11-历史归档/ → deploy-nas-archived **重构后**(新编号 00-07,语义化): - docs/00-产品开发流程与文档管理规范.md - docs/00-版本迭代总览.md - docs/01-产品文档/ (PRD/原型/认证/会话/AI 服务/坐席/集成) - docs/02-技术文档/ (技术方案/架构图/重构记录/前端改造/实现配置) - docs/03-测试文档/ (E2E/功能用例/版本报告/缺陷单) - docs/04-运维文档/ (部署运维/运维指南) - docs/05-运营文档/ (品牌推广/用户手册) - docs/06-安全审计/ (审计报告) - docs/07-项目管理/ (任务说明书/日报/计划/看板) **净收益**: - 目录编号与产品文档管理规范对齐(按文档阶段 01-07 编号) - 消除 02-产品需求 与 10-项目管理 的编号重叠 - 子目录按文档类型分组(如 01-产品文档/00-产品规划、01-产品文档/01-认证与登录) - 把运维/安全/项目管理从 0X 散落改为 04/06/07 合计 494 文件 + 78495 行 / - 14076 行
48 lines
1.9 KiB
Plaintext
48 lines
1.9 KiB
Plaintext
sequenceDiagram
|
|
autonumber
|
|
participant FE as 前端页面
|
|
participant API as admin.ts
|
|
participant RT as FastAPI Router
|
|
participant SVC as Service
|
|
participant DB as PostgreSQL
|
|
participant FS as 日志文件(RUNTIME_LOG_DIR)
|
|
|
|
Note over FE,FS: A 配置变更历史(带筛选)
|
|
FE->>API: getSystemLogs({config_key, changed_by, from, to, page, page_size})
|
|
API->>RT: GET /api/admin/system-logs?...
|
|
RT->>RT: require_admin()
|
|
RT->>SVC: get_system_logs(db, filters)
|
|
SVC->>DB: SELECT ConfigChangeLog WHERE ... ORDER changed_at DESC
|
|
SVC->>DB: JOIN agents 取 changed_by_name
|
|
DB-->>SVC: rows
|
|
SVC-->>RT: {items, total, page, page_size}
|
|
RT-->>FE: {code:0, data}
|
|
|
|
Note over FE,FS: B 安全审计日志(复用后端)
|
|
FE->>API: getAuditLogs({employee_id, action, resource, from, to, page, page_size})
|
|
API->>RT: GET /api/admin/audit-logs?...
|
|
RT->>RT: require_permission(audit_log:read:all)
|
|
RT->>SVC: list_audit_logs(db, filters)
|
|
SVC->>DB: SELECT AuditLog WHERE ...
|
|
DB-->>SVC: rows
|
|
SVC-->>RT: {items, total, page, page_size}
|
|
RT-->>FE: {code:0, data}
|
|
|
|
Note over FE,FS: D 运行期日志(列表)
|
|
FE->>API: getRuntimeLogs({level, from, to, keyword, page, page_size})
|
|
API->>RT: GET /api/admin/runtime-logs?...
|
|
RT->>RT: require_admin()
|
|
RT->>SVC: read_runtime_logs(RUNTIME_LOG_DIR, filters)
|
|
SVC->>FS: 读 *.log 逐行 json.loads
|
|
FS-->>SVC: 命中行
|
|
SVC-->>RT: {items, total, page, page_size}
|
|
RT-->>FE: {code:0, data}
|
|
|
|
Note over FE,FS: D 运行期日志(下载)
|
|
FE->>API: getRuntimeLogDownload({level, from, to, keyword})
|
|
API->>RT: GET /api/admin/runtime-logs?download=true
|
|
RT->>RT: require_admin()
|
|
RT->>SVC: build_runtime_log_stream(RUNTIME_LOG_DIR, filters)
|
|
SVC->>FS: 读 *.log 过滤行
|
|
RT-->>FE: StreamingResponse(text/plain, attachment)
|