Files
user-system/docs/archive/plans/REAL_TASK_LIST.md

4.5 KiB
Raw Blame History

真实任务清单 - 基于实际代码状态

生成时间: 2026-03-12 基于code-explorer深入代码分析的真实情况


📋 编译修复任务P0 - 必须完成)

Task 1: 修复main.go编译错误 - 缺少Handler定义

问题: cmd/server/main.go:86 调用了未定义的变量

// 当前代码第86行
r := router.NewRouter(authHandler, userHandler, roleHandler, permissionHandler, deviceHandler, authMiddleware, rateLimitMiddleware)
//                                                         ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
//                                                         未定义            未定义             未定义

需要修复:

  • 定义 roleHandler = handler.NewRoleHandler(roleService)
  • 定义 permissionHandler = handler.NewPermissionHandler(permissionService)
  • 定义 deviceHandler = handler.NewDeviceHandler(deviceService)
  • 初始化对应的Service

文件: cmd/server/main.go


Task 2: 修复main.go编译错误 - AuthService参数不匹配

问题: service.NewAuthService() 调用参数数量不匹配

// 当前代码第63-70行
authService := service.NewAuthService(
    userRepo,
    jwtManager,
    cacheManager,
    cfg.Security.PasswordMinLength,
    cfg.Security.LoginMaxAttempts,
    cfg.Security.LoginLockDuration,
)

// 但实际AuthService构造函数签名
func NewAuthService(
    userRepo *repository.UserRepository,
    socialRepo *repository.SocialAccountRepository,  // 缺少这个参数
    jwt *auth.JWT,
    cache *cache.CacheManager,
    passwordMin int,
    maxAttempts int,
    lockTime time.Duration,
) *AuthService

需要修复:

  • 初始化 socialRepo = repository.NewSocialAccountRepository(db.DB)
  • 添加 socialRepoNewAuthService() 调用

文件: cmd/server/main.go


Task 3: 验证代码能否成功编译

前提: 完成Task 1和Task 2后

验证步骤:

cd c:/Users/Admin/WorkBuddy/20260310215221
go build -o server.exe ./cmd/server

期望结果: 编译成功,生成 server.exe


🚀 功能实现任务P1 - 核心功能)

Task 4: 实现验证码系统

现状: Handler中调用了 GenerateState()ValidateState() 但函数不存在

需要实现:

  • GenerateState() - 生成随机state
  • ValidateState(state) - 验证state有效性
  • State存储和过期机制

Task 5: 实现OAuth真实集成到AuthService

现状: Handler调用了OAuth方法但AuthService中没有实现

需要实现:

  • OAuthLogin(ctx context.Context, provider string, state string) (string, error)
  • OAuthCallback(ctx context.Context, provider string, code string) (*LoginResponse, error)
  • BindSocialAccount(ctx context.Context, userID int64, provider, openID string) error
  • UnbindSocialAccount(ctx context.Context, userID int64, provider string) error
  • GetSocialAccounts(ctx context.Context, userID int64) ([]*domain.SocialAccount, error)
  • GetEnabledOAuthProviders() []auth.OAuthProviderInfo

Task 6: 实现OAuth工具函数

需要实现:

  • HTTP请求封装带超时、重试
  • 错误处理OAuth API错误解析
  • JSON响应解析
  • State生成和验证

Task 7: 实现GetEnabledOAuthProviders方法

需要实现:

  • 从OAuth配置读取已启用的提供商
  • 返回提供商列表和配置信息

🧪 测试任务P1 - 真实测试)

Task 8: 实现真实的E2E测试

现状: E2E测试使用Mock Handler完全没测试真实服务

需要实现:

  • 启动真实HTTP服务器
  • 使用真实的Handler和Service
  • 使用真实数据库
  • 测试完整的HTTP请求/响应

🎯 新功能任务P2 - 次要功能)

Task 9-14: PRD要求的其他功能

详见完整文档...


📊 任务优先级总结

P0 - 阻塞上线(必须完成)- 预计1-2小时

  • Task 1: 修复main.go Handler定义
  • Task 2: 修复main.go AuthService参数
  • Task 3: 验证代码编译

P1 - 核心功能(必须完成)- 预计5-7天

  • Task 4: 实现验证码系统
  • Task 5: 实现OAuth集成
  • Task 6: 实现OAuth工具函数
  • Task 7: 实现GetEnabledOAuthProviders
  • Task 8: 实现真实E2E测试
  • Task 15: 真实集成测试

P2 - 次要功能 - 预计15-20天

  • Task 9: 实现2FA认证
  • Task 10: 实现Admin后台
  • Task 11: 实现Webhook
  • Task 12: 实现批量导入导出
  • Task 13: 实现SDK
  • Task 14: 实现安全功能