Files
user-system/docs/plans/EXECUTION_PLAN.md

382 lines
8.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目执行计划
## 📋 待完成任务 (13/20)
### 优先级分类
#### P0 - 环境配置(必须)
- ⏳ Task 20: Go环境配置
- ⏳ Task 3: 编译验证
#### P1 - 核心功能测试(必须)
- ⏳ Task 8: 实现真实E2E测试替换Mock
- ⏳ Task 15: 真实集成测试并验证所有API
#### P2 - 功能实现(重要)
- ⏳ Task 9: 实现2FA多因素认证TOTP
- ⏳ Task 10: 实现Admin管理后台`docs/plans/ADMIN_FRONTEND_EXECUTION_PLAN.md` 为准)
- ⏳ Task 11: 实现Webhook事件通知
- ⏳ Task 12: 实现批量导入导出Excel/CSV
#### P3 - 高级功能(可选)
- ⏳ Task 13: 实现Java/Go/Rust SDK
- ⏳ Task 14: 实现IP黑白名单和异常登录检测
---
## 🎯 执行策略
### 策略A: 完整实现(推荐)
由于Go环境当前不可用我将
1. **P2功能实现**(现在可以开始)
- 实现2FA多因素认证
- 实现Admin管理后台
- 实现Webhook事件通知
- 实现批量导入导出
2. **等待Go环境配置**
- 您安装Go 1.23+
- 验证编译
- 运行测试
3. **P1核心功能测试**
- 替换Mock Handler为真实HTTP请求
- 完成E2E测试
- 验证所有API
4. **P3高级功能**(可选)
- 实现SDK支持
- 实现安全增强功能
### 策略B: 环境优先
1. 您先安装Go环境
2. 验证编译和运行
3. 然后实现剩余功能
---
## 📝 详细任务分解
### Task 20: Go环境配置
**依赖**: 用户手动操作
**步骤**:
1. 下载Go 1.23+: https://golang.org/dl/
2. 安装到系统
3. 重启命令行
4. 验证: `go version`
**预计时间**: 30分钟
---
### Task 3: 编译验证
**依赖**: Go环境已安装
**步骤**:
```powershell
cd D:\project
go mod verify
go build ./cmd/server
```
**预计时间**: 5分钟
---
### Task 8: 实现真实E2E测试
**当前问题**: E2E测试使用Mock Handler
**需要修改**:
1. `internal/e2e/e2e_test.go`
- 替换Mock Handler为真实HTTP请求
- 使用真实的测试服务器
- 集成真实的数据库
**预计时间**: 2-3小时
---
### Task 15: 真实集成测试
**步骤**:
1. 测试所有REST API
2. 验证OAuth流程
3. 验证权限控制
4. 性能测试
**预计时间**: 2-3小时
---
### Task 9: 实现2FA多因素认证
**需要实现**:
1. TOTP基于时间的一次性密码
2. 二维码生成
3. 验证逻辑
4. 恢复码机制
**文件**:
- `internal/auth/totp.go` - TOTP实现
- `internal/service/totp_service.go` - TOTP服务
- `internal/api/handler/totp.go` - TOTP Handler
**预计时间**: 4-6小时
---
### Task 10: 实现Admin管理后台
**唯一执行方案**:
-`docs/plans/ADMIN_FRONTEND_EXECUTION_PLAN.md` 为唯一有效方案
**当前统一结论**:
1. 技术栈固定为 `React 18 + TypeScript + Vite + React Router 6 + Ant Design 5`
2. 页面范围只允许对接当前真实 API不再按 PRD 愿景假定接口存在
3. 当前首版范围包括:
- 登录 / 忘记密码 / 重置密码
- Dashboard
- Users
- Roles
- Permissions
- Login Logs / Operation Logs
- Webhooks
- Import / Export
- Profile / Profile Security
4. 当前明确不做:
- 系统设置
- 用户创建
- 批量用户操作
- 管理员重置他人密码
- 全局设备管理页
- 社交登录 / 绑定的 SPA 落地
**说明**:
- 本文不再维护 Task 10 的技术栈、页面清单、API 细节和工时拆分
- 相关内容全部收敛到 `docs/plans/ADMIN_FRONTEND_EXECUTION_PLAN.md`
---
### Task 11: 实现Webhook事件通知
**需要实现**:
1. Webhook配置管理
2. 事件触发机制
3. HTTP请求发送
4. 重试机制
**文件**:
- `internal/webhook/` - Webhook模块
- `internal/webhook/webhook.go` - Webhook核心
- `internal/service/webhook_service.go` - Webhook服务
**预计时间**: 4-6小时
---
### Task 12: 实现批量导入导出
**需要实现**:
1. Excel导入导出
2. CSV导入导出
3. 数据验证
4. 错误处理
**依赖**:
- `github.com/tealeg/xlsx/v3` - Excel处理
- `encoding/csv` - CSV处理
**文件**:
- `internal/importer/` - 导入导出模块
- `internal/importer/excel.go` - Excel处理
- `internal/importer/csv.go` - CSV处理
- `internal/api/handler/import.go` - API Handler
**预计时间**: 4-6小时
---
### Task 13: 实现SDK支持
**需要实现**:
1. Java SDK
2. Go SDK
3. Rust SDK
**文件**:
- `sdk/java/` - Java SDK
- `sdk/go/` - Go SDK
- `sdk/rust/` - Rust SDK
**预计时间**: 8-12小时每个SDK
---
### Task 14: 实现IP黑白名单和异常检测
**需要实现**:
1. IP黑白名单管理
2. 登录异常检测
3. 风险评分
4. 自动封禁
**文件**:
- `internal/security/ip_filter.go` - IP过滤
- `internal/security/anomaly_detection.go` - 异常检测
- `internal/service/security_service.go` - 安全服务
**预计时间**: 4-6小时
---
## 🚀 开始执行
### 当前可以立即开始的任务无需Go环境
**推荐立即开始**:
1. **Task 9: 实现2FA多因素认证**
- 纯代码实现
- 不需要编译运行
- 优先级高
2. **Task 11: 实现Webhook事件通知**
- 纯代码实现
- 独立模块
- 优先级中
3. **Task 12: 实现批量导入导出**
- 纯代码实现
- 实用功能
- 优先级中
### 需要Go环境的任务
**等待Go环境**:
- Task 20: Go环境配置需要您手动操作
- Task 3: 编译验证
- Task 8: E2E测试需要运行测试
- Task 15: 集成测试(需要运行测试)
### 复杂任务
⚠️ **需要更多时间**:
- Task 10: Admin管理后台前端开发
- Task 13: SDK支持多语言
---
## 📊 预计完成时间
| 任务 | 预计时间 | 依赖 |
|------|---------|------|
| Task 9 (2FA) | 4-6小时 | 无 |
| Task 11 (Webhook) | 4-6小时 | 无 |
| Task 12 (导入导出) | 4-6小时 | 无 |
| Task 14 (IP黑名单) | 4-6小时 | 无 |
| Task 10 (Admin后台) | 以唯一前端方案分阶段执行 | 真实 API 已稳定 |
| Task 8 (E2E测试) | 2-3小时 | Go环境 |
| Task 15 (集成测试) | 2-3小时 | Go环境 |
| Task 13 (SDK) | 8-12小时 | 无 |
**总计**: 不再使用本表对 Task 10 做旧版小时级估算,前端排期以 `docs/plans/ADMIN_FRONTEND_EXECUTION_PLAN.md` 为准。
---
## 🎯 建议执行顺序
### 方案A: 优先完成核心功能(推荐)
1. **Day 1-2**: Task 9, 11, 12, 14后端功能
- 2FA认证
- Webhook通知
- 批量导入导出
- IP黑白名单
2. **Day 3+**: Task 10Admin后台
- 以前端唯一执行方案分阶段推进
3. **Day 4**: Task 8, 15测试
- E2E测试
- 集成测试
- 需要Go环境
4. **Day 5-7**: Task 13SDK
- Java SDK
- Go SDK
- Rust SDK
### 方案B: 等待Go环境后统一测试
1. **先安装Go环境**
2. **验证编译和运行**
3. **完成所有功能实现**
4. **统一测试和验证**
---
## 📝 工作进度追踪
### 当前状态
| 任务 | 状态 | 开始时间 | 完成时间 |
|------|------|---------|---------|
| Task 9 (2FA) | ⏳ 待开始 | - | - |
| Task 10 (Admin) | ⏳ 待开始 | - | 见唯一前端方案 |
| Task 11 (Webhook) | ⏳ 待开始 | - | - |
| Task 12 (导入导出) | ⏳ 待开始 | - | - |
| Task 13 (SDK) | ⏳ 待开始 | - | - |
| Task 14 (IP黑名单) | ⏳ 待开始 | - | - |
| Task 20 (Go环境) | ⏳ 待开始 | - | - |
| Task 3 (编译验证) | ⏳ 待开始 | - | - |
| Task 8 (E2E测试) | ⏳ 待开始 | - | - |
| Task 15 (集成测试) | ⏳ 待开始 | - | - |
---
## 🎯 下一步行动
### 选项1: 立即开始功能实现(推荐)
我将开始实现:
1. Task 9: 2FA多因素认证
2. Task 11: Webhook事件通知
3. Task 12: 批量导入导出
4. Task 14: IP黑白名单
### 选项2: 等待Go环境
您先安装Go环境然后
1. 验证编译
2. 运行测试
3. 完成功能实现
### 选项3: 按需实现
告诉我您最需要的功能,我优先实现。
---
## 💡 提示
- **纯代码任务**9, 11, 12, 13, 14可以立即开始
- **需要运行的任务**3, 8, 15需要Go环境
- **复杂任务**10, 13需要更多时间
- **Task 20** 需要您手动安装Go
---
**您想让我立即开始实现哪些功能?**