1.7 KiB
1.7 KiB
说明文档
项目规划
检查项目中所有邮件验证码的发送逻辑,确保过期时间统一为 15 分钟。
实施方案
- 搜索整个项目中涉及邮件验证码生成的代码。
- 搜索项目中涉及验证码存储(如 Redis)的代码。
- 检查过期时间常量或变量,确认是否为 900 秒或 15 分钟。
- 修复不符合要求的过期时间。
- 验证修复结果。
进度记录
- [2026-01-12 19:58] 启动检查任务,搜索邮件逻辑。
- [2026-01-12 20:10] 完成检查。确认以下文件的验证逻辑均为 15 分钟(900秒):
internal/logic/common/sendEmailCodeLogic.go(Redis TTL & Template)internal/logic/auth/userRegisterLogic.go(Explicit Check)internal/logic/auth/resetPasswordLogic.go(Explicit Check)internal/logic/auth/emailLoginLogic.go(Explicit Check)internal/logic/public/user/bindEmailWithVerificationLogic.go(Explicit Check)internal/logic/public/user/verifyEmailLogic.go(Explicit Check)
- [2026-01-12 20:11] 检查结论:所有邮件验证码发送逻辑均符合 15 分钟过期的要求。
- [2026-01-12 20:35] 统一过期时间配置:
- 修改
internal/config/config.go默认过期时间从 300 秒改为 900 秒 - 修改
initialize/migrate/database/00002_init_basic_data.up.sql初始值从 300 改为 900 - 移除所有逻辑文件中的硬编码
15和900,改为使用l.svcCtx.Config.VerifyCode.ExpireTime - 编译通过,无错误
- 修改
- [2026-01-13] 设备移出和邀请码优化:
- 修复设备B绑定邮箱后被从设备A移除时未自动退出的问题(通过踢出旧连接和清理缓存实现)
- 优化邀请码无效时的错误提示,返回 "无邀请码"