63 KiB
康达机器人管理系统 API 接口文档
1. 文档概述
本文档详细描述了康达机器人管理系统的所有API接口,包括接口地址、请求方式、请求参数、响应格式和接口功能说明等。
2. 技术栈
- 后端框架: FastAPI
- 数据库: MySQL + SQLAlchemy (异步)
- 认证方式: JWT Token
- 缓存: Redis
- 异步请求: httpx
- 人脸识别: CompreFace API
- 门禁控制: 海康威视平台
3. 接口认证
系统采用 JWT Token 认证机制,所有需要认证的接口都需要在请求头中添加 Authorization: Bearer {token}。
获取 Token
POST /login
4. 接口分类
4.1 认证模块
4.1.1 用户登录
接口地址: /login
请求方式: POST
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| username | String | 是 | 用户名 |
| password | String | 是 | 密码 |
| code | String | 否 | 验证码(当前未启用) |
| uuid | String | 否 | 验证码UUID(当前未启用) |
| login_info | String | 否 | 登录信息 |
响应格式:
{
"code": 200,
"message": "登录成功",
"data": {
"access_token": "{jwt_token}",
"token_type": "bearer"
}
}
4.1.2 获取用户信息
接口地址: /system/user/getInfo
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"user": {
"user_id": 1,
"user_name": "admin",
"dept_id": 1,
"status": "0",
"email": "admin@example.com",
"phonenumber": "13800138000",
"sex": "1",
"avatar": null
},
"roles": ["admin"],
"permissions": ["*:*:*"]
}
}
4.1.3 获取用户路由
接口地址: /system/user/getRouters
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"name": "System",
"path": "/system",
"component": "Layout",
"redirect": "/system/user",
"meta": {
"title": "系统管理",
"icon": "system",
"roles": ["admin"]
},
"children": [
{
"name": "User",
"path": "user",
"component": "system/user/index",
"meta": {
"title": "用户管理",
"icon": "user",
"roles": ["admin"]
}
}
]
}
]
}
4.2 人脸识别与门禁模块
4.2.1 人脸检测
接口地址: /system/compreface/face_detection
请求方式: POST
认证要求: 是
请求参数:
- 表单数据或字节流:图片文件
响应格式:
{
"code": 200,
"message": "操作成功",
"data": {
"result": [
{
"box": {
"x_max": 100,
"y_max": 100,
"x_min": 50,
"y_min": 50
},
"probability": 0.99
}
]
}
}
4.2.2 人脸识别
接口地址: /system/compreface/face_recognition
请求方式: POST
认证要求: 是
请求参数:
- 表单数据或字节流:图片文件
响应格式:
{
"code": 200,
"message": "操作成功",
"data": {
"result": [
{
"box": {
"x_max": 100,
"y_max": 100,
"x_min": 50,
"y_min": 50
},
"probability": 0.99,
"subject": "张三",
"similarity": 0.95
}
]
}
}
4.2.3 门禁控制
接口地址: /system/door/control_door
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| door_index_code | String | 是 | 门设备索引码 |
| control_type | Integer | 是 | 控制类型(1: 开门, 0: 关门) |
响应格式:
{
"code": 200,
"message": "门控制成功",
"data": {
"result": "success"
}
}
4.2.4 获取门禁设备列表
接口地址: /system/door/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| door_name | String | 否 | 门名称 |
| door_code | String | 否 | 门编号 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 10,
"rows": [
{
"door_id": 1,
"door_name": "前门",
"door_code": "DOOR001",
"door_index_code": "123456",
"status": "1",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
4.2.5 添加门禁设备
接口地址: /system/door/add
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| door_name | String | 是 | 门名称 |
| door_code | String | 是 | 门编号 |
| door_index_code | String | 是 | 门设备索引码 |
| status | String | 是 | 状态(0: 禁用, 1: 启用) |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
4.3 机器人管理模块
4.3.1 获取机器人动作列表
接口地址: /system/robot_action/list
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"action_id": 1,
"action_name": "前进",
"action_code": "forward",
"action_desc": "机器人前进",
"status": "1"
}
]
}
4.3.2 修改机器人动作
接口地址: /system/robot_action
请求方式: PUT
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| action_id | Integer | 是 | 动作ID |
| action_name | String | 否 | 动作名称 |
| action_code | String | 否 | 动作代码 |
| action_desc | String | 否 | 动作描述 |
| status | String | 否 | 状态 |
响应格式:
{
"code": 200,
"message": "修改成功",
"data": null
}
4.4 内容管理模块
4.4.1 获取讲解内容列表
接口地址: /system/explanation_content/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| content_name | String | 否 | 内容名称 |
| content_type | String | 否 | 内容类型 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"content_id": 1,
"content_name": "公司介绍",
"content_type": "text",
"content": "这是公司介绍内容",
"status": "0",
"create_time": "2023-01-01 10:00:00"
}
]
}
4.4.2 添加讲解内容
接口地址: /system/explanation_content/add_explanation
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| content_name | String | 是 | 内容名称 |
| content_type | String | 是 | 内容类型 |
| content | String | 是 | 内容 |
| status | String | 是 | 状态 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
4.4.3 修改讲解内容
接口地址: /system/explanation_content/edit_explanation
请求方式: PUT
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| content_id | Integer | 是 | 内容ID |
| content_name | String | 否 | 内容名称 |
| content_type | String | 否 | 内容类型 |
| content | String | 否 | 内容 |
| status | String | 否 | 状态 |
响应格式:
{
"code": 200,
"message": "修改成功",
"data": null
}
4.4.4 删除讲解内容
接口地址: /system/explanation_content/{explanation_content_ids}
请求方式: DELETE
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| explanation_content_ids | String | 是 | 内容ID,多个用逗号分隔 |
响应格式:
{
"code": 200,
"message": "删除成功",
"data": null
}
4.5 系统管理模块
4.5.1 验证码管理
获取验证码图片
接口地址: /captchaImage
请求方式: GET
认证要求: 否
功能说明: 获取登录验证码图片,包括验证码开关和注册开关信息
响应格式:
{
"code": 200,
"message": "操作成功",
"data": {
"captchaEnabled": true,
"registerEnabled": true,
"img": "base64编码的图片数据",
"uuid": "验证码会话ID"
}
}
4.5.2 通用功能
文件上传
接口地址: /common/upload
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| file | File | 是 | 要上传的文件 |
响应格式:
{
"code": 200,
"message": "上传成功",
"data": {
"fileName": "uploaded_file.jpg",
"filePath": "/upload/path/uploaded_file.jpg"
}
}
文件下载
接口地址: /common/download
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| fileName | String | 是 | 文件名 |
| delete | Boolean | 是 | 是否删除文件 |
响应格式: 文件流
4.5.3 用户管理
获取用户列表
接口地址: /system/user/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| user_name | String | 否 | 用户名 |
| phonenumber | String | 否 | 手机号 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 10,
"rows": [
{
"user_id": 1,
"user_name": "admin",
"dept_id": 1,
"status": "0",
"email": "admin@example.com",
"phonenumber": "13800138000",
"sex": "1",
"avatar": null
}
]
}
}
获取部门树
接口地址: /system/user/deptTree
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"dept_id": 1,
"dept_name": "总公司",
"children": [
{
"dept_id": 2,
"dept_name": "技术部"
}
]
}
]
}
添加用户
接口地址: /system/user
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| user_name | String | 是 | 用户名 |
| dept_id | Integer | 是 | 部门ID |
| String | 否 | 邮箱 | |
| phonenumber | String | 否 | 手机号 |
| status | String | 是 | 状态 |
| password | String | 是 | 密码 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
4.5.4 部门管理
获取部门列表
接口地址: /system/dept/list
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"dept_id": 1,
"dept_name": "总公司",
"parent_id": 0,
"order_num": 1,
"status": "1",
"children": [
{
"dept_id": 2,
"dept_name": "技术部",
"parent_id": 1,
"order_num": 2,
"status": "1"
}
]
}
]
}
添加部门
接口地址: /system/dept
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| dept_name | String | 是 | 部门名称 |
| parent_id | Integer | 是 | 父部门ID |
| order_num | Integer | 是 | 排序 |
| status | String | 是 | 状态 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
修改部门
接口地址: /system/dept
请求方式: PUT
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| dept_id | Integer | 是 | 部门ID |
| dept_name | String | 否 | 部门名称 |
| parent_id | Integer | 否 | 父部门ID |
| order_num | Integer | 否 | 排序 |
| status | String | 否 | 状态 |
响应格式:
{
"code": 200,
"message": "修改成功",
"data": null
}
4.5.5 角色管理
获取角色列表
接口地址: /system/role/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| role_name | String | 否 | 角色名称 |
| status | String | 否 | 状态 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 5,
"rows": [
{
"role_id": 1,
"role_name": "管理员",
"role_key": "admin",
"status": "1",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
添加角色
接口地址: /system/role
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| role_name | String | 是 | 角色名称 |
| role_key | String | 是 | 角色标识 |
| status | String | 是 | 状态 |
| menu_ids | String | 是 | 菜单权限ID列表 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
获取角色部门树
接口地址: /system/role/deptTree/{role_id}
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"depts": [
{
"dept_id": 1,
"dept_name": "总公司",
"children": []
}
],
"checkedKeys": [1]
}
}
4.5.6 菜单管理
获取菜单树
接口地址: /system/menu/treeselect
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"menu_id": 1,
"menu_name": "系统管理",
"parent_id": 0,
"order_num": 1,
"path": "/system",
"component": "Layout",
"is_frame": 1,
"menu_type": "M",
"visible": "0",
"status": "0",
"children": [
{
"menu_id": 2,
"menu_name": "用户管理",
"parent_id": 1,
"order_num": 2,
"path": "user",
"component": "system/user/index",
"is_frame": 1,
"menu_type": "C",
"visible": "0",
"status": "0"
}
]
}
]
}
获取菜单列表
接口地址: /system/menu/list
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"menu_id": 1,
"menu_name": "系统管理",
"parent_id": 0,
"order_num": 1,
"path": "/system",
"component": "Layout",
"is_frame": 1,
"menu_type": "M",
"visible": "0",
"status": "0"
}
]
}
添加菜单
接口地址: /system/menu
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| menu_name | String | 是 | 菜单名称 |
| parent_id | Integer | 是 | 父菜单ID |
| order_num | Integer | 是 | 排序 |
| path | String | 否 | 路由地址 |
| component | String | 否 | 组件路径 |
| is_frame | Integer | 是 | 是否是外部链接 |
| menu_type | String | 是 | 菜单类型 |
| visible | String | 是 | 显示状态 |
| status | String | 是 | 菜单状态 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
4.5.7 字典管理
获取字典类型列表
接口地址: /system/dict/type/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| dict_name | String | 否 | 字典名称 |
| dict_type | String | 否 | 字典类型 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 10,
"rows": [
{
"dict_id": 1,
"dict_name": "用户状态",
"dict_type": "sys_normal_disable",
"status": "0",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
获取字典数据列表
接口地址: /system/dict/data/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| dict_type | String | 是 | 字典类型 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 2,
"rows": [
{
"dict_code": 1,
"dict_sort": 1,
"dict_label": "正常",
"dict_value": "0",
"dict_type": "sys_normal_disable",
"status": "0"
},
{
"dict_code": 2,
"dict_sort": 2,
"dict_label": "禁用",
"dict_value": "1",
"dict_type": "sys_normal_disable",
"status": "0"
}
]
}
}
4.5.8 系统配置
获取配置列表
接口地址: /system/config/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| config_name | String | 否 | 配置名称 |
| config_key | String | 否 | 配置键名 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 10,
"rows": [
{
"config_id": 1,
"config_name": "系统名称",
"config_key": "sys.name",
"config_value": "康达机器人管理系统",
"status": "0",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
根据键名获取配置
接口地址: /system/config/configKey/{config_key}
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "康达机器人管理系统",
"data": null
}
刷新配置缓存
接口地址: /system/config/refreshCache
请求方式: DELETE
认证要求: 是
响应格式:
{
"code": 200,
"message": "刷新成功",
"data": null
}
4.5.9 日志管理
4.5.10 缓存监控
获取缓存统计信息
接口地址: /monitor/cache/statistics
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"memory_used": "100MB",
"memory_total": "1GB",
"key_count": 100
}
}
获取缓存名称列表
接口地址: /monitor/cache/keys
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"keys": ["user:1", "role:2", "menu:3"]
}
}
获取缓存键值对
接口地址: /monitor/cache/values
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| cache_keys | String | 是 | 缓存键(多个用逗号分隔) |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"user:1": {"user_id": 1, "user_name": "admin"},
"role:2": {"role_id": 2, "role_name": "管理员"}
}
}
清除单个缓存
接口地址: /monitor/cache/clearCache
请求方式: DELETE
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| cache_key | String | 是 | 缓存键 |
响应格式:
{
"code": 200,
"message": "清除成功",
"data": null
}
清除所有缓存
接口地址: /monitor/cache/clearCacheAll
请求方式: DELETE
认证要求: 是
响应格式:
{
"code": 200,
"message": "清除成功",
"data": null
}
4.5.11 定时任务管理
获取定时任务列表
接口地址: /monitor/job/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| job_name | String | 否 | 任务名称 |
| job_group | String | 否 | 任务组名 |
| status | String | 否 | 任务状态 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 5,
"rows": [
{
"job_id": 1,
"job_name": "数据备份",
"job_group": "system",
"invoke_target": "com.example.job.BackupJob",
"cron_expression": "0 0 2 * * ?",
"status": "0",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
添加定时任务
接口地址: /monitor/job
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| job_name | String | 是 | 任务名称 |
| job_group | String | 是 | 任务组名 |
| invoke_target | String | 是 | 调用目标 |
| cron_expression | String | 是 | cron表达式 |
| status | String | 是 | 任务状态 |
| remark | String | 否 | 备注 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
修改定时任务状态
接口地址: /monitor/job/changeStatus
请求方式: PUT
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| job_id | Integer | 是 | 任务ID |
| status | String | 是 | 任务状态 |
响应格式:
{
"code": 200,
"message": "修改成功",
"data": null
}
4.5.12 系统统计
获取统计数据
接口地址: /system/sys_statistics/get_data
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total_visitors": 1000,
"today_visitors": 100,
"success_rate": 0.95,
"total_records": 10000
}
}
获取访问趋势
接口地址: /system/sys_statistics/get_visitor_count/{day}
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| day | Integer | 是 | 天数 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"date": "2023-01-01",
"count": 100
},
{
"date": "2023-01-02",
"count": 150
}
]
}
获取门禁识别成功率
接口地址: /system/sys_statistics/access_control_success_rate/{day}
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| day | Integer | 是 | 天数 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"date": "2023-01-01",
"success_count": 95,
"total_count": 100,
"success_rate": 0.95
}
}
4.5.13 通知公告管理
获取通知列表
接口地址: /system/notice/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| notice_title | String | 否 | 公告标题 |
| status | String | 否 | 公告状态 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 5,
"rows": [
{
"notice_id": 1,
"notice_title": "系统更新通知",
"notice_type": "1",
"status": "0",
"create_by": "admin",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
添加通知公告
接口地址: /system/notice
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| notice_title | String | 是 | 公告标题 |
| notice_type | String | 是 | 公告类型 |
| notice_content | String | 是 | 公告内容 |
| status | String | 是 | 公告状态 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
获取通知详情
接口地址: /system/notice/{notice_id}
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"notice_id": 1,
"notice_title": "系统更新通知",
"notice_type": "1",
"notice_content": "系统将于2023-01-01进行更新",
"status": "0",
"create_by": "admin",
"create_time": "2023-01-01 10:00:00"
}
}
4.5.14 识别记录管理
获取识别记录列表
接口地址: /system/identification_record/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| device_id | String | 否 | 设备ID |
| visitor_name | String | 否 | 访客姓名 |
| start_time | String | 否 | 开始时间 |
| end_time | String | 否 | 结束时间 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 10,
"rows": [
{
"record_id": 1,
"device_id": "device_001",
"visitor_name": "张三",
"visitor_type": "0",
"identification_time": "2023-01-01 10:00:00",
"status": "0"
}
]
}
}
添加识别记录
接口地址: /system/identification_record
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| device_id | String | 是 | 设备ID |
| visitor_name | String | 是 | 访客姓名 |
| visitor_type | String | 是 | 访客类型 |
| identification_time | String | 是 | 识别时间 |
| status | String | 是 | 状态 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
导出识别记录
接口地址: /system/identification_record/export
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| device_id | String | 否 | 设备ID |
| visitor_name | String | 否 | 访客姓名 |
| start_time | String | 否 | 开始时间 |
| end_time | String | 否 | 结束时间 |
响应格式: 文件流
4.5.15 讲解内容管理
获取讲解内容列表
接口地址: /system/explanation_content/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| content_name | String | 否 | 内容名称 |
| status | String | 否 | 状态 |
| type_id | Integer | 否 | 类型ID |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"content_id": 1,
"content_name": "展厅介绍",
"type_id": 1,
"content_text": "这是展厅的详细介绍...",
"status": "0",
"create_time": "2023-01-01 10:00:00"
}
]
}
添加讲解内容
接口地址: /system/explanation_content/add_explanation
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| content_name | String | 是 | 内容名称 |
| type_id | Integer | 是 | 类型ID |
| content_text | String | 是 | 内容文本 |
| status | String | 是 | 状态 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
编辑讲解内容
接口地址: /system/explanation_content/edit_explanation
请求方式: PUT
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| content_id | Integer | 是 | 内容ID |
| content_name | String | 是 | 内容名称 |
| type_id | Integer | 是 | 类型ID |
| content_text | String | 是 | 内容文本 |
| status | String | 是 | 状态 |
响应格式:
{
"code": 200,
"message": "编辑成功",
"data": null
}
删除讲解内容
接口地址: /system/explanation_content/{explanation_content_ids}
请求方式: DELETE
认证要求: 是
响应格式:
{
"code": 200,
"message": "删除成功",
"data": null
}
获取讲解内容类型列表
接口地址: /system/explanation_content/type_list
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"type_id": 1,
"type_name": "展厅介绍",
"create_time": "2023-01-01 10:00:00"
}
]
}
4.5.16 机器人动作管理
获取机器人动作列表
接口地址: /system/robot_action/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| action_name | String | 否 | 动作名称 |
| robot_id | Integer | 否 | 机器人ID |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"action_id": 1,
"action_name": "欢迎动作",
"robot_id": 1,
"action_data": "{...}",
"create_time": "2023-01-01 10:00:00"
}
]
}
编辑机器人动作
接口地址: /system/robot_action
请求方式: PUT
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| action_id | Integer | 是 | 动作ID |
| action_name | String | 是 | 动作名称 |
| robot_id | Integer | 是 | 机器人ID |
| action_data | String | 是 | 动作数据 |
响应格式:
{
"code": 200,
"message": "编辑成功",
"data": null
}
4.5.17 门禁控制管理
机器人控制开门
接口地址: /system/door/control_door
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| door_index_code | String | 是 | 门禁设备索引码 |
| control_type | Integer | 是 | 控制类型(0-开,1-关) |
响应格式:
{
"code": 200,
"message": "门控制成功",
"data": null
}
获取门禁设备列表
接口地址: /system/door/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| device_name | String | 否 | 设备名称 |
| device_code | String | 否 | 设备编码 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 5,
"rows": [
{
"device_id": 1,
"device_name": "前门",
"device_code": "DOOR_001",
"door_index_code": "123456",
"status": "0",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
添加门禁设备
接口地址: /system/door/add
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| device_name | String | 是 | 设备名称 |
| device_code | String | 是 | 设备编码 |
| door_index_code | String | 是 | 门禁设备索引码 |
| status | String | 是 | 设备状态 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
编辑门禁设备
接口地址: /system/door/edit
请求方式: PUT
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| device_id | Integer | 是 | 设备ID |
| device_name | String | 是 | 设备名称 |
| device_code | String | 是 | 设备编码 |
| door_index_code | String | 是 | 门禁设备索引码 |
| status | String | 是 | 设备状态 |
响应格式:
{
"code": 200,
"message": "编辑成功",
"data": null
}
4.5.18 海康设备管理
查询访客预约记录
接口地址: /system/haikang/get_visitor_list
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| visitor_name | String | 否 | 访客姓名 |
| visitor_phone | String | 否 | 访客电话 |
| start_time | String | 否 | 开始时间 |
| end_time | String | 否 | 结束时间 |
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
响应格式:
{
"code": 200,
"message": "查询成功",
"data": {
"total": 3,
"rows": [
{
"reservation_id": "123456",
"visitor_name": "张三",
"visitor_phone": "13800138000",
"visit_time": "2023-01-01 10:00:00",
"status": "0"
}
]
}
}
4.5.19 告警消息管理
查看告警类型分布
接口地址: /system/message/alarm_type_distribution
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"type1": 10,
"type2": 5,
"type3": 3
}
}
一键处理未处理的告警消息
接口地址: /system/message/handle_all
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "处理成功",
"data": null
}
查询告警数量信息
接口地址: /system/message/count_message
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 18,
"unhandled": 5,
"handled": 13
}
}
获取告警消息列表
接口地址: /system/message/alert_message
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 18,
"rows": [
{
"message_id": 1,
"message_title": "设备异常",
"message_type": "1",
"message_content": "前门门禁设备离线",
"status": "0",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
4.5.20 人脸识别管理
人脸检测
接口地址: /system/compreface/face_detection
请求方式: POST
认证要求: 是
请求参数: 文件流/字节流形式的图片数据
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"faces": [
{
"box": [100, 100, 200, 200],
"probability": 0.99
}
],
"image_id": "abc123",
"time_used": 100
}
}
人脸识别
接口地址: /system/compreface/face_recognition
请求方式: POST
认证要求: 是
请求参数: 文件流/字节流形式的图片数据
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"faces": [
{
"box": [100, 100, 200, 200],
"probability": 0.99,
"identity": {
"id": "person_001",
"name": "张三",
"score": 0.95
}
}
],
"image_id": "abc123",
"time_used": 150
}
}
4.5.21 验证码管理
获取验证码图片
接口地址: /captchaImage
请求方式: GET
认证要求: 否
功能说明: 获取登录验证码图片,包括验证码开关和注册开关信息
响应格式:
{
"code": 200,
"message": "操作成功",
"data": {
"captchaEnabled": true,
"registerEnabled": true,
"img": "base64编码的图片数据",
"uuid": "验证码会话ID"
}
}
4.5.22 通用功能
文件上传
接口地址: /common/upload
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| file | File | 是 | 要上传的文件 |
响应格式:
{
"code": 200,
"message": "上传成功",
"data": {
"fileName": "uploaded_file.jpg",
"filePath": "/upload/path/uploaded_file.jpg"
}
}
文件下载
接口地址: /common/download
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| fileName | String | 是 | 文件名 |
| delete | Boolean | 是 | 是否删除文件 |
响应格式: 文件流
获取操作日志列表
接口地址: /monitor/operlog/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| title | String | 否 | 日志标题 |
| business_type | Integer | 否 | 业务类型 |
| oper_name | String | 否 | 操作用户 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 100,
"rows": [
{
"oper_id": 1,
"title": "用户管理",
"business_type": 1,
"oper_name": "admin",
"oper_url": "/system/user/list",
"oper_ip": "127.0.0.1",
"oper_time": "2023-01-01 10:00:00"
}
]
}
}
获取登录日志列表
接口地址: /monitor/logininfor/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| user_name | String | 否 | 用户名 |
| status | String | 否 | 登录状态 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 50,
"rows": [
{
"info_id": 1,
"user_name": "admin",
"ipaddr": "127.0.0.1",
"login_location": "本地",
"browser": "Chrome",
"os": "Windows 10",
"status": "0",
"msg": "登录成功",
"login_time": "2023-01-01 10:00:00"
}
]
}
}
解锁用户
接口地址: /monitor/logininfor/unlock/{user_name}
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "解锁成功",
"data": null
}
4.5.10 缓存监控
获取缓存统计信息
接口地址: /monitor/cache
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"name": "Redis",
"uptime": "1000000",
"connected_clients": 10,
"used_memory": "1024000",
"db_num": 16
}
}
获取缓存名称列表
接口地址: /monitor/cache/getNames
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"cacheName": "system",
"cacheType": "Redis"
}
]
}
获取缓存键列表
接口地址: /monitor/cache/getKeys/{cache_name}
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
"sys_config:sys.name",
"sys_config:sys.version"
]
}
获取缓存值
接口地址: /monitor/cache/getValue/{cache_name}/{cache_key}
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"cacheName": "system",
"cacheKey": "sys_config:sys.name",
"cacheValue": "康达机器人管理系统",
"cacheTime": "2023-01-01 10:00:00"
}
}
清除指定名称缓存
接口地址: /monitor/cache/clearCacheName/{cache_name}
请求方式: DELETE
认证要求: 是
响应格式:
{
"code": 200,
"message": "清除成功",
"data": null
}
清除所有缓存
接口地址: /monitor/cache/clearCacheAll
请求方式: DELETE
认证要求: 是
响应格式:
{
"code": 200,
"message": "清除成功",
"data": null
}
4.5.11 定时任务管理
获取定时任务列表
接口地址: /monitor/job/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| job_name | String | 否 | 任务名称 |
| job_group | String | 否 | 任务组名 |
| status | String | 否 | 任务状态 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 5,
"rows": [
{
"job_id": 1,
"job_name": "数据备份",
"job_group": "system",
"invoke_target": "com.example.job.BackupJob",
"cron_expression": "0 0 2 * * ?",
"status": "0",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
添加定时任务
接口地址: /monitor/job
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| job_name | String | 是 | 任务名称 |
| job_group | String | 是 | 任务组名 |
| invoke_target | String | 是 | 调用目标 |
| cron_expression | String | 是 | cron表达式 |
| status | String | 是 | 任务状态 |
| remark | String | 否 | 备注 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
修改定时任务状态
接口地址: /monitor/job/changeStatus
请求方式: PUT
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| job_id | Integer | 是 | 任务ID |
| status | String | 是 | 任务状态 |
响应格式:
{
"code": 200,
"message": "修改成功",
"data": null
}
4.5.12 系统统计
获取统计数据
接口地址: /system/sys_statistics/get_data
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total_visitors": 1000,
"today_visitors": 100,
"success_rate": 0.95,
"total_records": 10000
}
}
获取访问趋势
接口地址: /system/sys_statistics/get_visitor_count/{day}
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| day | Integer | 是 | 天数 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"date": "2023-01-01",
"count": 100
},
{
"date": "2023-01-02",
"count": 150
}
]
}
获取门禁识别成功率
接口地址: /system/sys_statistics/access_control_success_rate/{day}
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| day | Integer | 是 | 天数 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"date": "2023-01-01",
"success_count": 95,
"total_count": 100,
"success_rate": 0.95
}
}
4.5.13 通知公告管理
获取通知列表
接口地址: /system/notice/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| notice_title | String | 否 | 公告标题 |
| status | String | 否 | 公告状态 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 5,
"rows": [
{
"notice_id": 1,
"notice_title": "系统更新通知",
"notice_type": "1",
"status": "0",
"create_by": "admin",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
添加通知公告
接口地址: /system/notice
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| notice_title | String | 是 | 公告标题 |
| notice_type | String | 是 | 公告类型 |
| notice_content | String | 是 | 公告内容 |
| status | String | 是 | 公告状态 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
获取通知详情
接口地址: /system/notice/{notice_id}
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"notice_id": 1,
"notice_title": "系统更新通知",
"notice_type": "1",
"notice_content": "系统将于2023-01-01进行更新",
"status": "0",
"create_by": "admin",
"create_time": "2023-01-01 10:00:00"
}
}
4.5.11 识别记录管理
获取识别记录列表
接口地址: /system/identification_record/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| device_id | String | 否 | 设备ID |
| visitor_name | String | 否 | 访客姓名 |
| start_time | String | 否 | 开始时间 |
| end_time | String | 否 | 结束时间 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 10,
"rows": [
{
"record_id": 1,
"device_id": "device_001",
"visitor_name": "张三",
"visitor_type": "0",
"identification_time": "2023-01-01 10:00:00",
"status": "0"
}
]
}
}
添加识别记录
接口地址: /system/identification_record
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| device_id | String | 是 | 设备ID |
| visitor_name | String | 是 | 访客姓名 |
| visitor_type | String | 是 | 访客类型 |
| identification_time | String | 是 | 识别时间 |
| status | String | 是 | 状态 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
导出识别记录
接口地址: /system/identification_record/export
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| device_id | String | 否 | 设备ID |
| visitor_name | String | 否 | 访客姓名 |
| start_time | String | 否 | 开始时间 |
| end_time | String | 否 | 结束时间 |
响应格式: 文件流
4.5.12 讲解内容管理
获取讲解内容列表
接口地址: /system/explanation_content/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| content_name | String | 否 | 内容名称 |
| status | String | 否 | 状态 |
| type_id | Integer | 否 | 类型ID |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"content_id": 1,
"content_name": "展厅介绍",
"type_id": 1,
"content_text": "这是展厅的详细介绍...",
"status": "0",
"create_time": "2023-01-01 10:00:00"
}
]
}
添加讲解内容
接口地址: /system/explanation_content/add_explanation
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| content_name | String | 是 | 内容名称 |
| type_id | Integer | 是 | 类型ID |
| content_text | String | 是 | 内容文本 |
| status | String | 是 | 状态 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
编辑讲解内容
接口地址: /system/explanation_content/edit_explanation
请求方式: PUT
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| content_id | Integer | 是 | 内容ID |
| content_name | String | 是 | 内容名称 |
| type_id | Integer | 是 | 类型ID |
| content_text | String | 是 | 内容文本 |
| status | String | 是 | 状态 |
响应格式:
{
"code": 200,
"message": "编辑成功",
"data": null
}
删除讲解内容
接口地址: /system/explanation_content/{explanation_content_ids}
请求方式: DELETE
认证要求: 是
响应格式:
{
"code": 200,
"message": "删除成功",
"data": null
}
获取讲解内容类型列表
接口地址: /system/explanation_content/type_list
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"type_id": 1,
"type_name": "展厅介绍",
"create_time": "2023-01-01 10:00:00"
}
]
}
4.5.13 机器人动作管理
获取机器人动作列表
接口地址: /system/robot_action/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| action_name | String | 否 | 动作名称 |
| robot_id | Integer | 否 | 机器人ID |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": [
{
"action_id": 1,
"action_name": "欢迎动作",
"robot_id": 1,
"action_data": "{...}",
"create_time": "2023-01-01 10:00:00"
}
]
}
编辑机器人动作
接口地址: /system/robot_action
请求方式: PUT
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| action_id | Integer | 是 | 动作ID |
| action_name | String | 是 | 动作名称 |
| robot_id | Integer | 是 | 机器人ID |
| action_data | String | 是 | 动作数据 |
响应格式:
{
"code": 200,
"message": "编辑成功",
"data": null
}
4.5.15 门禁控制管理
机器人控制开门
接口地址: /system/door/control_door
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| door_index_code | String | 是 | 门禁设备索引码 |
| control_type | Integer | 是 | 控制类型(0-开,1-关) |
响应格式:
{
"code": 200,
"message": "门控制成功",
"data": null
}
获取门禁设备列表
接口地址: /system/door/list
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| device_name | String | 否 | 设备名称 |
| device_code | String | 否 | 设备编码 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 5,
"rows": [
{
"device_id": 1,
"device_name": "前门",
"device_code": "DOOR_001",
"door_index_code": "123456",
"status": "0",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
添加门禁设备
接口地址: /system/door/add
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| device_name | String | 是 | 设备名称 |
| device_code | String | 是 | 设备编码 |
| door_index_code | String | 是 | 门禁设备索引码 |
| status | String | 是 | 设备状态 |
响应格式:
{
"code": 200,
"message": "添加成功",
"data": null
}
编辑门禁设备
接口地址: /system/door/edit
请求方式: PUT
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| device_id | Integer | 是 | 设备ID |
| device_name | String | 是 | 设备名称 |
| device_code | String | 是 | 设备编码 |
| door_index_code | String | 是 | 门禁设备索引码 |
| status | String | 是 | 设备状态 |
响应格式:
{
"code": 200,
"message": "编辑成功",
"data": null
}
4.5.16 海康设备管理
查询访客预约记录
接口地址: /system/haikang/get_visitor_list
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| visitor_name | String | 否 | 访客姓名 |
| visitor_phone | String | 否 | 访客电话 |
| start_time | String | 否 | 开始时间 |
| end_time | String | 否 | 结束时间 |
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
响应格式:
{
"code": 200,
"message": "查询成功",
"data": {
"total": 3,
"rows": [
{
"reservation_id": "123456",
"visitor_name": "张三",
"visitor_phone": "13800138000",
"visit_time": "2023-01-01 10:00:00",
"status": "0"
}
]
}
}
4.5.17 告警消息管理
查看告警类型分布
接口地址: /system/message/alarm_type_distribution
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"type1": 10,
"type2": 5,
"type3": 3
}
}
一键处理未处理的告警消息
接口地址: /system/message/handle_all
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "处理成功",
"data": null
}
查询告警数量信息
接口地址: /system/message/count_message
请求方式: GET
认证要求: 是
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 18,
"unhandled": 5,
"handled": 13
}
}
获取告警消息列表
接口地址: /system/message/alert_message
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
响应格式:
{
"code": 200,
"message": "获取成功",
"data": {
"total": 18,
"rows": [
{
"message_id": 1,
"message_title": "设备异常",
"message_type": "1",
"message_content": "前门门禁设备离线",
"status": "0",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
4.6 搜索服务模块
4.6.1 与聊天助手对话(支持搜索增强)
接口地址: /system/ragflow/converse_with_chat_assistant
请求方式: POST
认证要求: 是
功能说明: 与聊天助手进行对话,支持根据关键词自动触发搜索增强功能
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| chat_id | String | 是 | 聊天助手ID |
| question | String | 是 | 用户问题 |
| stream | Boolean | 否 | 是否使用流式响应(默认:false) |
响应格式:
- 非流式响应:
{
"code": 200,
"message": "操作成功",
"data": {
"answer": "搜索结果或对话回复"
}
}
- 流式响应:
data: {"answer": "这是"}
data: {"answer": "搜索结果"}
data: {"answer": "的一部分"}
搜索触发条件: 当用户问题包含以下关键词时,会自动触发搜索功能:
- 中文关键词:搜索、查找、新闻、时事、最新、今天、现在、当前、天气、温度、气温、下雨、晴、多云
- 英文关键词:search、find、news、latest、today、current、now、weather、temperature、rain、sunny、cloudy
4.7 RAGFlow 文档管理模块
4.7.1 获取数据集列表
接口地址: /system/ragflow/dataset_list
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| name | String | 否 | 数据集名称 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": {
"total": 5,
"rows": [
{
"dataset_id": "12345",
"name": "技术文档",
"description": "系统技术文档",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
4.7.2 创建数据集
接口地址: /system/ragflow/create_dataset
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| name | String | 是 | 数据集名称 |
| description | String | 否 | 数据集描述 |
| engine_name | String | 否 | 搜索引擎名称 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": {
"dataset_id": "12345"
}
}
4.7.3 更新数据集
接口地址: /system/ragflow/update_dataset/{dataset_id}
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| name | String | 是 | 数据集名称 |
| description | String | 否 | 数据集描述 |
| engine_name | String | 否 | 搜索引擎名称 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": null
}
4.7.4 获取数据集中文档列表
接口地址: /system/ragflow/list_documents/{dataset_id}
请求方式: GET
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| name | String | 否 | 文档名称 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": {
"total": 10,
"rows": [
{
"document_id": "67890",
"name": "API文档.pdf",
"size": 1024000,
"status": "parsed"
}
]
}
}
4.7.5 上传文件到数据集
接口地址: /system/ragflow/upload_file/{dataset_id}
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| files | File[] | 是 | 要上传的文件列表 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": {
"success_count": 2,
"failed_count": 0
}
}
4.7.6 更新文档
接口地址: /system/ragflow/update_file/{dataset_id}/{document_id}
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| name | String | 否 | 文档名称 |
| description | String | 否 | 文档描述 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": null
}
4.7.7 解析文档
接口地址: /system/ragflow/parse_documents/{dataset_id}
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| document_ids | String[] | 是 | 要解析的文档ID列表 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": null
}
4.7.8 停止解析文档
接口地址: /system/ragflow/stop_parse_documents/{dataset_id}
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| document_ids | String[] | 是 | 要停止解析的文档ID列表 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": null
}
4.7.9 删除文档
接口地址: /system/ragflow/delete_file/{dataset_id}
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| document_ids | String[] | 是 | 要删除的文档ID列表 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": null
}
4.7.10 删除数据集
接口地址: /system/ragflow/delete_datasets
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| dataset_ids | String[] | 是 | 要删除的数据集ID列表 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": null
}
4.7.11 获取聊天助手列表
接口地址: /system/ragflow/get_chat_assistant_list
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| pageNum | Integer | 否 | 页码 |
| pageSize | Integer | 否 | 每页条数 |
| name | String | 否 | 助手名称 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": {
"total": 3,
"rows": [
{
"chat_id": "chat123",
"name": "技术助手",
"description": "提供技术支持",
"create_time": "2023-01-01 10:00:00"
}
]
}
}
4.7.12 更新聊天助手
接口地址: /system/ragflow/update_chat_assistant
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| chat_id | String | 是 | 聊天助手ID |
| name | String | 否 | 助手名称 |
| description | String | 否 | 助手描述 |
| dataset_ids | String[] | 否 | 关联的数据集ID列表 |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": null
}
4.7.13 创建聊天会话
接口地址: /system/ragflow/create_session_with_chat
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| chat_id | String | 是 | 聊天助手ID |
响应格式:
{
"code": 200,
"message": "操作成功",
"data": {
"session_id": "session123"
}
}
4.7.14 与聊天助手对话
接口地址: /system/ragflow/converse_with_chat_assistant
请求方式: POST
认证要求: 是
请求参数:
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| chat_id | String | 是 | 聊天助手ID |
| question | String | 是 | 问题内容 |
| stream | Boolean | 否 | 是否使用流式响应(默认:false) |
响应格式:
- 非流式响应:
{
"code": 200,
"message": "操作成功",
"data": {
"answer": "这是一个示例回答"
}
}
- 流式响应:
data: {"answer": "这是"}
data: {"answer": "一个示例"}
data: {"answer": "回答"}
4.7.15 获取用户权限
接口地址: /system/ragflow/get_user_permission
请求方式: GET
认证要求: 是
请求参数: 无
响应格式:
{
"code": 200,
"message": "操作成功",
"data": [
"access:device:list",
"access:record:list"
]
}
5. 通用响应格式
所有接口的响应格式统一为 JSON 格式,包含以下字段:
| 字段名 | 类型 | 描述 |
|---|---|---|
| code | Integer | 响应码(200表示成功,其他表示失败) |
| message | String | 响应消息 |
| data | Object | 响应数据 |
6. 错误码说明
| 错误码 | 描述 |
|---|---|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 未授权 |
| 403 | 权限不足 |
| 404 | 接口不存在 |
| 500 | 服务器内部错误 |
7. 附录
7.1 数据类型说明
- String: 字符串类型
- Integer: 整数类型
- Boolean: 布尔类型(true/false)
- Object: 对象类型
- Array: 数组类型
7.2 状态码说明
- 0: 禁用
- 1: 启用
7.3 权限标识说明
系统使用权限标识控制接口访问,部分接口需要特定权限标识才能访问:
| 权限标识 | 描述 |
|---|---|
| access:device:list | 设备列表访问权限 |
| access:record:list | 识别记录访问权限 |
| system:user:list | 用户列表访问权限 |