# 真实任务清单 - 基于实际代码状态 > 生成时间: 2026-03-12 > 基于code-explorer深入代码分析的真实情况 --- ## 📋 编译修复任务(P0 - 必须完成) ### Task 1: 修复main.go编译错误 - 缺少Handler定义 **问题**: `cmd/server/main.go:86` 调用了未定义的变量 ```go // 当前代码(第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()` 调用参数数量不匹配 ```go // 当前代码(第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)` - ✅ 添加 `socialRepo` 到 `NewAuthService()` 调用 **文件**: `cmd/server/main.go` --- ### Task 3: 验证代码能否成功编译 **前提**: 完成Task 1和Task 2后 **验证步骤**: ```bash 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: 实现安全功能