# 设备管理
使用设备管控API可完成进行设备的绑定、解绑,获取设备的信息、状态等功能。同时,您也可以通过控制台进行简单的设备管理。此章节主要介绍API的使用。
# Code换取UUID接口 API
提示
设备Code可在设备标签上的二维码、条形码中获取,或通过蓝牙协议获取。
设备UUID为设备的唯一标识,后续对设备的管控都需要用到。
注意
只可以查询未被其他应用绑定过的设备,若设备已被其他应用绑定,则需要先进行解绑操作。(如果设备已被当前应用绑定或未被任何其他应用绑定,则允许查询)
GET /api/client/get_uuid
- 请求参数(QueryString):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
code | String | 是 | 设备Code |
- 响应参数(JSON Body):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
code | Integer | 是 | 状态码 |
msg | String | 是 | 状态描述 |
data | Object | 是 | 响应数据 |
data.uuid | String | 否 | 设备UUID |
- 成功示例:
HTTP Status 200
{
"code": 0,
"msg": "ok",
"data": {
"uuid": "241e2dad-2ea0-4315-a818-ec78d66e227d"
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
- 失败示例:
HTTP Status 200
{
"code": 30003,
"msg": "设备已被绑定",
"data": null
}
1
2
3
4
5
2
3
4
5
# 绑定设备接口 API
提示
设备UUID通过Code换取UUID接口获取,绑定激活设备并设置自定义的名称
注意
同一台设备只允许绑定一次,若设备已被绑定过(也可能是其他应用),则需要先进行解绑操作。
POST /api/client/bind
- 请求参数(JSON Body):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
uuid | String | 是 | 设备UUID |
name | String | 是 | 自定义的设备名称 |
remark | String | 否 | 自定义的备注 |
- 响应参数(JSON Body):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
code | Integer | 是 | 状态码 |
msg | String | 是 | 状态描述 |
data | Null | 是 | 响应数据(无) |
- 成功示例:
HTTP Status 200
{
"code": 0,
"msg": "ok",
"data": null
}
1
2
3
4
5
2
3
4
5
- 失败示例:
HTTP Status 200
{
"code": 30003,
"msg": "设备已被绑定",
"data": null
}
1
2
3
4
5
2
3
4
5
# 解绑设备接口 API
提示
解绑当前应用下已绑定的设备
注意
解绑后设备的名称等设置信息会丢失,无法再控制该设备。可以再次进行绑定。
POST /api/client/unbind
- 请求参数(JSON Body):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
uuid | String | 是 | 设备UUID |
- 响应参数(JSON Body):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
code | Integer | 是 | 状态码 |
msg | String | 是 | 状态描述 |
data | Null | 是 | 响应数据(无) |
- 成功示例:
HTTP Status 200
{
"code": 0,
"msg": "ok",
"data": null
}
1
2
3
4
5
2
3
4
5
- 失败示例:
HTTP Status 200
{
"code": 30002,
"msg": "设备不存在",
"data": null
}
1
2
3
4
5
2
3
4
5
# 获取设备信息接口 API
提示
查询当前应用下已绑定的设备信息
GET /api/client/info
- 请求参数(QueryString):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
uuid | String | 是 | 设备UUID |
- 响应参数(JSON Body):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
code | Integer | 是 | 状态码 |
msg | String | 是 | 状态描述 |
data | Object | 是 | 响应数据 |
data.client | Object | 否 | 设备信息 |
data.client.active_at | Interger | 否 | 设备绑定激活时间戳(单位:毫秒) |
data.client.code | String | 否 | 设备Code |
data.client.model | String | 否 | 设备型号 |
data.client.name | String | 否 | 设备名称 |
data.client.remark | String | 否 | 设备备注 |
data.client.uuid | String | 否 | 设备UUID |
data.client.online | Bool | 否 | 设备在线状态 |
data.client.last_connect_at | Integer | 否 | 设备最近上线时间戳(单位:毫秒) |
data.client.last_disconnect_at | Integer | 否 | 设备最近离线时间戳(单位:毫秒) |
data.client.version | String | 否 | 系统版本 |
data.client.mac | String | 否 | 以太网卡MAC地址 |
data.client.wlan_mac | String | 否 | 无线网卡MAC地址 |
data.client.network_type | String | 否 | 当前网络类型(ethernet、wifi、cellular) |
data.client.local_ip | String | 否 | 当前的本地IP地址 |
data.client.gateway_ip | String | 否 | 当前的网关IP地址 |
data.client.firmware | String | 否 | 固件版本 |
data.client.printer | Object | 否 | 打印机状态信息 |
data.client.printer.connected | Bool | 否 | 打印机是否已连接 |
data.client.printer.supported | Bool | 否 | 打印机型号是否支持 |
data.client.printer.make | String | 否 | 打印机厂家名称 |
data.client.printer.model | String | 否 | 打印机型号名称 |
data.client.printer.connection_type | String | 否 | 打印机连接方式 |
data.client.printer.error_code | Int | 否 | 打印机错误状态码 详见 打印机错误码 |
data.client.scanner | Object | 否 | 扫描仪状态信息 |
data.client.scanner.connected | Bool | 否 | 扫描仪是否已连接 |
data.client.scanner.supported | Bool | 否 | 扫描仪型号是否支持 |
data.client.scanner.make | String | 否 | 扫描仪厂家名称 |
data.client.scanner.model | String | 否 | 扫描仪型号名称 |
data.client.scanner.connection_type | String | 否 | 扫描仪连接方式 |
- 成功示例:
HTTP Status 200
{
"code": 0,
"msg": "ok",
"data": {
"client": {
"active_at": 1628159667073,
"code": "xxxxxxx",
"firmware": "xxxx",
"last_connect_at": 1628931543272,
"last_disconnect_at": 1628931536440,
"model": "KIC1000",
"name": "test",
"online": true,
"remark": "xxxx",
"uuid": "941e2dad-xxxx-xxxx-xxxx-ec78d66e227d",
"version": "1.0.1",
"mac": "82B02AFA0CB9",
"wlan_mac": "20579E8FE19C",
"network_type": "ethernet",
"local_ip": "192.168.199.3",
"gateway_ip": "192.168.199.1",
"printer": {
"connected": true,
"connection_type": "usb",
"error_code": 0,
"make": "EPSON",
"model": "M1170 Series",
"supported": true
},
"scanner": {
"connected": true,
"connection_type": "usb",
"make": "EPSON",
"model": "DS-530",
"supported": true
}
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
- 失败示例:
HTTP Status 200
{
"code": 30002,
"msg": "设备不存在",
"data": null
}
1
2
3
4
5
2
3
4
5
# 获取设备列表接口 API
提示
查询当前应用下已绑定的设备列表,使用分页查询。默认分页参数每页100条设备信息
GET /api/client/list
- 请求参数(QueryString):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
page | Integer | 是 | 页码(范围:1-1000) |
- 响应参数(JSON Body):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
code | Integer | 是 | 状态码 |
msg | String | 是 | 状态描述 |
data | Object | 是 | 响应数据 |
data.page | Integer | 否 | 当前查询页码 |
data.page_size | Integer | 否 | 每页查询数量 |
data.total | Integer | 否 | 总设备数量 |
data.clients | Object Array | 否 | 设备信息列表 (数组元素与获取设备信息接口中的client对象数据结构相同) |
- 成功示例:
HTTP Status 200
{
"code": 0,
"msg": "ok",
"data": {
"page": 1,
"page_size": 100,
"total": 1,
"clients": [
{
"active_at": 1628159667073,
"code": "xxxxxxx",
"firmware": "xxxx",
"last_connect_at": 1628931543272,
"last_disconnect_at": 1628931536440,
"model": "KIC1000",
"name": "test",
"online": true,
"remark": "xxxx",
"uuid": "941e2dad-xxxx-xxxx-xxxx-ec78d66e227d",
"version": "1.0.1",
...
}
]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 修改设备信息接口 API
提示
修改已绑定设备的名称备注等信息
POST /api/client/edit
- 请求参数(JSON Body):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
uuid | String | 是 | 设备UUID |
name | String | 是 | 自定义的设备名称 |
remark | String | 否 | 自定义的备注 |
- 响应参数(JSON Body):
名称 | 类型 | 必选 | 说明 |
---|---|---|---|
code | Integer | 是 | 状态码 |
msg | String | 是 | 状态描述 |
data | Null | 是 | 响应数据(无) |
- 成功示例:
HTTP Status 200
{
"code": 0,
"msg": "ok",
"data": null
}
1
2
3
4
5
2
3
4
5