# 微信扫码登录功能测试指南

## 1. 功能概述
本系统已集成微信扫码登录功能，用户可以通过微信扫描二维码的方式登录系统，无需输入用户名和密码。

## 2. 配置要求
在测试前，请确保已完成以下配置：

1. 在`application.yml`中配置了正确的微信公众号信息：
   ```yaml
   wechat:
     app-id: your_wechat_appid
     app-secret: your_wechat_app_secret
     redirect-uri: http://your-domain.com/examapi/wechat/callback
   ```

2. 数据库已执行了微信登录字段添加脚本：
   - `/doc/微信登录字段添加.sql`

## 3. 功能测试步骤

### 3.1 前端功能测试
1. 访问系统登录页面
2. 点击"微信扫码登录"按钮
3. 观察是否能正常生成二维码
4. 使用微信扫描二维码
5. 在微信中确认登录
6. 观察前端是否能正确跳转到系统主页

### 3.2 后端接口测试
可以通过Postman等工具测试以下接口：

1. 生成二维码接口：
   - URL: `GET /examapi/wechat/qrcode`
   - 预期结果：返回二维码信息和登录ID

2. 检查登录状态接口：
   - URL: `GET /examapi/wechat/status?loginId={loginId}`
   - 预期结果：返回当前登录状态

3. 微信登录接口：
   - URL: `POST /examapi/wechat/login?loginId={loginId}`
   - 预期结果：登录成功并返回token

### 3.3 数据库验证
1. 检查`sys_user`表是否添加了微信相关字段
2. 检查`wechat_login_status`表是否能正常记录登录状态
3. 验证用户绑定微信后，`sys_user`表中的微信字段是否正确更新

## 4. 常见问题及解决方案

### 4.1 二维码无法生成
- 检查微信配置是否正确
- 检查网络连接是否正常
- 查看后端日志是否有错误信息

### 4.2 扫码后无法登录
- 检查微信回调接口是否正常
- 检查用户是否已正确绑定微信
- 查看数据库记录是否正常更新

### 4.3 登录成功但无法跳转
- 检查token是否正确返回
- 检查前端路由配置是否正确

## 5. 注意事项
1. 微信扫码登录功能需要在微信公众号平台配置正确的授权回调域名
2. 测试时建议使用真实的微信客户端扫描二维码
3. 二维码有有效期限制，默认为10分钟
4. 同一个二维码只能使用一次

## 6. 安全建议
1. 建议在生产环境中使用HTTPS协议
2. 微信AppSecret应妥善保管，不要暴露在前端代码中
3. 建议定期清理过期的登录状态记录