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

8.0 KiB
Raw Blame History

项目执行计划

📋 待完成任务 (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环境已安装

步骤:

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

您想让我立即开始实现哪些功能?