Files
zyt/API接口文档.md
T
2026-03-04 15:32:30 +08:00

9.5 KiB
Raw Blame History

中医诊单API接口文档

基础信息

  • 基础路径:/adminapi
  • 请求方式:支持GET、POST
  • 返回格式:JSON
  • 需要认证:是(需要登录token

接口列表

1. 获取诊单列表

接口地址: /tcm.diagnosis/lists

请求方式: GET

请求参数:

参数名 类型 必填 说明
page int 页码,默认1
size int 每页数量,默认20
patient_name string 患者姓名(模糊搜索)
patient_id int 患者ID
gender int 性别:0-女 1-男
diagnosis_type string 诊断类型
syndrome_type string 证型
status int 状态:0-禁用 1-启用
start_time string 开始时间(诊断日期)
end_time string 结束时间(诊断日期)

请求示例:

GET /adminapi/tcm.diagnosis/lists?page=1&size=20&patient_name=张三

返回参数:

参数名 类型 说明
code int 状态码:1-成功 0-失败
msg string 提示信息
data object 返回数据
data.lists array 诊单列表
data.count int 总数量
data.page_no int 当前页码
data.page_size int 每页数量

返回示例:

{
    "code": 1,
    "msg": "success",
    "data": {
        "lists": [
            {
                "id": 1,
                "patient_id": 10001,
                "patient_name": "张三",
                "gender": 1,
                "gender_desc": "男",
                "age": 45,
                "diagnosis_date": 1709222400,
                "diagnosis_date_text": "2024-03-01",
                "diagnosis_type": "first_visit",
                "syndrome_type": "qi_deficiency",
                "status": 1,
                "status_desc": "启用",
                "create_time": "2024-03-01 10:00:00",
                "update_time": "2024-03-01 10:00:00"
            }
        ],
        "count": 100,
        "page_no": 1,
        "page_size": 20
    }
}

2. 获取诊单详情

接口地址: /tcm.diagnosis/detail

请求方式: GET

请求参数:

参数名 类型 必填 说明
id int 诊单ID

请求示例:

GET /adminapi/tcm.diagnosis/detail?id=1

返回参数:

参数名 类型 说明
code int 状态码:1-成功 0-失败
msg string 提示信息
data object 诊单详情

返回示例:

{
    "code": 1,
    "msg": "success",
    "data": {
        "id": 1,
        "patient_id": 10001,
        "patient_name": "张三",
        "gender": 1,
        "gender_desc": "男",
        "age": 45,
        "diagnosis_date": "2024-03-01",
        "diagnosis_type": "first_visit",
        "syndrome_type": "qi_deficiency",
        "past_history": ["hypertension", "diabetes"],
        "symptoms": "乏力、气短、自汗",
        "tongue_coating": "舌淡苔白",
        "pulse": "脉细弱",
        "treatment_principle": "补气健脾",
        "prescription": "四君子汤加减\n党参15g 白术12g 茯苓12g 甘草6g",
        "doctor_advice": "忌食生冷,注意休息",
        "remark": "",
        "status": 1,
        "status_desc": "启用",
        "create_time": "2024-03-01 10:00:00",
        "update_time": "2024-03-01 10:00:00"
    }
}

3. 新增诊单

接口地址: /tcm.diagnosis/add

请求方式: POST

请求参数:

参数名 类型 必填 说明
patient_id int 患者ID
patient_name string 患者姓名
gender int 性别:0-女 1-男
age int 年龄(0-150
diagnosis_date string 诊断日期(格式:YYYY-MM-DD
diagnosis_type string 诊断类型
syndrome_type string 证型
past_history array 既往史(数组)
symptoms string 症状
tongue_coating string 舌苔
pulse string 脉象
treatment_principle string 治则
prescription string 处方
doctor_advice string 医嘱
remark string 备注
status int 状态:0-禁用 1-启用,默认1

请求示例:

{
    "patient_id": 10001,
    "patient_name": "张三",
    "gender": 1,
    "age": 45,
    "diagnosis_date": "2024-03-01",
    "diagnosis_type": "first_visit",
    "syndrome_type": "qi_deficiency",
    "past_history": ["hypertension", "diabetes"],
    "symptoms": "乏力、气短、自汗",
    "tongue_coating": "舌淡苔白",
    "pulse": "脉细弱",
    "treatment_principle": "补气健脾",
    "prescription": "四君子汤加减\n党参15g 白术12g 茯苓12g 甘草6g",
    "doctor_advice": "忌食生冷,注意休息",
    "status": 1
}

返回示例:

{
    "code": 1,
    "msg": "添加成功",
    "data": [],
    "show": 1,
    "error": 1
}

4. 编辑诊单

接口地址: /tcm.diagnosis/edit

请求方式: POST

请求参数:

参数名 类型 必填 说明
id int 诊单ID
patient_name string 患者姓名
gender int 性别:0-女 1-男
age int 年龄(0-150
diagnosis_date string 诊断日期(格式:YYYY-MM-DD
diagnosis_type string 诊断类型
syndrome_type string 证型
past_history array 既往史(数组)
symptoms string 症状
tongue_coating string 舌苔
pulse string 脉象
treatment_principle string 治则
prescription string 处方
doctor_advice string 医嘱
remark string 备注
status int 状态:0-禁用 1-启用

请求示例:

{
    "id": 1,
    "patient_name": "张三",
    "gender": 1,
    "age": 45,
    "diagnosis_date": "2024-03-01",
    "diagnosis_type": "follow_up",
    "syndrome_type": "qi_deficiency",
    "past_history": ["hypertension", "diabetes"],
    "symptoms": "乏力、气短、自汗",
    "tongue_coating": "舌淡苔白",
    "pulse": "脉细弱",
    "treatment_principle": "补气健脾",
    "prescription": "四君子汤加减\n党参15g 白术12g 茯苓12g 甘草6g",
    "doctor_advice": "忌食生冷,注意休息",
    "status": 1
}

返回示例:

{
    "code": 1,
    "msg": "编辑成功",
    "data": [],
    "show": 1,
    "error": 1
}

5. 删除诊单

接口地址: /tcm.diagnosis/delete

请求方式: POST

请求参数:

参数名 类型 必填 说明
id int 诊单ID

请求示例:

{
    "id": 1
}

返回示例:

{
    "code": 1,
    "msg": "删除成功",
    "data": [],
    "show": 1,
    "error": 1
}

错误码说明

错误码 说明
1 成功
0 失败
-1 参数错误
-2 数据不存在
-3 权限不足
-4 未登录

字典数据说明

既往史(past_history

名称
hypertension 高血压
diabetes 糖尿病
coronary_heart_disease 冠心病
cerebrovascular_disease 脑血管疾病
hepatitis 肝炎
kidney_disease 肾病
asthma 哮喘
stomach_disease 胃病
surgery_history 手术史
allergy_history 过敏史
other 其他

诊断类型(diagnosis_type

名称
first_visit 初诊
follow_up 复诊
consultation 会诊

证型(syndrome_type

名称
qi_deficiency 气虚
blood_deficiency 血虚
yin_deficiency 阴虚
yang_deficiency 阳虚
qi_stagnation 气滞
blood_stasis 血瘀
phlegm_dampness 痰湿
damp_heat 湿热
cold_dampness 寒湿
wind_cold 风寒
wind_heat 风热

注意事项

  1. 所有接口都需要在请求头中携带token:Authorization: Bearer {token}
  2. 日期格式统一使用:YYYY-MM-DD
  3. 既往史字段在提交时为数组,返回时也为数组
  4. 诊断日期在列表中返回时间戳和格式化文本两种格式
  5. 性别和状态字段会返回原始值和描述文本
  6. 分页参数page和size为可选,默认page=1size=20

测试工具

推荐使用以下工具测试接口:

  • Postman
  • Apifox
  • Insomnia
  • curl命令行

示例代码

JavaScript/Axios

// 获取诊单列表
axios.get('/adminapi/tcm.diagnosis/lists', {
    params: {
        page: 1,
        size: 20,
        patient_name: '张三'
    },
    headers: {
        'Authorization': 'Bearer ' + token
    }
})

// 新增诊单
axios.post('/adminapi/tcm.diagnosis/add', {
    patient_id: 10001,
    patient_name: '张三',
    gender: 1,
    age: 45,
    diagnosis_date: '2024-03-01',
    diagnosis_type: 'first_visit',
    syndrome_type: 'qi_deficiency',
    past_history: ['hypertension', 'diabetes']
}, {
    headers: {
        'Authorization': 'Bearer ' + token
    }
})

PHP/cURL

// 获取诊单列表
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://your-domain.com/adminapi/tcm.diagnosis/lists?page=1&size=20');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer ' . $token
]);
$response = curl_exec($ch);
curl_close($ch);