登录功能测试说明.md 4.5 KB

登录功能测试说明

✅ 已完成的配置

1. 后端配置

  • ✅ 移除了所有验证注解(避免验证框架问题)
  • ✅ 添加了手动参数验证
  • ✅ 登录接口已实现:POST /api/user/login
  • ✅ 密码使用MD5加密验证

2. 前端配置

  • ✅ 登录页面已连接后端API
  • ✅ API工具类已创建
  • ✅ 错误处理已完善

3. 数据库配置

  • ✅ 测试用户数据已准备

📋 测试账号

根据数据库中的测试数据,可以使用以下账号登录:

用户名 密码 昵称 VIP状态
zhangsan 123456 张三
lisi 123456 李四
wangwu 123456 王五

🚀 测试步骤

第一步:确保数据库有测试数据

执行以下SQL脚本(如果还没有执行):

mysql -u root -p books_db < src/main/resources/db/insert_data.sql

或者直接在MySQL中执行 insert_data.sql 文件。

第二步:启动后端服务

cd book
mvn clean compile
mvn spring-boot:run

检查后端是否启动成功

  • 访问:http://localhost:8081(如果端口是8081)
  • 或查看控制台是否有启动成功的日志

第三步:配置前端API地址

编辑 books/utils/config.js,确保API地址正确:

// 微信开发者工具使用
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测试:

curl -X POST http://localhost:8081/api/user/login \
  -H "Content-Type: application/json" \
  -d '{"username":"zhangsan","password":"123456"}'

预期响应:

{
  "code": 200,
  "message": "登录成功",
  "data": {
    "user": {
      "id": 1,
      "username": "zhangsan",
      "nickname": "张三"
    },
    "token": "mock_token_1"
  }
}

✅ 验证清单

  • 数据库中有测试用户数据
  • 后端服务正常运行
  • API地址配置正确
  • 微信开发者工具已勾选"不校验合法域名"
  • 可以成功发送登录请求
  • 可以成功接收响应
  • 登录成功后保存用户信息
  • 登录成功后跳转到首页

📞 如果还有问题

  1. 检查后端控制台是否有错误信息
  2. 检查前端控制台是否有错误信息
  3. 检查网络请求是否发送成功
  4. 检查数据库连接是否正常
  5. 确认测试账号数据是否存在