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

5.2 KiB
Raw Blame History

医助列表接口测试指南

快速测试

1. 后端测试

直接访问接口

# 使用 curl 测试
curl -X GET "http://your-domain/adminapi/tcm.diagnosis/getAssistants" \
  -H "token: your-admin-token"

预期响应

{
    "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 中执行:

// 测试 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

解决:

-- 检查医助数据
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 是否有错误

数据库检查

检查医助数据

-- 查看所有医助
SELECT 
    id,
    name,
    account,
    role_id,
    disable,
    create_time
FROM la_admin 
WHERE role_id = 2
ORDER BY id ASC;

检查角色配置

-- 查看角色ID为2的角色信息
SELECT * FROM la_system_role WHERE id = 2;

添加测试医助

-- 添加测试医助(如果需要)
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()
);

性能测试

测试大量数据

-- 添加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;

测试响应时间

# 使用 curl 测试响应时间
time curl -X GET "http://your-domain/adminapi/tcm.diagnosis/getAssistants" \
  -H "token: your-admin-token"

日志检查

查看错误日志

# 查看 PHP 错误日志
tail -f runtime/log/error.log

# 查看应用日志
tail -f runtime/log/202403/04.log

搜索相关日志

# 搜索医助列表相关日志
grep "getAssistants" runtime/log/202403/*.log

成功标准

当满足以下所有条件时,说明接口工作正常:

  • 接口返回 200 状态码
  • 返回数据格式正确
  • 前端下拉框正常显示医助列表
  • 可以正常筛选和指派医助
  • 没有权限错误
  • 没有控制台错误
  • 响应时间 < 500ms

测试日期: 2024-03-04 版本: 1.0