Files
zyt/ASSISTANT_API_TEST.md
T
2026-03-04 15:32:30 +08:00

276 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 医助列表接口测试指南
## 快速测试
### 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