Files
AIGC/demo/EMAIL_LOGIN_TEST_CHECKLIST.md
AIGC Developer 149b201300 优化邮件发送功能和支付宝支付诊断
- 修复邮件服务区域配置(改为ap-hongkong)
- 增强支付宝支付错误诊断和日志
- 修复代码质量问题(OrderService、ImageToVideoTask)
- 添加支付宝支付问题排查文档
- 增加详细的错误诊断信息
2025-11-03 13:20:30 +08:00

379 lines
8.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 邮件登录模块测试检查清单
## 📋 测试前检查
### 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已审核
**可以开始测试!**