开发文档

This commit is contained in:
xujiang
2025-07-09 14:32:52 +08:00
parent 73197d8da8
commit 180fbd2ae9
7 changed files with 5856 additions and 3 deletions

View File

@ -278,7 +278,79 @@ type DashboardStats struct {
└─────────────────────────────────────────────────────────┘
```
### 2.6 系统设置模块 (System Settings)
### 2.6 日志管理模块 (Log Management)
#### 2.6.1 日志查看页面
```
┌─────────────────────────────────────────────────────────────┐
│ 日志管理 Log Management │
├─────────────────────────────────────────────────────────────┤
│ 📊 统计卡片 │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 总日志 │ │ 错误数 │ │ 警告数 │ │ 信息数 │ │
│ │ 12,345 │ │ 23 │ │ 156 │ │ 11,234 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ 🔍 过滤控件 │
│ [日志级别▼] [搜索关键词...] [Trace ID...] [100条▼] [刷新] │
│ │
│ 📋 日志列表 │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 时间 级别 Trace ID 消息 │ │
│ │ 2024-01-15 10:30 INFO trace-abc123 Photo created │ │
│ │ 2024-01-15 10:31 WARN trace-def456 Cache miss │ │
│ │ 2024-01-15 10:32 ERROR trace-abc123 Process failed │ │
│ │ 2024-01-15 10:33 INFO trace-ghi789 User login │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ 📄 分页: [← 上一页] [1] [2] [3] [下一页 →] │
│ ⏰ [自动刷新] 🗑️ [清空显示] │
└─────────────────────────────────────────────────────────────┘
```
#### 2.6.2 日志详情展示
```
┌─────────────────────────────────────────────────────────────┐
│ 日志详情 Log Details │
├─────────────────────────────────────────────────────────────┤
│ ← 返回列表 │
│ │
│ 📋 基本信息 │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 时间: 2024-01-15 10:32:45 │ │
│ │ 级别: ERROR │ │
│ │ 消息: Failed to process image │ │
│ │ Trace ID: trace-abc123 [点击查看相关日志] │ │
│ │ 用户: admin (user-123) │ │
│ │ 操作: image_process │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ 🔍 相关日志 (同一Trace ID) │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 10:30:00 INFO Photo upload started │ │
│ │ 10:31:30 INFO File validation passed │ │
│ │ 10:32:00 WARN Large file detected │ │
│ │ 10:32:45 ERROR Failed to process image │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ 📊 统计信息 │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 该Trace ID共有 4 条日志 │ │
│ │ 错误: 1 | 警告: 1 | 信息: 2 │ │
│ │ 耗时: 2分45秒 │ │
│ └─────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
```
#### 2.6.3 日志管理功能
- **实时查看**: 支持自动刷新,实时监控系统状态
- **智能过滤**: 按级别、关键词、Trace ID、时间范围过滤
- **链路追踪**: 点击Trace ID查看完整请求链路
- **统计分析**: 显示各级别日志数量统计
- **搜索高亮**: 搜索关键词在日志中高亮显示
- **权限控制**: 仅管理员可访问日志管理功能
### 2.7 系统设置模块 (System Settings)
#### 2.6.1 基本设置页面
```
@ -335,6 +407,7 @@ backend/
│ │ │ ├── tag.go # 标签管理
│ │ │ ├── timeline.go # 时间线管理
│ │ │ ├── settings.go # 系统设置
│ │ │ ├── logs.go # 日志管理
│ │ │ └── upload.go # 文件上传
│ │ ├── middleware/ # 中间件
│ │ │ ├── auth.go # 认证中间件
@ -351,6 +424,7 @@ backend/
│ │ ├── tag_service.go # 标签服务
│ │ ├── timeline_service.go # 时间线服务
│ │ ├── upload_service.go # 上传服务
│ │ ├── logs_service.go # 日志服务
│ │ └── settings_service.go # 设置服务
│ ├── repository/ # 数据访问层
│ │ ├── photo_repo.go # 照片数据访问
@ -445,6 +519,11 @@ admin/
│ │ │ ├── category-tree.tsx
│ │ │ ├── category-form.tsx
│ │ │ └── category-stats.tsx
│ │ ├── logs/ # 日志管理组件
│ │ │ ├── log-viewer.tsx
│ │ │ ├── log-filter.tsx
│ │ │ ├── log-detail.tsx
│ │ │ └── log-stats.tsx
│ │ └── common/ # 通用组件
│ │ ├── loading.tsx
│ │ ├── error-boundary.tsx
@ -460,22 +539,28 @@ admin/
│ │ │ └── index.tsx
│ │ ├── tags/
│ │ │ └── index.tsx
│ │ ├── logs/
│ │ │ ├── index.tsx
│ │ │ └── detail.tsx
│ │ └── settings/
│ │ └── index.tsx
│ ├── hooks/ # 自定义Hooks
│ │ ├── useAuth.ts
│ │ ├── usePhotos.ts
│ │ ├── useCategories.ts
│ │ ├── useLogs.ts
│ │ └── useUpload.ts
│ ├── services/ # API服务
│ │ ├── api.ts
│ │ ├── auth.ts
│ │ ├── photo.ts
│ │ ├── category.ts
│ │ ├── logs.ts
│ │ └── upload.ts
│ ├── store/ # 状态管理
│ │ ├── auth.ts
│ │ ├── photo.ts
│ │ ├── logs.ts
│ │ └── ui.ts
│ ├── utils/ # 工具函数
│ │ ├── format.ts
@ -484,6 +569,7 @@ admin/
│ └── types/ # 类型定义
│ ├── api.ts
│ ├── photo.ts
│ ├── logs.ts
│ └── user.ts
├── public/ # 静态资源
├── package.json