- 修复邮件服务区域配置(改为ap-hongkong) - 增强支付宝支付错误诊断和日志 - 修复代码质量问题(OrderService、ImageToVideoTask) - 添加支付宝支付问题排查文档 - 增加详细的错误诊断信息
379 lines
8.5 KiB
Markdown
379 lines
8.5 KiB
Markdown
# 邮件登录模块测试检查清单
|
||
|
||
## 📋 测试前检查
|
||
|
||
### 1. 配置检查 ✅
|
||
|
||
**当前配置状态:**
|
||
- ✅ SecretID: `AKIDXw8HBtNfjdJm480xljV4QZUDi05wa0DE`
|
||
- ✅ SecretKey: `tZyHMDsKadS4ScZhhU3PYUErGUVIqBIB`
|
||
- ✅ Region: `ap-beijing`
|
||
- ✅ From-email: `newletter@vionow.com`
|
||
- ✅ Template-id: `154360`(生产模式)
|
||
|
||
**需要确认:**
|
||
- [ ] **发信地址是否已验证**
|
||
- 访问:https://console.cloud.tencent.com/ses/address
|
||
- 检查 `newletter@vionow.com` 状态应为"已验证"
|
||
- ⚠️ **重要**:未验证的发信地址无法发送邮件
|
||
|
||
- [ ] **模板ID是否有效**
|
||
- 访问:https://console.cloud.tencent.com/ses/template
|
||
- 检查模板ID `154360` 是否已审核通过
|
||
- 确认模板中包含 `{{code}}` 变量
|
||
|
||
- [ ] **SES服务是否有可用额度**
|
||
- 访问:https://console.cloud.tencent.com/ses
|
||
- 检查账户余额或免费额度
|
||
|
||
---
|
||
|
||
### 2. 服务检查
|
||
|
||
- [ ] **后端服务是否运行**
|
||
```bash
|
||
# 检查服务是否在运行
|
||
# 访问:http://localhost:8080
|
||
```
|
||
|
||
- [ ] **前端服务是否运行**
|
||
```bash
|
||
# 检查前端是否在运行
|
||
# 访问:http://localhost:5173
|
||
```
|
||
|
||
- [ ] **数据库是否正常**
|
||
- 确认数据库连接正常
|
||
- 确认用户表等表结构存在
|
||
|
||
---
|
||
|
||
### 3. 测试邮箱准备
|
||
|
||
- [ ] **准备测试邮箱地址**
|
||
- 使用真实的邮箱地址(可以正常接收邮件)
|
||
- 建议使用常用邮箱:Gmail、QQ邮箱、163邮箱等
|
||
- 确保可以访问邮箱查看验证码
|
||
|
||
---
|
||
|
||
## 🚀 测试步骤
|
||
|
||
### 步骤1:访问登录页面
|
||
|
||
1. 打开浏览器访问:`http://localhost:5173/login`
|
||
- 或访问部署的前端地址
|
||
|
||
2. 确认页面显示:
|
||
- ✅ 邮箱输入框
|
||
- ✅ 验证码输入框
|
||
- ✅ "获取验证码"按钮
|
||
- ✅ "登录/注册"按钮
|
||
|
||
---
|
||
|
||
### 步骤2:发送验证码
|
||
|
||
1. **输入邮箱地址**
|
||
- 输入一个有效的邮箱地址(例如:`test@example.com`)
|
||
|
||
2. **点击"获取验证码"按钮**
|
||
- 观察按钮是否进入60秒倒计时状态
|
||
- 观察是否有成功提示
|
||
|
||
3. **检查结果:**
|
||
- ✅ **成功**:显示"验证码已发送到您的邮箱"
|
||
- ❌ **失败**:检查错误信息
|
||
|
||
4. **查看日志(如有错误)**
|
||
```bash
|
||
# 查看后端日志,查找错误信息
|
||
# 可能的问题:
|
||
# - 发信地址未验证
|
||
# - 模板ID无效
|
||
# - 权限不足
|
||
# - 额度不足
|
||
```
|
||
|
||
---
|
||
|
||
### 步骤3:接收验证码
|
||
|
||
**当前配置为生产模式(template-id=154360),会实际发送邮件。**
|
||
|
||
1. **检查邮箱收件箱**
|
||
- 邮件来自:`newletter@vionow.com`
|
||
- 邮件主题:根据模板配置
|
||
- 邮件内容:包含6位数字验证码
|
||
|
||
2. **如果未收到邮件:**
|
||
- 检查垃圾邮件文件夹
|
||
- 等待1-2分钟(邮件发送可能有延迟)
|
||
- 检查邮箱是否正确输入
|
||
- 查看后端日志是否有错误
|
||
|
||
---
|
||
|
||
### 步骤4:输入验证码并登录
|
||
|
||
1. **输入验证码**
|
||
- 输入邮箱中收到的6位数字验证码
|
||
|
||
2. **点击"登录/注册"按钮**
|
||
|
||
3. **检查结果:**
|
||
- ✅ **成功**:
|
||
- 跳转到主页或个人中心
|
||
- 显示登录成功提示
|
||
- 浏览器控制台中保存了token
|
||
- ❌ **失败**:检查错误信息
|
||
- 验证码错误
|
||
- 验证码过期(5分钟)
|
||
- 其他错误
|
||
|
||
---
|
||
|
||
### 步骤5:验证登录状态
|
||
|
||
1. **检查Token是否保存**
|
||
- 打开浏览器开发者工具
|
||
- 查看 `sessionStorage` 或 `localStorage`
|
||
- 确认 `token` 和 `user` 信息已保存
|
||
|
||
2. **检查用户信息**
|
||
- 查看个人中心或用户信息页面
|
||
- 确认邮箱等信息正确显示
|
||
|
||
3. **测试自动注册功能**
|
||
- 使用一个新的邮箱地址测试
|
||
- 系统应自动创建新用户并登录
|
||
|
||
---
|
||
|
||
## 🔍 常见问题排查
|
||
|
||
### 问题1:点击获取验证码后没有反应
|
||
|
||
**可能原因:**
|
||
- 前端服务未启动
|
||
- 后端服务未启动
|
||
- 网络连接问题
|
||
|
||
**解决方法:**
|
||
1. 检查前端控制台错误信息
|
||
2. 检查后端服务是否运行
|
||
3. 检查API接口地址是否正确
|
||
|
||
---
|
||
|
||
### 问题2:显示"发送失败"或错误信息
|
||
|
||
**可能原因:**
|
||
- 发信地址未验证
|
||
- 模板ID无效或未审核
|
||
- SecretID/SecretKey权限不足
|
||
- SES服务额度不足
|
||
|
||
**解决方法:**
|
||
1. 检查SES控制台发信地址状态
|
||
2. 检查模板ID是否正确且已审核
|
||
3. 检查API密钥权限
|
||
4. 检查SES服务额度
|
||
|
||
**查看后端日志:**
|
||
```bash
|
||
# 查看详细的错误信息
|
||
# 常见错误:
|
||
# - InvalidParameter.EmailAddressNotVerified(发信地址未验证)
|
||
# - ResourceNotFound.TemplateNotFound(模板不存在)
|
||
# - InvalidSecretId.InvalidSignature(密钥错误)
|
||
```
|
||
|
||
---
|
||
|
||
### 问题3:收不到邮件
|
||
|
||
**可能原因:**
|
||
- 邮箱地址输入错误
|
||
- 邮件被垃圾邮件过滤器拦截
|
||
- 邮件发送延迟
|
||
- 发信地址未验证(生产模式)
|
||
|
||
**解决方法:**
|
||
1. 检查邮箱地址是否正确
|
||
2. 检查垃圾邮件文件夹
|
||
3. 等待1-2分钟
|
||
4. 确认发信地址已验证
|
||
5. 查看后端日志确认是否发送成功
|
||
|
||
---
|
||
|
||
### 问题4:验证码验证失败
|
||
|
||
**可能原因:**
|
||
- 验证码输入错误
|
||
- 验证码已过期(5分钟)
|
||
- 验证码已被使用
|
||
- 邮箱地址不匹配
|
||
|
||
**解决方法:**
|
||
1. 确认验证码输入正确(6位数字)
|
||
2. 确认在5分钟内使用
|
||
3. 重新获取验证码
|
||
4. 确认邮箱地址与获取验证码时一致
|
||
|
||
---
|
||
|
||
## 🧪 测试用例
|
||
|
||
### 测试用例1:正常登录流程
|
||
|
||
**步骤:**
|
||
1. 输入邮箱:`test@example.com`
|
||
2. 点击"获取验证码"
|
||
3. 等待邮件到达(生产模式)
|
||
4. 输入验证码
|
||
5. 点击"登录/注册"
|
||
|
||
**预期结果:**
|
||
- ✅ 验证码发送成功
|
||
- ✅ 收到邮件
|
||
- ✅ 登录成功
|
||
- ✅ 跳转到主页
|
||
|
||
---
|
||
|
||
### 测试用例2:自动注册新用户
|
||
|
||
**步骤:**
|
||
1. 输入一个从未使用过的邮箱:`newuser@example.com`
|
||
2. 点击"获取验证码"
|
||
3. 收到验证码后输入
|
||
4. 点击"登录/注册"
|
||
|
||
**预期结果:**
|
||
- ✅ 系统自动创建新用户
|
||
- ✅ 自动登录
|
||
- ✅ 用户信息正确保存
|
||
|
||
---
|
||
|
||
### 测试用例3:验证码过期测试
|
||
|
||
**步骤:**
|
||
1. 获取验证码
|
||
2. 等待超过5分钟
|
||
3. 输入验证码尝试登录
|
||
|
||
**预期结果:**
|
||
- ❌ 提示验证码已过期
|
||
- ✅ 需要重新获取验证码
|
||
|
||
---
|
||
|
||
### 测试用例4:发送频率限制
|
||
|
||
**步骤:**
|
||
1. 点击"获取验证码"
|
||
2. 在60秒内再次点击"获取验证码"
|
||
|
||
**预期结果:**
|
||
- ✅ 按钮处于倒计时状态,无法点击
|
||
- ✅ 或提示"发送过于频繁"
|
||
|
||
---
|
||
|
||
### 测试用例5:邮箱格式验证
|
||
|
||
**步骤:**
|
||
1. 输入无效邮箱:`invalid-email`
|
||
2. 点击"获取验证码"
|
||
|
||
**预期结果:**
|
||
- ❌ 提示"请输入正确的邮箱地址"
|
||
|
||
---
|
||
|
||
## ✅ 测试完成检查清单
|
||
|
||
完成测试后,确认以下功能正常:
|
||
|
||
- [ ] ✅ 可以发送验证码
|
||
- [ ] ✅ 可以收到邮件(生产模式)
|
||
- [ ] ✅ 可以输入验证码登录
|
||
- [ ] ✅ 新用户可以自动注册
|
||
- [ ] ✅ Token正确保存
|
||
- [ ] ✅ 用户信息正确显示
|
||
- [ ] ✅ 验证码过期机制正常
|
||
- [ ] ✅ 发送频率限制正常
|
||
- [ ] ✅ 邮箱格式验证正常
|
||
|
||
---
|
||
|
||
## 📝 测试记录模板
|
||
|
||
```
|
||
测试时间:____年__月__日 __:__
|
||
测试环境:开发/生产
|
||
发信地址状态:已验证/未验证
|
||
模板ID状态:已审核/未审核
|
||
|
||
测试邮箱:_______________
|
||
测试结果:
|
||
[ ] 发送验证码成功
|
||
[ ] 收到邮件
|
||
[ ] 登录成功
|
||
[ ] 自动注册成功
|
||
|
||
遇到的问题:
|
||
_________________________________
|
||
|
||
解决方案:
|
||
_________________________________
|
||
```
|
||
|
||
---
|
||
|
||
## 🚨 重要提醒
|
||
|
||
### 生产模式注意事项
|
||
|
||
**当前配置为生产模式(template-id=154360),会实际发送邮件。**
|
||
|
||
⚠️ **必须确保:**
|
||
1. 发信地址 `newletter@vionow.com` 已验证
|
||
2. 模板ID `154360` 已审核通过
|
||
3. SES服务有可用额度
|
||
4. API密钥有SES服务权限
|
||
|
||
### 如果发信地址未验证
|
||
|
||
**临时解决方案(仅用于测试):**
|
||
可以将 `template-id` 临时改为 `0`,进入开发模式:
|
||
```properties
|
||
tencent.ses.template-id=0
|
||
```
|
||
开发模式下不会实际发送邮件,验证码会在日志中显示。
|
||
|
||
---
|
||
|
||
## 🔗 相关资源
|
||
|
||
- **腾讯云SES控制台**: https://console.cloud.tencent.com/ses
|
||
- **发信地址管理**: https://console.cloud.tencent.com/ses/address
|
||
- **邮件模板管理**: https://console.cloud.tencent.com/ses/template
|
||
- **邮箱验证登录指南**: `EMAIL_VERIFICATION_LOGIN_GUIDE.md`
|
||
- **邮件登录配置清单**: `EMAIL_LOGIN_CONFIGURATION_CHECKLIST.md`
|
||
|
||
---
|
||
|
||
## ✅ 测试准备完成
|
||
|
||
**配置状态:**
|
||
- ✅ 所有必需配置已设置
|
||
- ⚠️ 需要确认发信地址已验证
|
||
- ⚠️ 需要确认模板ID已审核
|
||
|
||
**可以开始测试!**
|
||
|