173 lines
4.7 KiB
Markdown
173 lines
4.7 KiB
Markdown
# 测试流程文档
|
||
|
||
## 1. 测试目标
|
||
|
||
验证用户管理功能的完整性,包括:
|
||
- 个人信息修改功能
|
||
- 管理员账号创建功能
|
||
- 用户登录功能
|
||
- 后台admin管理页面查看用户信息功能
|
||
|
||
## 2. 测试环境
|
||
|
||
- **后端服务器**:http://localhost:3002
|
||
- **前端服务器**:http://localhost:5173
|
||
- **数据库**:SQLite
|
||
- **测试工具**:Node.js 内置 http 模块
|
||
|
||
## 3. 测试流程
|
||
|
||
### 3.1 个人信息修改功能测试
|
||
|
||
**测试脚本**:`test-profile-update-native.js`
|
||
|
||
**测试步骤**:
|
||
1. 获取当前用户信息
|
||
2. 尝试更新用户信息(姓名、邮箱、手机号)
|
||
3. 验证更新是否成功
|
||
4. 检查字段是否已更新
|
||
|
||
**测试结果**:
|
||
- ✅ 个人信息修改功能正常
|
||
- ✅ 后端API响应正确
|
||
- ✅ 数据库更新成功
|
||
|
||
### 3.2 管理员账号创建功能测试
|
||
|
||
**测试脚本**:`test-create-user.js`
|
||
|
||
**测试步骤**:
|
||
1. 尝试创建新用户(用户名、姓名、邮箱、手机号、角色)
|
||
2. 验证用户是否已创建
|
||
3. 检查用户信息是否正确
|
||
|
||
**测试结果**:
|
||
- ✅ 创建用户功能正常
|
||
- ✅ 新用户已成功创建
|
||
- ✅ 用户信息正确存储
|
||
|
||
### 3.3 用户登录和个人信息修改功能测试
|
||
|
||
**测试脚本**:`test-user-login-profile.js`
|
||
|
||
**测试步骤**:
|
||
1. 测试用户登录(使用新创建的用户)
|
||
2. 获取用户ID
|
||
3. 测试个人信息修改
|
||
4. 验证个人信息是否已更新
|
||
|
||
**测试结果**:
|
||
- ✅ 用户登录功能正常
|
||
- ✅ 个人信息修改功能正常
|
||
- ✅ 信息更新验证成功
|
||
|
||
### 3.4 后台admin管理页面测试
|
||
|
||
**测试脚本**:`test-admin-user-list.js`
|
||
|
||
**测试步骤**:
|
||
1. 管理员登录
|
||
2. 获取用户列表
|
||
3. 查找测试用户
|
||
4. 验证用户信息是否已更新
|
||
|
||
**测试结果**:
|
||
- ✅ 管理员登录功能正常
|
||
- ✅ 用户列表获取成功
|
||
- ✅ 后台管理页面能看到修改后的值
|
||
|
||
## 4. 问题分析与修复
|
||
|
||
### 4.1 问题1:个人信息修改后UI不更新
|
||
|
||
**问题描述**:点击保存修改后提示修改成功,但信息没有成功录入,第二次点击还是没变。
|
||
|
||
**根本原因**:前端调用API成功后,只是显示了成功消息,但没有更新前端的状态。
|
||
|
||
**解决方案**:在API调用成功后,更新authStore中的用户信息,确保UI显示最新的用户数据。
|
||
|
||
**修复代码**:
|
||
```javascript
|
||
// 更新authStore中的用户信息
|
||
if (user) {
|
||
const updatedUser = {
|
||
...user,
|
||
name: values.name,
|
||
email: values.email,
|
||
phone: values.phone,
|
||
avatar: avatarUrl
|
||
};
|
||
setUser(updatedUser);
|
||
}
|
||
```
|
||
|
||
### 4.2 问题2:登录API不支持数据库用户
|
||
|
||
**问题描述**:登录API是硬编码的,只支持几个特定的用户,而不是从数据库中查询用户。
|
||
|
||
**根本原因**:登录API的实现是硬编码的,没有从数据库中查询用户。
|
||
|
||
**解决方案**:修改登录API,让它从数据库中查询用户并验证密码。
|
||
|
||
**修复代码**:
|
||
```javascript
|
||
// 从数据库中查询用户
|
||
const result = await db.query('SELECT id, username, name, email, phone, role FROM users WHERE username = ? AND password = ?', [username, password]);
|
||
|
||
if (!result || !result.rows || result.rows.length === 0) {
|
||
return res.status(401).json({
|
||
success: false,
|
||
message: '用户名或密码错误'
|
||
});
|
||
}
|
||
|
||
const user = result.rows[0];
|
||
```
|
||
|
||
## 5. 测试结果总结
|
||
|
||
| 测试项 | 状态 | 备注 |
|
||
|-------|------|------|
|
||
| 个人信息修改功能 | ✅ 通过 | 后端API正常,前端状态更新正常 |
|
||
| 管理员账号创建功能 | ✅ 通过 | 新用户已成功创建 |
|
||
| 用户登录功能 | ✅ 通过 | 支持数据库用户登录 |
|
||
| 后台admin管理页面 | ✅ 通过 | 能看到修改后的值 |
|
||
|
||
## 6. 验证步骤
|
||
|
||
### 6.1 管理员创建账号
|
||
1. 登录系统(admin / admin123)
|
||
2. 访问 `/admin/users`
|
||
3. 点击"新增用户"按钮
|
||
4. 填写用户名和姓名(必填)
|
||
5. 初始密码默认为123456
|
||
6. 点击"确定"按钮
|
||
|
||
### 6.2 账号登录
|
||
1. 打开登录页面
|
||
2. 输入用户名和密码(123456)
|
||
3. 点击"登录"按钮
|
||
|
||
### 6.3 修改个人信息
|
||
1. 登录系统
|
||
2. 点击右上角用户头像
|
||
3. 选择"个人信息"
|
||
4. 修改姓名、手机号、邮箱
|
||
5. 上传头像、护照、驾照
|
||
6. 点击"保存修改"按钮
|
||
7. 点击"修改密码"按钮,修改密码
|
||
|
||
### 6.4 后台查看修改后的值
|
||
1. 登录系统(admin / admin123)
|
||
2. 访问 `/admin/users`
|
||
3. 查看用户列表,确认用户信息已更新
|
||
|
||
## 7. 结论
|
||
|
||
所有测试项均已通过,用户管理功能完整且正常工作。系统支持:
|
||
- 管理员创建新用户
|
||
- 用户登录系统
|
||
- 用户修改个人信息
|
||
- 后台管理页面查看用户信息
|
||
|
||
系统已经完全实现了用户管理的需求,包括个人信息修改、账号创建、登录验证等功能。 |