276 lines
5.2 KiB
Markdown
276 lines
5.2 KiB
Markdown
# 医助列表接口测试指南
|
||
|
||
## 快速测试
|
||
|
||
### 1. 后端测试
|
||
|
||
#### 直接访问接口
|
||
|
||
```bash
|
||
# 使用 curl 测试
|
||
curl -X GET "http://your-domain/adminapi/tcm.diagnosis/getAssistants" \
|
||
-H "token: your-admin-token"
|
||
```
|
||
|
||
#### 预期响应
|
||
|
||
```json
|
||
{
|
||
"code": 1,
|
||
"msg": "success",
|
||
"data": [
|
||
{
|
||
"id": 1,
|
||
"name": "医助张三",
|
||
"account": "assistant1"
|
||
},
|
||
{
|
||
"id": 2,
|
||
"name": "医助李四",
|
||
"account": "assistant2"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
### 2. 前端测试
|
||
|
||
#### 步骤 1:登录管理后台
|
||
|
||
```
|
||
访问:http://your-domain/admin
|
||
登录账号:admin
|
||
```
|
||
|
||
#### 步骤 2:访问诊单管理
|
||
|
||
```
|
||
菜单:中医管理 → 诊单管理
|
||
或直接访问:http://your-domain/admin/tcm/diagnosis
|
||
```
|
||
|
||
#### 步骤 3:检查医助下拉列表
|
||
|
||
1. 查看页面顶部的筛选条件
|
||
2. 找到"医助"下拉框
|
||
3. 点击下拉框,查看是否显示医助列表
|
||
|
||
#### 步骤 4:测试指派功能
|
||
|
||
1. 选择一条诊单记录
|
||
2. 点击"指派"按钮
|
||
3. 在弹窗中选择医助
|
||
4. 点击"确定指派"
|
||
|
||
### 3. 浏览器控制台测试
|
||
|
||
打开浏览器开发者工具(F12),在 Console 中执行:
|
||
|
||
```javascript
|
||
// 测试 API 调用
|
||
fetch('/adminapi/tcm.diagnosis/getAssistants', {
|
||
headers: {
|
||
'token': localStorage.getItem('token')
|
||
}
|
||
})
|
||
.then(res => res.json())
|
||
.then(data => console.log('医助列表:', data))
|
||
```
|
||
|
||
## 检查清单
|
||
|
||
### 后端检查
|
||
|
||
- [ ] 接口可以正常访问
|
||
- [ ] 返回的数据格式正确
|
||
- [ ] 只返回 `role_id = 2` 的管理员
|
||
- [ ] 只返回 `disable = 0` 的管理员
|
||
- [ ] 返回字段包含:id、name、account
|
||
- [ ] 按 id 升序排列
|
||
|
||
### 前端检查
|
||
|
||
- [ ] 页面加载时自动获取医助列表
|
||
- [ ] 筛选条件中的医助下拉框正常显示
|
||
- [ ] 指派弹窗中的医助下拉框正常显示
|
||
- [ ] 可以正常选择医助
|
||
- [ ] 不会出现权限错误
|
||
- [ ] 控制台没有错误信息
|
||
|
||
### 功能检查
|
||
|
||
- [ ] 可以按医助筛选诊单
|
||
- [ ] 可以单个指派医助
|
||
- [ ] 可以批量指派医助
|
||
- [ ] 指派后列表正常刷新
|
||
- [ ] 医助名称正常显示
|
||
|
||
## 常见问题
|
||
|
||
### 问题 1:接口返回空数组
|
||
|
||
**原因:**
|
||
- 数据库中没有 `role_id = 2` 的管理员
|
||
- 所有医助都被禁用(`disable = 1`)
|
||
|
||
**解决:**
|
||
```sql
|
||
-- 检查医助数据
|
||
SELECT id, name, account, role_id, disable FROM la_admin WHERE role_id = 2;
|
||
|
||
-- 如果没有数据,需要添加医助
|
||
INSERT INTO la_admin (name, account, role_id, disable) VALUES ('医助测试', 'assistant_test', 2, 0);
|
||
```
|
||
|
||
### 问题 2:前端显示"权限不足"
|
||
|
||
**原因:**
|
||
- 还在使用旧的 `adminLists` 接口
|
||
- 代码没有更新
|
||
|
||
**解决:**
|
||
1. 确认前端代码已更新
|
||
2. 清除浏览器缓存
|
||
3. 重新编译前端代码
|
||
|
||
### 问题 3:下拉框不显示数据
|
||
|
||
**原因:**
|
||
- API 返回的数据格式不对
|
||
- 前端解析数据错误
|
||
|
||
**解决:**
|
||
1. 打开浏览器控制台
|
||
2. 查看 Network 标签
|
||
3. 检查接口返回的数据
|
||
4. 查看 Console 是否有错误
|
||
|
||
## 数据库检查
|
||
|
||
### 检查医助数据
|
||
|
||
```sql
|
||
-- 查看所有医助
|
||
SELECT
|
||
id,
|
||
name,
|
||
account,
|
||
role_id,
|
||
disable,
|
||
create_time
|
||
FROM la_admin
|
||
WHERE role_id = 2
|
||
ORDER BY id ASC;
|
||
```
|
||
|
||
### 检查角色配置
|
||
|
||
```sql
|
||
-- 查看角色ID为2的角色信息
|
||
SELECT * FROM la_system_role WHERE id = 2;
|
||
```
|
||
|
||
### 添加测试医助
|
||
|
||
```sql
|
||
-- 添加测试医助(如果需要)
|
||
INSERT INTO la_admin (
|
||
name,
|
||
account,
|
||
password,
|
||
role_id,
|
||
disable,
|
||
create_time,
|
||
update_time
|
||
) VALUES (
|
||
'测试医助',
|
||
'test_assistant',
|
||
'e10adc3949ba59abbe56e057f20f883e', -- 密码:123456
|
||
2,
|
||
0,
|
||
UNIX_TIMESTAMP(),
|
||
UNIX_TIMESTAMP()
|
||
);
|
||
```
|
||
|
||
## 性能测试
|
||
|
||
### 测试大量数据
|
||
|
||
```sql
|
||
-- 添加100个测试医助
|
||
DELIMITER $$
|
||
CREATE PROCEDURE add_test_assistants()
|
||
BEGIN
|
||
DECLARE i INT DEFAULT 1;
|
||
WHILE i <= 100 DO
|
||
INSERT INTO la_admin (
|
||
name,
|
||
account,
|
||
password,
|
||
role_id,
|
||
disable,
|
||
create_time,
|
||
update_time
|
||
) VALUES (
|
||
CONCAT('医助', i),
|
||
CONCAT('assistant', i),
|
||
'e10adc3949ba59abbe56e057f20f883e',
|
||
2,
|
||
0,
|
||
UNIX_TIMESTAMP(),
|
||
UNIX_TIMESTAMP()
|
||
);
|
||
SET i = i + 1;
|
||
END WHILE;
|
||
END$$
|
||
DELIMITER ;
|
||
|
||
CALL add_test_assistants();
|
||
DROP PROCEDURE add_test_assistants;
|
||
```
|
||
|
||
### 测试响应时间
|
||
|
||
```bash
|
||
# 使用 curl 测试响应时间
|
||
time curl -X GET "http://your-domain/adminapi/tcm.diagnosis/getAssistants" \
|
||
-H "token: your-admin-token"
|
||
```
|
||
|
||
## 日志检查
|
||
|
||
### 查看错误日志
|
||
|
||
```bash
|
||
# 查看 PHP 错误日志
|
||
tail -f runtime/log/error.log
|
||
|
||
# 查看应用日志
|
||
tail -f runtime/log/202403/04.log
|
||
```
|
||
|
||
### 搜索相关日志
|
||
|
||
```bash
|
||
# 搜索医助列表相关日志
|
||
grep "getAssistants" runtime/log/202403/*.log
|
||
```
|
||
|
||
## 成功标准
|
||
|
||
当满足以下所有条件时,说明接口工作正常:
|
||
|
||
- ✅ 接口返回 200 状态码
|
||
- ✅ 返回数据格式正确
|
||
- ✅ 前端下拉框正常显示医助列表
|
||
- ✅ 可以正常筛选和指派医助
|
||
- ✅ 没有权限错误
|
||
- ✅ 没有控制台错误
|
||
- ✅ 响应时间 < 500ms
|
||
|
||
---
|
||
|
||
**测试日期:** 2024-03-04
|
||
**版本:** 1.0
|