# 项目执行计划 ## 📋 待完成任务 (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 10(Admin后台) - 以前端唯一执行方案分阶段推进 3. **Day 4**: Task 8, 15(测试) - E2E测试 - 集成测试 - (需要Go环境) 4. **Day 5-7**: Task 13(SDK) - 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 --- **您想让我立即开始实现哪些功能?**