# 登录功能测试说明 ## ✅ 已完成的配置 ### 1. 后端配置 - ✅ 移除了所有验证注解(避免验证框架问题) - ✅ 添加了手动参数验证 - ✅ 登录接口已实现:`POST /api/user/login` - ✅ 密码使用MD5加密验证 ### 2. 前端配置 - ✅ 登录页面已连接后端API - ✅ API工具类已创建 - ✅ 错误处理已完善 ### 3. 数据库配置 - ✅ 测试用户数据已准备 ## 📋 测试账号 根据数据库中的测试数据,可以使用以下账号登录: | 用户名 | 密码 | 昵称 | VIP状态 | |--------|------|------|---------| | `zhangsan` | `123456` | 张三 | 否 | | `lisi` | `123456` | 李四 | 是 | | `wangwu` | `123456` | 王五 | 否 | ## 🚀 测试步骤 ### 第一步:确保数据库有测试数据 执行以下SQL脚本(如果还没有执行): ```bash mysql -u root -p books_db < src/main/resources/db/insert_data.sql ``` 或者直接在MySQL中执行 `insert_data.sql` 文件。 ### 第二步:启动后端服务 ```bash cd book mvn clean compile mvn spring-boot:run ``` **检查后端是否启动成功**: - 访问:`http://localhost:8081`(如果端口是8081) - 或查看控制台是否有启动成功的日志 ### 第三步:配置前端API地址 编辑 `books/utils/config.js`,确保API地址正确: ```javascript // 微信开发者工具使用 return 'http://localhost:8081/api' // 真机调试使用(需要改为你的IP) return 'http://192.168.1.100:8081/api' ``` ### 第四步:测试登录 1. 在微信开发者工具中打开项目 2. 进入登录页面 3. 输入测试账号: - 用户名:`zhangsan` - 密码:`123456` 4. 点击"登录"按钮 5. 查看是否成功登录 ## 🔍 验证登录成功的标志 1. **前端显示**: - ✅ 显示"登录成功"提示 - ✅ 自动跳转到首页 - ✅ 用户信息已保存到本地存储 2. **后端日志**: - ✅ 可以看到登录请求的日志 - ✅ 没有错误信息 3. **检查本地存储**: - 在微信开发者工具的"Storage"中可以看到: - `userInfo`:包含用户信息 - `isLogin`:true ## 🐛 常见问题排查 ### 问题1:登录失败 - 网络请求失败 **可能原因**: - 后端服务未启动 - API地址配置错误 - 端口不匹配 **解决方法**: 1. 检查后端服务是否运行:`http://localhost:8081` 2. 检查 `books/utils/config.js` 中的端口是否正确 3. 检查后端 `application.properties` 中的端口配置 ### 问题2:登录失败 - 用户名或密码错误 **可能原因**: - 数据库中不存在该用户 - 密码不匹配 **解决方法**: 1. 确认数据库中有测试用户数据 2. 确认密码是 `123456`(MD5加密后存储) 3. 可以在数据库中查看用户的密码字段 ### 问题3:验证器错误 **已修复**: - ✅ 已移除所有 `@Valid` 注解 - ✅ 已移除DTO中的验证注解 - ✅ 改为手动验证 如果仍有问题,请检查: - 是否重新编译了后端代码 - 是否重启了后端服务 ## 📝 数据库用户密码说明 数据库中的密码是MD5加密存储的: - **明文密码**:`123456` - **MD5加密后**:`e10adc3949ba59abbe56e057f20f883e` 登录时输入明文密码 `123456`,后端会自动进行MD5加密后与数据库比对。 ## 🔧 调试技巧 ### 1. 查看网络请求 在微信开发者工具中: - 打开"调试器" -> "Network" - 可以看到所有API请求和响应 ### 2. 查看后端日志 在后端控制台查看: - 请求是否到达 - 是否有错误信息 - SQL查询是否执行 ### 3. 测试API接口 可以使用Postman或curl测试: ```bash curl -X POST http://localhost:8081/api/user/login \ -H "Content-Type: application/json" \ -d '{"username":"zhangsan","password":"123456"}' ``` 预期响应: ```json { "code": 200, "message": "登录成功", "data": { "user": { "id": 1, "username": "zhangsan", "nickname": "张三" }, "token": "mock_token_1" } } ``` ## ✅ 验证清单 - [ ] 数据库中有测试用户数据 - [ ] 后端服务正常运行 - [ ] API地址配置正确 - [ ] 微信开发者工具已勾选"不校验合法域名" - [ ] 可以成功发送登录请求 - [ ] 可以成功接收响应 - [ ] 登录成功后保存用户信息 - [ ] 登录成功后跳转到首页 ## 📞 如果还有问题 1. 检查后端控制台是否有错误信息 2. 检查前端控制台是否有错误信息 3. 检查网络请求是否发送成功 4. 检查数据库连接是否正常 5. 确认测试账号数据是否存在