前言

非常感谢您使用我们公司的产品，我们将竭诚为您提供最好最优质的服务。

本手册可能包含技术上不准确的地方或文字错误。

本手册的内容将做定期的更新，恕不另行通知；更新的内容将会在本手册的新版本中加入。

本手册截取的界面图仅当说明示例，各版本界面存在差异，请以实际界面为准。

我们有专业的支持团队为您答疑解惑。谢谢您的支持。


版本更新说明

版本 | 日期 | 描述
r14 | 2022/05/31 | r14版本更新


接口描述

内容概述

本文档的接口采用了RESTful架构, RESTful 接口是基于HTTP 的简单的无状态的协议， 请求方法有GET、POST、PUT、DELETE四种，HTTP返回都采用JSON格式. 调试的时候可以使用HTTP，在实际的生产环境中建议使用HTTPS。为了方便后续的例子都是用HTTP，如果换HTTPS，只需要把对应的http 换成https即可。


常用术语

源: RTSP RTMP ONVIF等单通道视频源，或者是添加设备后自动产生的通道也称为源，源和监控点是等同的。

设备:摄像机 NVR或者第三方平台等通过各厂家设备SDK或者协议添加设备，添加设备后会产生一个或多个源，源对应不同的通道。


协议格式

HTTP GET， 返回采用JSON格式，具体返回的JSON格式根据不同的，命令而不同，下表是基本的格式和例子，为了让大家更容易理解，有些命令介绍中，直接使用代表性的值。HTTP POST、PUT、DELETE方法的请求和返回也采用JSON格式。

格式

Request : http://server/api/v1/<resources>/$1?para=xxx

&<…>=<…>

Response:

{

"code": xxxxx,

"msg": xxxxxx,

"result": "xxxxxx"

}

<…>=<…>代表多个请求参数.

例子

http://192.168.100.127:8085/api/v1/DevPartition/List?pageSize=100

Response:

{

"code": 0,

"msg": "Success",

"result": [

{

"devPartitionId": 10000,

"uuid": "60c01e5f-18cc-4bd2-afa8-d94b36109820",

"enableGB": false,

"parentId": 0,

"devPartitionName": "Root",

"description": "",

"disOrder": 0,

"dev": [],

"casDev": []

}

]

}

简单返回格式

请联系内部人员，请联系技术支持。

字段 | 数据类型 | 描述
code | int | 返回的状态码
msg | string | API成功或者失败的描述


API调试

Postman调试

API提供了Postman调试工程，可以下载对应的工程和环境，首先下载Postman 工具，以下参考图基于Postman 9.26.8，如果使用的是新的版本，可能会有所不同，可以参考新版本的导入工程和环境的方法。

下载Postman工程

请联系内部人员

导入工程

在Collections下点击Import，然后选择USC Security Software.postman_collection.json，就可以导入到Postman中，参考下图：

导入环境

在Environments下点击Import，然后选择USC ENV HTTP.postman_environment.json，就可以导入到Postman中，参考下图：

同样的方法选择USC ENV HTTPS.postman_environment.json。

测试

在导入后就可以选择对应的API并修改H5STREAM ENV HTTP的IP和端口，然后就可以测试了。

可以把Login获取的access_token填到环境中的access_token字段，这样后续测试可以使用该access_token。

在postman工程中加入了自动设置access_token的功能，调用一次Login，环境变量里面的access_token就会被更新，这样不用手工设置了。

由于Login获取的session是有有效期的，把有效的session填到环境中的h5_session字段后，可以使用Runner功能定期保活。


API认证机制

视频平台采用基于access_token管理机制，如果使用Login API获取access_token，然后所有的API调用都使用该access_token，access_token是有超时时间的，可以使用Keepalive保活该access_token，这样access_token就不会超时，access_token默认的超时时间是1800秒，使用方法参考下图:


系统(System)

系统API包含登录和其他系统相关的API。


UserDataFormat

数据格式描述

组织json数据格式含义可以参考如下表格：

字段 | 数据类型 | 描述
userId | int | 用户的id
uuid | string | 用户的uuid
username | string | 用户名
firstName | string | 内部字段
lastName | string | 内部字段
avatar | string | 内部字段
email | string | 内部字段
roleId | int | 角色id
groupid | int | 组织id
description | string | 用户描述
enabled | bool | 内部字段
passwordChangeTimes | int | 密码修改次数
acronym | string | 内部字段
background | string | 内部字段
lastPasswordChangeTime | string | 最后一次密码修改的时间
password_expiry | bool | 密码是否过期
createdAt | string | 内部字段
updatedAt | string | 内部字段

实例

{

  "userId": 10002,

  "uuid": "f22d6687-1045-4b00-af54-a63ed8932e0a",

  "username": "uscuser1",

  "firstName": "FirstName",

  "lastName": "LastName",

  "avatar": "",

  "email": "001@example.com",

  "roleId": 10000,

  "groupId": 10000,

  "description": "",

  "enabled": true,

  "passwordChangeTimes": 0,

  "acronym": "u",

  "background": "#6CA508",

  "lastPasswordChangeTime": "2024-08-14T13:54:50.9862443+08:00",

  "password_expiry": false,

  "createdAt": "2024-08-14T13:54:51.0902182+08:00",

  "updatedAt": "2024-08-14T13:54:51.0902182+08:00"

   }


用户登录

接口描述

登录系统接口。其他接口依赖Login返回的session，具体机制参考 接口描述-》API认证机制

使用说明

请求方法 | POST
请求URL | /api/v1/Login
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
user | string | 必须 | 用户名
password | string | 必须 | MD5过的密码 发布包中www/tool.html 可以生成对应的MD5

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功 13001表示账号或密码错误 13000表示账号锁定
msg | string | 成功或者失败的原因描述
access_token | string | 成功时获取的access_token
token_type | string | Bearer 表示认证类型需要在请求头中使用
weak_password | bool | 密码是否为弱密码，如果是弱密码，建议参考管理界面的要求修改为强密码
password_first_login_channel | bool | 如果为true的时候需要修改密码
password_expire_time_in_day | int | 密码还有多长时间过期
expire | string | access_token过期时间
remainingCount | int | 登录错误剩余次数为0的时候账号锁定
tLockTimeResidue | int | 剩余锁定时长

使用示例

POST http://192.168.100.127:8085/api/v1/Login

{

  "username": "admin",

  "password": "e28efe9291262da0bd40675e4df289d40",

}

返回的消息

{

  "code": 0,

  "msg": "success",

  "result": {,

   "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjMxOTM1MjAsImlkZW50aXR5IjoxMDAwMSwianRpIjoiY2U1YzJiYjgtYWRjNi00NDUxLTgwNDQtMDVmNzU2MWM3MDA2IiwibmFtZSI6IlVzZXIxIiwib3JpZ19pYXQiOjE3MjMxOTE3MjAsInJvbGVpZCI6MTAwMDAsInJvbGVuYW1lIjoiQWRtaW5pc3RyYXRvciJ9.r0HBrUKPLRo-SR_C9Gm14Z-xp6mpyrsRs76sgZHp4Wk",

}

   "token_type": "Bearer",

   "weak_password": false,

   "password_first_login_change": true,

   "password_expire_time_in_day": 30,

   "expire": "2024-08-09T16:52:00+08:00"


用户添加

接口描述

添加用户

使用说明

请求方法 | POST
请求URL | /api/v1/User/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
username | string | 必须 | 用户名
password | string | 必须 | md5过的密码
firstName | string | 可选 | 内部字段
lastName | string | 可选 | 内部字段
roleId | int | 必须 | 角色id
avatar | string | 可选 | 内部字段
email | string | 可选 | 内部字段
groupId | int | 必须 | 组织id
description | string | 可选 | 用户描述
enabled | bool | 可选 | 内部字段

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/User/Item

{

  "username": "uscuser1",

  "password": "e28efe9291262da0bd40675e4df289d4",

   "firstName": "FirstName",

   "lastName": "LastName",

   "roleId": 10000,

   "avatar": "",

   "email": "001@example.com",

   "groupId": 10000,

   "description": "",

   "enabled": true,

}

返回的消息

{

  "code": 0,

  "msg": "success"


用户信息获取

接口描述

获取用户信息

使用说明

请求方法 | GET
请求URL | /api/v1/User/Item
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
username | string | 必须 | 用户名

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | obj | 参考用户数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/User/Item?username=user

返回的消息

{

  "code": 0,

  "msg": "success",

  "result": {,

   "userId": 10000,

  "uuid": "b9f173a4-095d-46e5-b0a0-f884daffd4ee",

  "username": "admin",

  "firstName": "",

  "lastName": "",

   "avatar": "",

   "email": "",

   "roleId": 10000,

   "groupId": 10000,

   "description": "",

   "enabled": true,

   "passwordChangeTimes": 1,

   "acronym": "A",

   "background": "#284A52",

   "lastPasswordChangeTime": "2024-08-12T09:15:00.515868+08:00",

   "password_expiry": false,

   "createdAt": "2024-08-12T09:10:58.918626+08:00",

   "updatedAt": "2024-08-13T09:10:51.339099+08:00"


用户更新

接口描述

更新用户

使用说明

请求方法 | PUT
请求URL | /api/v1/User/Item/&1
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
username | string | 必须 | 用户名
roleId | int | 必须 | 角色id
avatar | string | 可选 | 内部字段
email | string | 可选 | 内部字段
groupId | int | 必须 | 组织id
description | string | 可选 | 用户描述
enabled | bool | 可选 | 内部字段

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/User/Item/10001

{

  "username": zk,

  "roleId": 10000,

  "avatar": "",

   "email": "zzz@163.com",

  "groupId": 10000,

  "description": "",

  "enabled": true

}

返回的消息

{

  "code": 0,

   "msg": "Success"


用户删除

接口描述

删除用户

使用说明

请求方法 | DELETE
请求URL | /api/v1/User/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 要删除的用户id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/User/Item

{

  "ids": [10002],

}

返回的消息

{

  "code": 0,

   "msg": "Success"


修改密码

接口描述

修改密码

使用说明

请求方法 | PUT
请求URL | /api/v1/User/Password/Set
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
username | string | 必须 | 要修改的用户名
newPassword | string | 必须 | md5过的密码
oldPassword | string | 必须 | md5过的密码

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/User/Password/Set

{

  "username": "admin",

   "newPassword": "e28efe9291262da0bd40675e4df289d4",

   "oldPassword": "e28efe9291262da0bd40675e4df289d41",

}

返回的消息

{

  "code": 0,

   "msg": "Success"


用户列表获取

接口描述

获取用户列表

使用说明

请求方法 | GET
请求URL | /api/v1/User/List
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
pageSize | int | 可选 | 每页多少条数据 默认10条
pageIndex | int | 可选 | 第几页 默认第一页

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
count | int | 总过多少条数据
pageSize | int | 每页多少条数据
pageIndex | int | 第几页
list | array | 参考用户数据格式

使用示例

PUT http://192.168.100.127:8085/api/v1/User/List

返回的消息

{

  "code": 0,

   "msg": "Success"

  "result": {,

  "count": 4,

  "pageIndex": 1,

  "pageSize": 1,

 "list": [

{

      "userId": 10000,

      "uuid": "a40dbea0-ce0c-42c5-b641-e280372540de",

      "username": "admin",

      "firstName": "",

      "lastName": "",

      "avatar": "",

      "email": "",

      "roleId": 10000,

      "groupId": 10000,

      "description": "",

      "enabled": true,

      "passwordChangeTimes": 1,

      "acronym": "A",

      "background": "#82006C",

      "lastPasswordChangeTime": "2024-08-07T09:40:29.758153+08:00",

      "password_expiry": false,

      "createdAt": "2024-08-07T09:39:19.733981+08:00",

      "updatedAt": "2024-08-14T15:03:41.15321+08:00"

       }

    ]


获取session

接口描述

获取session

使用说明

请求方法 | GET
请求URL | /api/v1/User/LoginSession
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
session | string | 成功时获取的session
expire | string | session过期时间

使用示例

GET http://192.168.100.127:8085/api/v1/User/LoginSession

返回的消息

{

  "code": 0,

   "msg": "Success",

  "result": {

   "session": "f43d443a-a1c9-453b-9b1d-7dec1eb312d4",

   "expire": "2024-08-13T16:03:51+08:00"


用户保活

接口描述

保活登录获取的access_token，保活需要在access_token超时之前调用，具体机制参考 接口描述-》API认证机制

使用说明

请求方法 | GET
请求URL | /api/v1/User/Keepalive
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
expire | string | session过期时间

使用示例

GET http://192.168.100.127:8085/api/v1/User/Keepalive

返回的消息

{

  "code": 0,

   "msg": "Success",

   "result": {,

   "expire": "2024-08-13T16:21:06+08:00"


用户配置

数据格式

key | 默认value | 描述
LiveViewProtocol | WS | 实时视频协议
PlaybackProtocol | WS2 | 回放视频协议
WatermarkContent | watermark | 水印内容
WatermarkStatus | false | 水印开关
RTCEngine | v1 | RTC引擎
DeviceDisable | false | 显示隐藏
PictureQuality | true | 画质选择
VideoBackgroundBlack | #222222 | 黑色主题视频背景颜色
VideoBackgroundWhite | #494A4B | 白色主题视频背景颜色
VideoBackgroundDarkblue | #202731 | 深蓝色主题视频背景颜色
VideoAspectRatio | true | 保持宽高比
Theme | black | 主题
WebclientAutoLogoutTime | 15 | 网页客户端自动注销时间
WebclientAutoLogoutTimeEnable | false | 开启网页客户端自动注销
BufferTime | 0 | 缓存时间
H264CPUDecode | false | H264 CPU解码
MapCluster | false | 地图聚合

接口描述

获取用户配置信息

使用说明

请求方法 | GET
请求URL | /api/v1/UserConfig/Item
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | array | 参考数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/UserConfig/Item

返回的消息

{

  "code": 0,

   "msg": "Success",

   "result": [

   {

    "id": 1,

    "key": "LiveViewProtocol",

    "value": "WS",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 2,

    "key": "PlaybackProtocol",

    "value": "WS2",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

    },

    {

    "id": 3,

    "key": "WatermarkContent",

    "value": "watermark",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 4,

    "key": "WatermarkStatus",

    "value": "false",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 5,

    "key": "RTCEngine",

    "value": "v1",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 6,

    "key": "DeviceDisable",

    "value": "false",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 7,

    "key": "PictureQuality",

    "value": "true",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 8,

    "key": "VideoBackgroundBlack",

    "value": "#222222",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 9,

    "key": "VideoBackgroundWhite",

    "value": "#494A4B",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 10,

    "key": "VideoBackgroundDarkblue",

    "value": "#202731",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 11,

    "key": "VideoAspectRatio",

    "value": "true",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 12,

    "key": "Theme",

    "value": "black",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 13,

    "key": "WebclientAutoLogoutTime",

    "value": "15",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 14,

    "key": "WebclientAutoLogoutTimeEnable",

    "value": "false",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 15,

    "key": "BufferTime",

    "value": "0",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 16,

    "key": "H264CPUDecode",

    "value": "false",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   },

   {

    "id": 17,

    "key": "MapCluster",

    "value": "false",

    "createdAt": "2024-08-07T09:39:19.736187+08:00",

    "updatedAt": "2024-08-07T09:39:19.736187+08:00"

   }

 ]


更新用户配置

接口描述

更新用户配置

使用说明

请求方法 | PUT
请求URL | /api/v1/UserConfig/Item
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/UserConfig/Item

{

  "key":"LiveViewProtocol",

  "value":"ws"

}

返回的消息

{

  "code": 0,

   "msg": "Success"


组织数据格式

数据格式描述

组织json数据格式含义可以参考如下表格：

字段 | 数据类型 | 描述
groupId | int | 组织id
uuid | string | 组织uuid
parentId | string | 上级组织id，0的时候没有上级
groupName | string | 组织名字
description | string | 内部字段
roleId | int | 角色id
role | obj | 参考角色

实例

{

      "groupId": 10000,

      "uuid": "c7f13870-fdbe-4920-a404-8698069209cd",

      "parentId": 0,

      "groupName": "Root",

      "description": "",

      "roleId": 10000,

      "role": {

          "roleId": 10000,

          "uuid": "f3c43af2-8cbc-4c9f-9ef3-916e58cc1412",

          "name": "Administrator",

          "description": "Administrator role",

          "passwordLength": 6,

          "userLockTime": 600,

          "userLockLimit": 3,

          "userLockTimeAgain": 20,

          "passwordExpiryTime": 30,

          "passwordAlertTime": 7,

          "passwordExpiryChange": true,

          "passwordRule": true,

          "passwordFirstChange": true,

          "devPartition": null,

          "funcGroup": null,

          "createdAt": "2024-08-12T09:10:56.333215+08:00",

          "updatedAt": "2024-08-12T09:10:56.333215+08:00"

        },

      "createdAt": "2024-08-12T09:10:56.435096+08:00",

      "updatedAt": "2024-08-12T09:10:56.435096+08:00",

      "children": null


组织添加

接口描述

添加组织

使用说明

请求方法 | POST
请求URL | /api/v1/Group/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
parentId | int | 必须 | 上级id
roleId | int | 必须 | 角色id
description | string | 可选 | 组织描述
groupName | string | 必须 | 组织名字

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Group/Item

{

  "parentId": 10000,

  "roleId": 10000,

  "description": "G1 Description",

  "groupName": "G1"

}

返回的消息

{

  "code": 0,

  "msg": "Success",


组织获取

接口描述

获取组织

使用说明

请求方法 | GET
请求URL | /api/v1/Group/Item/$1
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | obj | 参考组织数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/Group/Item/1000

返回的消息

{

  "code": 0,

  "msg": "Success",

  "result": {

      "groupId": 10000,

      "uuid": "c7f13870-fdbe-4920-a404-8698069209cd",

      "parentId": 0,

      "groupName": "Root",

      "description": "",

      "roleId": 10000,

      "role": {

          "roleId": 10000,

          "uuid": "f3c43af2-8cbc-4c9f-9ef3-916e58cc1412",

          "name": "Administrator",

          "description": "Administrator role",

          "passwordLength": 6,

          "userLockTime": 600,

          "userLockLimit": 3,

          "userLockTimeAgain": 20,

          "passwordExpiryTime": 30,

          "passwordAlertTime": 7,

          "passwordExpiryChange": true,

          "passwordRule": true,

          "passwordFirstChange": true,

          "devPartition": null,

          "funcGroup": null,

          "createdAt": "2024-08-12T09:10:56.333215+08:00",

          "updatedAt": "2024-08-12T09:10:56.333215+08:00"

       },

      "createdAt": "2024-08-12T09:10:56.435096+08:00",

      "updatedAt": "2024-08-12T09:10:56.435096+08:00",

      "children": null


组织更新

接口描述

更新组织

使用说明

请求方法 | PUT
请求URL | /api/v1/Group/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
parentId | int | 必须 | 上级id
roleId | int | 必须 | 角色id
description | string | 必须 | 组织描述
groupName | string | 必须 | 组织名字

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Group/Item

{

  "parentId": 0,

  "roleId": 10000,

  "description": "group description",

  "groupName": "group1"

}

返回的消息

{

  "code": 0,

  "msg": "Success"


组织删除

接口描述

删除组织

使用说明

请求方法 | DELETE
请求URL | /api/v1/Group/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 组织的id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Group/Item

{

  "ids":[10001]

}

返回的消息

{

  "code": 0,

  "msg": "Success",


组织列表获取

接口描述

获取组织

使用说明

请求方法 | GET
请求URL | /api/v1/Group/List
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | array | 参考组织数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/Group/List

返回的消息

{

  "code": 0,

  "msg": "Success",

  "result": [

       {

          "groupId": 10000,

          "uuid": "faf013e9-c97d-45e0-ae2c-d171104544e8",

          "parentId": 0,

          "groupName": "Root",

          "description": "",

          "roleId": 10000,

          "role": {

              "roleId": 10000,

              "uuid": "2bcd3c4d-373d-47c2-91f5-8bff26406333",

              "name": "Administrator",

              "description": "Administrator role",

              "passwordLength": 6,

              "userLockTime": 600,

              "userLockLimit": 3,

              "userLockTimeAgain": 20,

              "passwordExpiryTime": 30,

              "passwordAlertTime": 7,

              "passwordExpiryChange": true,

              "passwordRule": true,

              "passwordFirstChange": true,

              "devPartition": null,

              "funcGroup": null,

              "createdAt": "2024-08-07T09:39:19.316917+08:00",

              "updatedAt": "2024-08-07T09:39:19.316917+08:00"

           },

          "createdAt": "2024-08-07T09:39:19.372466+08:00",

          "updatedAt": "2024-08-07T09:39:19.372466+08:00",

          "children": [

               {

                  "groupId": 10001,

                  "uuid": "8ced28c2-b755-4423-b778-0ba482e76dba",

                  "parentId": 10000,

                  "groupName": "G1",

                  "description": "G1 Description",

                  "roleId": 10000,

                  "role": {

                      "roleId": 10000,

                      "uuid": "2bcd3c4d-373d-47c2-91f5-8bff26406333",

                      "name": "Administrator",

                      "description": "Administrator role",

                      "passwordLength": 6,

                      "userLockTime": 600,

                      "userLockLimit": 3,

                      "userLockTimeAgain": 20,

                      "passwordExpiryTime": 30,

                      "passwordAlertTime": 7,

                      "passwordExpiryChange": true,

                      "passwordRule": true,

                      "passwordFirstChange": true,

                      "devPartition": null,

                      "funcGroup": null,

                      "createdAt": "2024-08-07T09:39:19.316917+08:00",

                      "updatedAt": "2024-08-07T09:39:19.316917+08:00"

                   },

                  "createdAt": "2024-08-14T15:49:10.167422+08:00",

                  "updatedAt": "0001-01-01T00:00:00Z",

                  "children": []

               }

           ]

       }

   ]


角色管理

接口描述

角色管理

使用说明

请求方法 | 无
请求URL | 无
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
roleId | int | 角色id
uuid | string | 角色uuid
name | string | 角色名称
description | string | 角色描述
passwordLength | int | 密码长度最小值
userLockTime | int | 账号锁定时长 （单位秒）
userLockLimit | int | 账号锁定
userLockTimeAgain | int | 账号再次锁定时长 （单位分钟）
passwordExpiryTime | int | 密码过期时间 （单位天）
passwordAlertTime | int | 密码过期提醒时间 （单位天）
passwordExpiryChange | bool | 密码过期强制修改
passwordRule | bool | 启用账户密码有效规则
passwordFirstChange | bool | 首次登录修改密码
devPartition | array | 参考设备分区数据格式
funcGroup | array | 参考权限列表数据格式


角色添加

接口描述

添加角色

使用说明

请求方法 | POST
请求URL | /api/v1/Role/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
roleName | string | 必须 | 角色名称
description | string | 可选 | 角色描述
funcGroupIds | array | 必须 | 内部字段
devPartitionIds | array | 必须 | 设备分区id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Role/Item

{

  "roleName": "operator1",

  "description": "Administrator role",

  "funcGroupIds": [],

  "devPartitionIds": []

}

返回的参数

{

  "code": 0,

  "msg": "Success",


角色获取

接口描述

获取角色

使用说明

请求方法 | GET
请求URL | /api/v1/Role/Item/$1
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
&1 | int | 必须 | 角色id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | object | 参考角色数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/Role/Item/10001

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "roleId": 10001,

      "uuid": "124fcd02-1e4e-4250-bf4b-8698a92ebd7b",

      "name": "operator",

      "description": "operator role",

      "passwordLength": 6,

      "userLockTime": 600,

      "userLockLimit": 3,

      "userLockTimeAgain": 20,

      "passwordExpiryTime": 30,

      "passwordAlertTime": 7,

      "passwordExpiryChange": true,

      "passwordRule": true,

      "passwordFirstChange": false,

      "devPartition": [

           {

              "devPartitionId": 10000,

              "uuid": "79971bb0-126b-419d-abf0-8f7066d47873",

              "enableGB": false,

              "parentId": 0,

              "devPartitionName": "Root",

              "description": "",

              "disOrder": 0,

              "dev": null,

              "casDev": null,

              "map": null,

              "view": null,

              "accessDev": null,

              "createdAt": "2024-08-07T09:39:20.112366+08:00",

              "updatedAt": "2024-08-15T14:48:20.943597+08:00",

              "children": null

           }

       ],

      "funcGroup": [],

      "createdAt": "2024-08-15T14:14:04.985919+08:00",

      "updatedAt": "2024-08-15T14:48:20.936757+08:00"


角色更新

接口描述

更新角色

使用说明

请求方法 | PUT
请求URL | /api/v1/Role/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
roleName | string | 必须 | 角色名称
description | string | 可选 | 角色描述
funcGroupIds | array | 必须 | 权限id
devPartitionIds | array | 必须 | 设备分区id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Role/Item

{

  "roleName": "operator1",

  "description": "Administrator role",

  "funcGroupIds": [],

  "devPartitionIds": []

}

返回的参数

{

  "code": 0,

  "msg": "Success"


角色删除

接口描述

删除角色

使用说明

请求方法 | PUT
请求URL | /api/v1/Role/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 角色id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETEhttp://192.168.100.127:8085/api/v1/Role/Item

{

  "ids":[10003]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


角色列表获取

接口描述

获取角色列表

使用说明

请求方法 | GET
请求URL | /api/v1/Role/Item/$1
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
pageSize | int | 可选 | 每页多少条数据 默认10条
pageIndex | int | 可选 | 第几页 默认第一页

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
count | int | 总过多少条数据
pageSize | int | 每页多少条数据
pageIndex | int | 第几页
list | array | 参考角色数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/Role/List?pageSize=100

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "count": 3,

      "pageIndex": 1,

      "pageSize": 100,

      "list": [

           {

              "roleId": 10000,

              "uuid": "2bcd3c4d-373d-47c2-91f5-8bff26406333",

              "name": "Administrator",

              "description": "Administrator role",

              "passwordLength": 6,

              "userLockTime": 600,

              "userLockLimit": 3,

              "userLockTimeAgain": 20,

              "passwordExpiryTime": 30,

              "passwordAlertTime": 7,

              "passwordExpiryChange": true,

              "passwordRule": true,

              "passwordFirstChange": true,

              "devPartition": null,

              "funcGroup": null,

              "createdAt": "2024-08-07T09:39:19.316917+08:00",

              "updatedAt": "2024-08-07T09:39:19.316917+08:00"

           }

       ]


角色配置更新

接口描述

更新角色配置

使用说明

请求方法 | PUT
请求URL | /api/v1/Role/Config/10000
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
passwordLength | int | 必须 | 密码长度最小值
userLockTime | int | 必须 | 账号锁定时长 （单位秒）
userLockLimit | int | 必须 | 账号锁定
userLockTimeAgain | int | 必须 | 账号再次锁定时长 （单位分钟）
passwordExpiryTime | int | 必须 | 密码过期时间 （单位天）
passwordAlertTime | int | 必须 | 密码过期提醒时间 （单位天）
passwordExpiryChange | bool | 必须 | 密码过期强制修改
passwordRule | bool | 必须 | 启用账户密码有效规则
passwordFirstChange | bool | 必须 | 首次登录修改密码

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Role/Config/10000

{

  "passwordLength":5,

  "userLockTime": 600,

  "userLockLimit": 3,

  "userLockTimeAgain": 20,

  "passwordExpiryTime":30,

  "passwordAlertTime": 7,

  "passwordExpiryChange": true,

  "passwordRule": true,

  "passwordFirstChange":false

}返回的参数

{

  "code": 0,

  "msg": "Success"


设备分区数据格式

数据格式描述

字段 | 数据类型 | 描述
devPartitionId | int | 设备分区id
uuid | string | 设备分区uuid
enableGB | bool | 内部字段
description | string | 设备分区描述
parentId | int | 上级设备分区id
devPartitionName | string | 设备分区名称
disOrder | int | 内部字段
dev | object | 参考设备数据格式
casDev | object | 参考级联设备数据格式
map | object | 参考地图数据格式
view | object | 参考视图数据格式
accessDev | object | 参考门禁设备数据格式
createdAt | string | 内部字段
updatedAt | string | 内部字段
children | object | 下级数据


设备分区添加

接口描述

添加设备分区

使用说明

请求方法 | POST
请求URL | /api/v1/DevPartition/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
parentId | int | 必须 | 上级设备分区id
description | string | 可选 | 设备分区描述
devPartitionName | string | 必须 | 设备分区名称

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/DevPartition/Item

{

  "parentId": 10000,

  "description": "G1 Description",

  "devPartitionName": "G1"

}返回的参数

{

  "code": 0,

  "msg": "Success"


设备分区获取

接口描述

获取设备分区

使用说明

请求方法 | GET
请求URL | /api/v1/DevPartition/Item/$1
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
&1 | int | 必须 | 设备分区id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | object | 参考设备分区数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/DevPartition/Item/10001

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "devPartitionId": 10000,

      "uuid": "f4d1380a-1c5a-462c-8b88-36c6166c8cfe",

      "enableGB": false,

      "parentId": 0,

      "devPartitionName": "Root",

      "description": "",

      "disOrder": 0,

      "dev": [],

      "casDev": [],

      "map": [],

      "view": [],

      "accessDev": [],

      "createdAt": "2024-08-15T17:10:15.116645+08:00",

      "updatedAt": "2024-08-15T17:16:46.458873+08:00",

      "children": null


设备分区更新

接口描述

更新设备分区

使用说明

请求方法 | PUT
请求URL | /api/v1/DevPartition/Item/$1
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
parentId | int | 必须 | 上级设备分区id
description | string | 可选 | 设备分区描述
devPartitionName | string | 必须 | 设备分区名称

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/DevPartition/Item/1000

{

  "parentId": 10000,

  "description": "Root sdfsdf",

  "devPartitionName": "Root"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


设备分区删除

接口描述

删除设备分区

使用说明

请求方法 | DELETE
请求URL | /api/v1/DevPartition/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 设备分区id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/DevPartition/Item

{

  "ids":[10003]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


设备分区列表获取

接口描述

获取设备分区列表

使用说明

请求方法 | GET
请求URL | /api/v1/DevPartition/List
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | array | 设备分区数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/DevPartition/List

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": [

       {

          "devPartitionId": 10000,

          "uuid": "f4d1380a-1c5a-462c-8b88-36c6166c8cfe",

          "enableGB": false,

          "parentId": 0,

          "devPartitionName": "Root",

          "description": "",

          "disOrder": 0,

          "dev": [],

          "casDev": [],

          "map": [],

          "view": [],

          "accessDev": [],

          "createdAt": "2024-08-15T17:10:15.116645+08:00",

          "updatedAt": "2024-08-16T09:37:08.157722+08:00",

          "children": []

       }

   ]


设备分区移动位置

接口描述

设备分区移动位置

使用说明

请求方法 | PUT
请求URL | /api/v1/DevPartition/Move
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
origDevPartitionId | int | 必须 | 移动的设备分区id
toDevPartitionId | int | 必须 | 移动的设备分区id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/DevPartition/Move?origDevPartitionId=10002&toDevPartitionId=10004

返回的参数

{

  "code": 0,

  "msg": "Success"


逻辑分区数据格式

字段 | 数据类型 | 描述
id | int | 逻辑分区id
uuid | string | 逻辑分区uuid
enableGB | bool | 内部字段
description | string | 逻辑分区描述
parentId | int | 上级逻辑分区id 0代表当前是根节点
logicPartitionName | string | 逻辑分区名称
disOrder | int | 内部字段
channel | object | 参考通道数据格式
createdAt | string | 内部字段
updatedAt | string | 内部字段
children | object | 下级数据


逻辑分区添加

接口描述

添加逻辑分区

使用说明

请求方法 | POST
请求URL | /api/v1/LogicPartition/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
parentId | int | 必须 | 上级逻辑分区id
description | string | 可选 | 逻辑分区描述
logicPartitionName | string | 必须 | 逻辑分区名称
channel | array | 必须 | 通道的token

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/LogicPartition/Item

{

  "parentId":0 ,

  "description": "G1 Description",

  "logicPartitionName": "zl" ,

  "channel":["30ad200f-1a06-412b-9c9a-25f5c66beed2--34"]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


逻辑分区获取

接口描述

获取逻辑分区

使用说明

请求方法 | GET
请求URL | /api/v1/LogicPartition/Item/$1
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
&1 | int | 必须 | 逻辑分区id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | object | 参考逻辑分区数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/DevPartition/Item/10000

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "id": 10000,

      "uuid": "e0983f32-91bb-425d-b2bb-0a974a6c6bbb",

      "enableGB": false,

      "parentId": 0,

      "logicPartitionName": "zl",

      "description": "G1 Description",

      "disOrder": 1,

      "channel": [

           {

              "uuid": "5ce2d2f7-ad9e-4107-a08e-d9d5f4ffe24d",

              "token": "5b60a901-d136-4b07-867a-05db00673039--36",

              "chanNo": 4,

              "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

              "devChannel": "36",

              "parentToken": "5b60a901-d136-4b07-867a-05db00673039",

              "rootParent": "5b60a901-d136-4b07-867a-05db00673039",

              "name": "114",

              "type": "H5_CH_DEV",

              "enabled": true,

              "metaEnabled": false,

              "idle": false,

              "online": true,

              "recording": false,

              "description": "",

              "dome": false,

              "alias": "",

              "longitude": "",

              "latitude": "",

              "chanType": "USC_CHAN_CAMERA",

              "setting": {

                  "schedRecEnable": false,

                  "schedRecTemplate": "",

                  "manualRecEnable": false

               },

              "createdAt": "2024-08-16T11:21:25.331055+08:00",

              "updatedAt": "2024-08-16T11:21:25.427189+08:00"

           }

       ],

      "createdAt": "2024-08-16T11:20:26.799358+08:00",

      "updatedAt": "2024-08-16T11:24:17.653984+08:00",

      "children": null


逻辑分区更新

接口描述

更新逻辑分区

使用说明

请求方法 | PUT
请求URL | /api/v1/LogicPartition/Item/$1
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
parentId | int | 必须 | 上级逻辑分区id
description | string | 可选 | 逻辑分区描述
logicPartitionName | string | 必须 | 逻辑分区名称
channel | array | 必须 | 通道的token

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/LogicPartition/Item/1000

{

  "parentId":0,

  "description": "G1 Description",

  "logicPartitionName": "G2" ,

  "channel":["30ad200f-1a06-412b-9c9a-25f5c66beed2--35"]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


逻辑分区删除

接口描述

删除逻辑分区

使用说明

请求方法 | DELETE
请求URL | /api/v1/LogicPartition/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 逻辑分区id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/LogicPartition/Item

{

  "ids":[10000]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


逻辑分区列表获取

接口描述

获取逻辑分区列表

使用说明

请求方法 | GET
请求URL | /api/v1/LogicPartition/List
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | array | 逻辑分区数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/LogicPartition/List

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": [

       {

          "id": 10000,

          "uuid": "e0983f32-91bb-425d-b2bb-0a974a6c6bbb",

          "enableGB": false,

          "parentId": 0,

          "logicPartitionName": "G2",

          "description": "G1 Description",

          "disOrder": 1,

          "channel": [],

          "createdAt": "2024-08-16T11:20:26.799358+08:00",

          "updatedAt": "2024-08-16T11:36:03.150527+08:00",

          "children": []

       }

   ]


逻辑分区移动位置

接口描述

逻辑分区移动位置

使用说明

请求方法 | PUT
请求URL | /api/v1/LogicPartition/Move
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
origLogicPartitionId | int | 必须 | 移动的逻辑备分区id
toLogicPartitionId | int | 必须 | 移动的逻辑分区id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/LogicPartition/Move?origLogicPartitionId=10002&toLogicPartitionId=10004

返回的参数

{

  "code": 0,

  "msg": "Success"


维护

操作日志

获取操作日志

使用说明

请求方法 | POST
请求URL | /api/v1/UscLog/List
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
username | string | 可选 | 用户名
beginTime | string | 必须 | 开始时间
endTime | string | 必须 | 结束时间
moduleType | string | 可选 | 模块类型
pageSize | int | 可选 | 每页多少条数据 默认10条
pageIndex | int | 可选 | 第几页 默认第一页

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
count | int | 总过多少条数据
pageSize | int | 每页多少条数据
pageIndex | int | 第几页
id | int | 日志id
username | string | 用户名
clientIp | string | 客户端ip
logLevel | string | 日志级别
logCode | string | 状态码
time | string | 时间
moduleType | string | 模块类型
operation | string | 操作
OperateResult | string | 操作结果
createdAt | string | 内部字段
updatedAt | string | 内部字段

使用示例

POST http://192.168.100.127:8085/api/v1/UscLog/List

{

  "username": "admin",

  "beginTime": "2023-08-16T00:00:00+08:00",

  "endTime": "2024-08-16T23:59:59+08:00",

  "moduleType": "login_manage",

  "pageSize": 1,

  "pageIndex": 1

}

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "count": 12,

      "pageIndex": 1,

      "pageSize": 1,

      "list": [

           {

              "id": 1,

              "username": "admin",

              "clientIp": "::1",

              "logLevel": "informational",

              "logCode": 0,

              "time": "2024-08-15T17:10:59+08:00",

              "moduleType": "login_manage",

              "operation": "login",

              "OperateResult": "success",

              "createdAt": "2024-08-15T17:11:00.045133+08:00",

              "updatedAt": "2024-08-15T17:11:00.045133+08:00"

           }

       ]


翻译

接口描述

获取翻译文件

使用说明

请求方法 | GET
请求URL | /api/v1/Languages/GetLanguages
请求数据 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/Languages/GetLanguages

返回的参数

{

  "code": 0,

  "msg": "Success"


系统配置获取

接口描述

获取系统配置

使用说明

请求方法 | GET
请求URL | /api/v1/SysConfig/Item
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
module | string | 可选 | 模块类型
pageSize | int | 可选 | 每页多少条数据 默认10条
pageIndex | int | 可选 | 第几页 默认第一页

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
count | int | 总过多少条数据
pageSize | int | 每页多少条数据
pageIndex | int | 第几页
id | int | 系统配置id
key | string | 参数名称
value | string | 参数值
rebootServer | string | 需要重启服务
module | string | 模块类型
description | string | 系统配置描述
parameter_range | string | 值域限制
updatedAt | string | 内部字段
createdAt | string | 内部字段

使用示例

GET http://192.168.100.127:8085/api/v1/SysConfig/Item?module=system&pageSize=1&pageIndex=1

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "count": 3,

      "pageIndex": 1,

      "pageSize": 1,

      "list": [

           {

              "id": 1,

              "module": "system",

              "rebootServer": true,

              "key": "LogRetentionTime",

              "value": "365",

              "description": "Log retention days",

              "parameter_range": ">1",

              "createdAt": "2024-08-15T17:10:14.162751+08:00",

              "updatedAt": "2024-08-15T17:10:14.162751+08:00"

           }

       ]


系统配置修改

接口描述

修改系统配置

使用说明

请求方法 | PUT
请求URL | /api/v1/SysConfig/Item
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
key | string | 必须 | 参数名称
value | string | 必须 | 参数值

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/SysConfig/Item

{

  "key":"LogRetentionTime",

  "value":"365"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


自定义主题Icon

接口描述

自定义lcon

使用说明

请求方法 | POST
请求URL | /api/v1/Customization/Icon
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
logoBase64 | string | 必须 | Icon的base64码

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Customization/Icon

{

“logoBase64”:”图片的base64码”

}

返回的参数

{

  "code": 0,

  "msg": "Success"


LoginLogo

接口描述

自定义LoginLogo

使用说明

请求方法 | POST
请求URL | /api/v1/Customization/LoginLogo
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
logoBase64 | string | 必须 | Icon的base64码
language | string | 必须 | 语言

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Customization/LoginLogo

{

"language":"Zh",

“logoBase64”:”图片的base64码”

}

返回的参数

{

  "code": 0,

  "msg": "Success"


Logo

接口描述

自定义Logo

使用说明

请求方法 | POST
请求URL | /api/v1/Customization/Logo
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
logoBase64 | string | 必须 | Icon的base64码
language | string | 必须 | 语言
ThemeColors | string | 必须 | 主题颜色

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Customization/Logo

{

"language":"Zh",

"ThemeColors":"white",

“logoBase64”:”图片的base64码”

}

返回的参数

{

  "code": 0,

  "msg": "Success"


Title

接口描述

自定义Title

使用说明

请求方法 | POST
请求URL | /api/v1/Customization/Title
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
title | string | 必须 | title内容
language | string | 必须 | 语言

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/Customization/Title

{

  "language":"Zh",

  "title":"USC安防平台|WEB"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


Copyright

接口描述

自定义Copyright

使用说明

请求方法 | POST
请求URL | /api/v1/Customization/Copyright
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
copyright | string | 必须 | copyright的内容

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/Customization/Copyright

{

  "copyright":"2024 © linkingvision.com"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


重置Icon

接口描述

重置lcon

使用说明

请求方法 | GET
请求URL | /api/v1/Customization/Restore/Icon
请求数据 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/Customization/Restore/Icon

返回的参数

{

  "code": 0,

  "msg": "Success"


重置LoginLogo

接口描述

重置LoginLogo

使用说明

请求方法 | GET
请求URL | /api/v1/Customization/Restore/LoginLogo
请求数据 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/Customization/Restore/LoginLogo

返回的参数

{

  "code": 0,

  "msg": "Success"


重置Logo

接口描述

重置Logo

使用说明

请求方法 | GET
请求URL | /api/v1/Customization/Restore/Logo
请求数据 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/Customization/Restore/Logo

返回的参数

{

  "code": 0,

  "msg": "Success"


重置Title

接口描述

重置Title

使用说明

请求方法 | GET
请求URL | /api/v1/Customization/Restore/Title
请求数据 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/Customization/Restore/Title

返回的参数

{

  "code": 0,

  "msg": "Success"


重置Copyright

接口描述

重置Copyright

使用说明

请求方法 | GET
请求URL | /api/v1/Customization/Restore/Copyright
请求数据 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/Customization/Restore/Copyright

返回的参数

{

  "code": 0,

  "msg": "Success"


门禁设备数据格式

字段 | 数据类型 | 描述
accessDevId | int | 门禁设备id
devPartitionId | int | 设备分区id
uuid | string | 门禁设备uuid
type | string | 门禁设备类型
nodeId | string | 服务器id
protocol | string | 协议http/https
ip | string | 门禁设备的ip
port | string | 门禁设备的端口
accessToken | string | 鉴权码
enabled | bool | 是否开启
online | bool | 是否在线
description | string | 门禁设备描述
accessController | string | 门禁控制器信息


获取门禁设备列表

接口描述

获取门禁设备列表

使用说明

请求方法 | GET
请求URL | /api/v1/AccessDevice/List
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
pageSize | int | 每页多少条数据
pageIndex | int | 第几页
list | object | 参考门禁设备列表

使用示例

GET http://192.168.100.127:8085/api/v1/AccessDevice/List

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "count": 1,

      "pageIndex": 1,

      "pageSize": 10,

      "list": [

           {

              "accessDevId": 5,

              "devPartitionId": 10000,

              "uuid": "1091d94a-8034-4740-b4e0-3101723f4dcb",

              "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

              "type": "ZK6000",

              "name": "Access1",

              "protocol": "https",

              "ip": "192.168.100.170",

              "port": "8098",

              "accessToken": "BBA43ED398E1FB8AD4573E4E7491BE8D",

              "enabled": false,

              "online": true,

              "description": "AccessDevice description",

              "accessController": null,

              "createdAt": "2024-09-10T17:27:22.047038+08:00",

              "updatedAt": "2024-09-10T17:27:22.169103+08:00"

           }

       ]


获取门禁设备

接口描述

获取门禁设备

使用说明

请求方法 | GET
请求URL | /api/v1/AccessDevice/&1
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | object | 参考门禁设备列表

使用示例

GET http://192.168.100.127:8085/api/v1/AccessDevice/1

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "accessDevId": 6,

      "devPartitionId": 10000,

      "uuid": "8a1233e6-ff41-4697-8e70-910509d65ad2",

      "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

      "type": "ZK6000",

      "name": "Access1",

      "protocol": "https",

      "ip": "192.168.100.170",

      "port": "8098",

      "accessToken": "BBA43ED398E1FB8AD4573E4E7491BE8D",

      "enabled": false,

      "online": true,

      "description": "AccessDevice description",

      "accessController": [

           {

              "accessControllerId": 4,

              "accessDevId": 6,

              "uuid": "f2b97370-255f-4667-ab8f-5321515a1ccc",

              "token": "4028e42a9154d3330191550dc3e20015",

              "name": "192.168.100.205",

              "sn": "AK6L222760133",

              "type": "K2-200",

              "online": true,

              "module": "acc",

              "Doors": [

                   {

                      "id": 7,

                      "controllerId": 4,

                      "uuid": "1f443ec9-da5d-4866-8dee-7634e0e46a78",

                      "token": "4028e42a9154d3330191550dc43d004d",

                      "name": "192.168.100.205-1",

                      "controlUUID": "4028e42a9154d3330191550dc3e20015",

                      "connect": "0",

                      "sensor": "0",

                      "alarm": "0",

                      "relay": "0",

                      "Readers": [

                           {

                              "id": 25,

                              "DoorId": 7,

                              "doorUUID": "4028e42a9154d3330191550dc43d004d",

                              "uuid": "fda3b562-8bf5-47cb-83f9-02ea9cbf0e44",

                              "token": "4028e42a9154d3330191550dc43e004f",

                              "name": "192.168.100.205-1-入",

                              "readerNo": 1,

                              "readerState": 0

                           },

                           {

                              "id": 26,

                              "DoorId": 7,

                              "doorUUID": "4028e42a9154d3330191550dc43d004d",

                              "uuid": "5cc2397d-f453-4f73-9794-aba8f661bdf5",

                              "token": "4028e42a9154d3330191550dc43e0050",

                              "name": "192.168.100.205-1-出",

                              "readerNo": 2,

                              "readerState": 1

                           }

                       ]

                   },


添加门禁设备

接口描述

添加门禁设备

使用说明

请求方法 | POST
请求URL | /api/v1/AccessDevice
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
devPartitionId | int | 必须 | 设备分区id
type | string | 必须 | 门禁设备类型
name | string | 必须 | 名称
protocol | string | 必须 | 协议http/https
ip | string | 必须 | 门禁设备ip
port | string | 必须 | 门禁设备端口
accessToken | string | 必须 | 鉴权码
description | string | 必须 | 门禁设备描述

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/AccessDevice

{

  "devPartitionId": 10000,

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "type":"ZK6000",

  "name": "zk6000",

  "protocol":"https",

  "ip": "192.168.100.170",

  "port":"8098",

  "accessToken": "BBA43ED398E1FB8AD4573E4E7491BE8D",

  "description": "description"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


修改门禁设备

接口描述

修改门禁设备

使用说明

请求方法 | PUT
请求URL | /api/v1/AccessDevice
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
accessDevId | int | 必须 | 门禁设备id
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 名称
protocol | string | 必须 | 协议http/https
ip | string | 必须 | 门禁设备ip
port | string | 必须 | 门禁设备端口
accessToken | string | 必须 | 鉴权码
description | string | 必须 | 门禁设备描述

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/AccessDevice

{

  "accessDevId":2,

  "devPartitionId": 10000,

  "name": "zk60020",

  "protocol":"https",

  "ip": "192.168.100.130",

  "port":"8098",

  "accessToken": "E8B12C9A59279819027C3E2E70D921AE",

  "description": "description"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


删除门禁设备

接口描述

删除门禁设备

使用说明

请求方法 | DELETE
请求url | /api/v1/accessdevice
请求数据 | application/json;charset=utf-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 门禁设备id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/AccessDevice

{

  "ids":[4]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


远程开门

接口描述

远程开门

使用说明

请求方法 | POST
请求url | /api/v1/AccessDevice/RemoteOpenDoor
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
doorUUID | string | 必须 | 门的uuid
accessToken | string | 必须 | 鉴权码
interval | int | 必须 | 开门时间

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/AccessDevice/RemoteOpenDoor

{

  "doorToken": "4028e42a9154d3330191550dc43e004e",

  "accessToken": "B7836547237FA0B936E8F046D32B56D0",

  "interval": 5

}

返回的参数

{

  "code": 0,

  "msg": "Success"


远程关门

接口描述

远程关门

使用说明

请求方法 | POST
请求url | /api/v1/AccessDevice/RemoteCloseDoor
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
doorUUID | string | 必须 | 门的uuid
accessToken | string | 必须 | 鉴权码

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/AccessDevice/RemoteCloseDoor

{

  "doorToken": "402870818fa87244018fa87f9b0907223",

  "accessToken": "17D8F99B56B90856D8E60BEA2FE14D90"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


设备数据格式

设备包含1个或者多个视频源(也可以称为通道)，设备产生的视频源类型为H5_CH_DEV，单个设备数据是json数据格式，nType表示视频源的类型，类型可以参考如下表格：

类型 | 描述
H5_DEV_HIK | 海康设备SDK
H5_DEV_DH | 大华设备SDK
H5_DEV_UNV | 宇视设备SDK
H5_DEV_HIKINFOV | 海康INFO Vision平台
H5_DEV_HIKISC | 海康ISC平台
H5_DEV_TD | 天地伟业设备SDK
H5_DEV_DHDSS | 大华DSS平台
H5_DEV_IVS | 华为IVS
H5_DEV_RTSP | RTSP
H5_DEV_ONVIF | ONVIF
H5_DEV_FILE | 文件file

视频源json数据格式含义可以参考如下表格：

字段 | 数据类型 | 描述
devPartitionId | int | 设分区备id
nodeId | string | 服务器id
setToken | bool | 修改token
name | string | 设备名称
token | string | 设备token，是设备的唯一标识
username | string | 用户名
password | string | 密码
devIP | string | 设备IP地址
devPort | string | 设备端口
enableAudio | bool | 是否开启音频
maxChannel | int | 最大通道数，0表示不限，其他为加载的最大通道数
centralRecord | bool | 是否是中心录像，海康ISC和海康INFO Vision适用
sandbox | bool | 是否开启Sandbox模式
isApi | bool | 是否开启ISAPI模式，海康设备SDK适用
VMS | bool | 是否是VMS，宇视VMS适用，false的时候是宇视NVR
online | bool | 设备是否在线
description | string | 设备描述


添加Dh设备

接口描述

添加大华SDK设备

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Add/Dh
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
username | string | 必须 | 用户名
password | string | 必须 | 密码
devIP | string | 必须 | 设备IP地址
devPort | string | 必须 | 设备端口
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用
sandbox | bool | 可选 | 是否开启Sandbox模式
subEvent | bool | 可选 | 是否开启事件订阅
apiPort | int | 可选 | api端口
apiHttps | bool | 可选 | 是否启用https
maxChannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数
maxChannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Add/Dh

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "setToken": false,

  "token": "b1c3",

  "devPartitionId": 10000,

  "name": "devdh210",

  "username": "admin",

  "password": "admin12345",

  "devIP": "192.168.100.210",

  "devPort": "37777",

  "enableAudio": false,

  "description": "test dh device",

  "enabled": true,

  "sandbox": false,

  "subEvent": false,

  "apiPort": 80,

  "apiHttps": false,

  "maxChannel": 0

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加Ivs设备

接口描述

添加华为Ivs设备

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Add/Ivs
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
username | string | 必须 | 用户名
password | string | 必须 | 密码
devIP | string | 必须 | 设备IP地址
devPort | string | 必须 | 设备端口
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用
sandbox | bool | 可选 | 是否开启Sandbox模式
maxChannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数
rBufferTime | int | 可选 | 缓存时间

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Add/Ivs

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "setToken": false,

  "token": "b1c3",

  "devPartitionId": 10000,

  "name": "devivs210",

  "username": "admin",

  "password": "admin12345",

  "devIP": "192.168.100.210",

  "devPort": "37777",

  "enableAudio": false,

  "description": "test ivs device",

  "enabled": true,

  "maxChannel": 0,

  "sandbox": false,

  "rBufferTime": 200

}返回的参数

{

  "code": 0,

  "msg": "Success"


添加Hik设备

接口描述

添加海康SDK设备

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Add/Hik
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
username | string | 必须 | 用户名
password | string | 必须 | 密码
devIP | string | 必须 | 设备IP地址
devPort | string | 必须 | 设备端口
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用
isApi | bool | 可选 | 是否开启ISAPI
sandbox | bool | 可选 | 是否开启Sandbox模式
subEvent | bool | 可选 | 是否开启事件订阅
apiPort | int | 可选 | api端口
apiHttps | bool | 可选 | 是否启用https
maxChannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Add/Hik

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "setToken": false,

  "token": "b1c3",

  "devPartitionId": 10000,

  "name": "devhik176name",

  "username": "admin",

  "password": "dmin12345",

  "devIP": "192.168.100.176",

  "devPort": "8000",

  "enableAudio": false,

  "description": "test hik device",

  "enabled": true,

  "isApi": false,

  "sandbox": false,

  "subEvent": false,

  "apiPort": 80,

  "apiHttps": false,

  "maxChannel":0

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加HikISC平台

接口描述

添加海康ISC平台

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Add/HikISC
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
username | string | 必须 | 用户名
password | string | 必须 | 密码
devIP | string | 必须 | 设备IP地址
devPort | string | 必须 | 设备端口
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用
sandbox | bool | 可选 | 是否开启Sandbox模式
maxChannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数
centralrecord | bool | 可选 | 中心存储

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Add/HikISC

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "setToken": false,

  "token": "b1c3",

  "devPartitionId": 10000,

  "name": "devisc210",

  "username": "admin",

  "password": "admin12345",

  "devIP": "192.168.100.210",

  "devPort": "37777",

  "enableAudio": false,

  "description": "test isc device",

  "enabled": true,

  "maxChannel": 0,

  "sandbox": false,

  "centralrecord": false

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加HikInfov平台

接口描述

添加海康INFO visio 平台

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Add/HikInfov
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
username | string | 必须 | 用户名
password | string | 必须 | 密码
devIP | string | 必须 | 设备IP地址
devPort | string | 必须 | 设备端口
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用
sandbox | bool | 可选 | 是否开启Sandbox模式
maxChannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数
centralrecord | bool | 可选 | 中心存储

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Add/HikInfov

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "setToken": false,

  "token": "b1c3",

  "devPartitionId": 10000,

  "name": "devinfov210",

  "username": "admin",

  "password": "admin12345",

  "devIP": "192.168.100.210",

  "devPort": "37777",

  "enableAudio": false,

  "description": "test infov device",

  "enabled": true,

  "maxChannel": 0,

  "sandbox": false,

  "centralrecord": false

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加Td设备

接口描述

添加天地SDK设备

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Add/Td
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
username | string | 必须 | 用户名
password | string | 必须 | 密码
devIP | string | 必须 | 设备IP地址
devPort | string | 必须 | 设备端口
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用
sandbox | bool | 可选 | 是否开启Sandbox模式
maxChannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Add/Td

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "setToken": true,

  "token": "b1c3",

  "devPartitionId": 10000,

  "name": "devtd210",

  "username": "admin",

  "password": "admin12345",

  "devIP": "192.168.100.210",

  "devPort": "37777",

  "enableAudio": false,

  "description": "test td device",

  "enabled": true,

  "maxChannel": 0,

  "sandbox": false

}

返回的参数

{

  "code": 0,

  "msg": "Success"


删除设备

接口描述

删除设备

使用说明

请求方法 | DELETE
请求URL | /api/v1/Device
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 设备id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/Device

{

  "ids":[10000,10002]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


获取设备列表

接口描述

获取设备列表

使用说明

请求方法 | GET
请求URL | /api/v1/Device/List
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
pageSize | int | 可选 | 每页多少条数据 默认10条
pageIndex | int | 可选 | 第几页 默认第一页

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
pageSize | int | 每页多少条数据
pageIndex | int | 第几页
result | array | 参考设备数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/Device/List?pageSize=100

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "count": 1,

      "pageIndex": 1,

      "pageSize": 100,

      "list": [

           {

              "devId": 1,

              "devPartitionId": 10000,

              "token": "9bfda4b7-040b-4831-a646-7eaddfc9dcfa",

              "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

              "name": "Device1",

              "type": "H5_DEV_FILE",

              "username": "invalid",

              "password": "invalid",

              "passwordEncrypted": false,

              "devIP": "invalid",

              "devPort": "invalid",

              "enableAudio": false,

              "enabled": true,

              "online": true,

              "description": "Device1 description",

              "strUrl": "D:\\main\\server\\usc\\usc-r1.3.0807.24-win64-release\\videos\\substream.mp4;",

              "strUrlSub": "",

              "bEnableUrlSub": false,

              "h5RTSPConnectType": "",

              "isApi": false,

              "sandbox": false,

              "subEvent": false,

              "apiPort": 0,

              "apiHttps": false,

              "maxChannel": 0,

              "rBufferTime": 0,

              "centralRecord": false,

              "VMS": false,

              "createdAt": "2024-08-19T15:45:52.430807+08:00",

              "updatedAt": "2024-08-22T11:22:33.550483+08:00"

           }

       ]


获取视频文件

接口描述

获取视频文件

使用说明

请求方法 | GET
请求URL | /api/v1/Device/DevFileList
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | array | 视频文件的地址

使用示例

GET http://192.168.100.127:8085/api/v1/Device/DevFileList

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": [

      "D:\\main\\server\\usc\\usc-r1.3.0807.24-win64-release\\videos\\substream.mp4"

   ]


更新设备

接口描述

更新设备

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Update
请求数据 | application/json;charset=UTF-8

请求参数

修改设备根据当前设备是那种类型 修改参数

字段 | 数据类型 | 参数要求 | 描述
devId | int | 必须 | 设备id
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用
strUrl | string | 可选 | 视频文件路径
username | sring | 可选 | 用户名
password | sring | 可选 | 密码
devIP | string | 可选 | 设备ip
devPort | string | 可选 | 设备端口
isApi | bool | 可选 | 是否开始isapi
sandbox | bool | 可选 | 沙盒
subEvent | bool | 可选 | 时间订阅
apiPort | int | 可选 | api端口
apiHttps | bool | 可选 | 是否开始apiHttps
maxChannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数
centralrecord | bool | 可选 | 中心存储

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Device/Update

{

  "devId": 2,

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "setToken": false,

  "token": "b1c3",

  "devPartitionId": 10001,

  "name": "devhik176",

  "username": "admin",

  "password": "admin12345",

  "devIP": "192.168.100.176",

  "devPort": "8000",

  "enableAudio": false,

  "description": "test hik device",

  "enabled": true,

  "isApi": false,

  "sandbox": false,

  "subEvent": false,

  "apiPort": 80,

  "apiHttps": false,

  "maxChannel": 0

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加FILE

接口描述

添加视频文件需要提前把视频文件放到软件包的根目录videos文件夹里面

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Add/FILE
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
strUrl | string | 必须 | 视频文件路径
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Add/FILE

{

"nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

"setToken": false,

"token": "b1c3",

"devPartitionId": 10000,

"name": "devfile",

"strUrl":"D:\\main\\server\\usc\\usc-r1.2.1109.23-win64-release\\videos\\1.mp4;D:\\main\\server\\usc\\usc-r1.2.1109.23-win64-release\\videos\\2.mp4",

"enableAudio": false,

"description": "test dh device",

"enabled": true

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加ONVIF

接口描述

添加ONVIF

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Add/ONVIF
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
username | string | 必须 | 用户名
password | string | 必须 | 密码
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用
devIP | string | 必须 | 设备ip
devPort | int | 必须 | 设备端口

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Add/ONVIF

{

"nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

"setToken": false,

"token": "b1c3",

"devPartitionId": 10000,

"name": "onvif107",

"username": "admin",

"password": "vision@12345",

"devIP": "192.168.1.1",

"devPort": "80",

"enableAudio": false,

"description": "test dh device",

"enabled": true

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加RTSP

接口描述

添加RTSP

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Add/RTSP
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
username | string | 必须 | 用户名
password | string | 必须 | 密码
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用
strUrl | string | 必须 | rtsp主码流地址
bEnableUrlSub | bool | 必须 | 是否启动辅码流
strUrlSub | string | 必须 | 辅码流地址
h5RTSPConnectType | string | 必须 | 连接类型

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Add/RTPS

{

"nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

"setToken": false,

"token": "b1c3",

"devPartitionId": 10000,

"name": "rtsp107",

"username": "admin",

"password": "vision@12345",

"enableAudio": false,

"description": "test dh device",

"enabled": true,

"strUrl":"rtsp://192.168.100.107/stream",

"bEnableUrlSub":true,

"strUrlSub":"rtsp://192.168.100.107/stream",

"h5RTSPConnectType":"H5_RTSP_AUTO"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加Dss平台

接口描述

添加大华Dss平台

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Add/Dss
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
username | string | 必须 | 用户名
password | string | 必须 | 密码
devIP | string | 必须 | 设备IP地址
devPort | string | 必须 | 设备端口
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用
sandbox | bool | 可选 | 是否开启Sandbox模式
maxChannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Add/Dss

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "setToken": false,

  "token": "b1c3",

  "devPartitionId": 10000,

  "name": "devdhdss210",

  "username": "admin",

  "password": "admin12345",

  "devIP": "192.168.100.210",

  "devPort": "37777",

  "enableAudio": false,

  "description": "test dh device",

  "enabled": true,

  "maxChannel": 0,

  "sandbox": false

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加Unv设备

接口描述

添加Unv设备

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Add/Unv
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id
setToken | bool | 必须 | 使用token
token | string | 必须 | setToken为true的时候生效
devPartitionId | int | 必须 | 设备分区id
name | string | 必须 | 设备名字
username | string | 必须 | 用户名
password | string | 必须 | 密码
devIP | string | 必须 | 设备IP地址
devPort | string | 必须 | 设备端口
enableAudio | bool | 必须 | 是否开启音频
description | string | 必须 | 设备描述
enabled | bool | 必须 | 启用
sandbox | bool | 可选 | 是否开启Sandbox模式
maxChannel | int | 可选 | 最大通道数，0表示不限，其他为加载的最大通道数
VMS | bool | 必须 | VMS
apiHttps | bool | 必须 | 是否启用apiHttps
apiPort | int | 必须 | api端口

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Add/Unv

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "setToken": false,

  "token": "b1c3",

  "devPartitionId": 10000,

  "name": "devUnv210",

  "username": "admin",

  "password": "admin12345",

  "devIP": "192.168.100.210",

  "devPort": "37777",

  "enableAudio": false,

  "description": "test unv device",

  "enabled": true,

  "maxChannel": 0,

  "sandbox": false,

  "VMS": false,

  "subEvent": false,

  "apiPort": 80,

  "apiHttps": false

}

返回的参数

{

  "code": 0,

  "msg": "Success"


设备通道数据格式

字段 | 类型 | 描述
uuid | string | 通道uuid
token | string | 通道token
chanNo | int | 内部字段
nodeId | string | 服务器id
devChannel | string | 设备的token
parentToken | string | 内部字段
rootParent | string | 内部字段
name | string | 通道名字
type | string | 类型
enabled | bool | 启用状态
metaEnabled | bool | 元数据分析
idle | bool | 空闲状态
online | bool | 是否在线
recording | bool | 录像状态
description | string | 通道描述
dome | bool | 是否是球机
alias | string | 别名
longitude | string | 内部字段
latitude | string | 内部字段
chanType | string | 内部字段
schedRecEnable | bool | 开启计划录像
schedRecTemplate | string | 计划录像模板
manualRecEnable | bool | 开启手动录像


获取设备通道

接口描述

获取设备通道

使用说明

请求方法 | GET
请求URL | /api/v1/Device/Channels
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
token | string | 必须 | 设备的token

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | array | 参考设备通道数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/Device/Channels?token=9bfda4b7-040b-4831-a646-7eaddfc9dcfa

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": [

       {

          "uuid": "482d0c89-9a9c-4a9b-9dac-f9885a36e74a",

          "token": "9bfda4b7-040b-4831-a646-7eaddfc9dcfa",

          "chanNo": 1,

          "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

          "devChannel": "9bfda4b7-040b-4831-a646-7eaddfc9dcfa",

          "parentToken": "9bfda4b7-040b-4831-a646-7eaddfc9dcfa",

          "rootParent": "9bfda4b7-040b-4831-a646-7eaddfc9dcfa",

          "name": "Device1",

          "type": "H5_FILE",

          "enabled": true,

          "metaEnabled": true,

          "idle": false,

          "online": true,

          "recording": false,

          "description": "",

          "dome": false,

          "alias": "",

          "longitude": "",

          "latitude": "",

          "chanType": "USC_CHAN_CAMERA",

          "setting": {

              "schedRecEnable": false,

              "schedRecTemplate": "6a2a8c4e-06d8-4f5a-a3ba-b0b1c6488d8c",

              "manualRecEnable": false

           },

          "createdAt": "2024-08-19T15:45:52.45717+08:00",

          "updatedAt": "2024-08-23T11:21:23.359611+08:00"

       }

   ]


获取通道在线状态

接口描述

获取通道在线状态

使用说明

请求方法 | POST
请求URL | /api/v1/Device/Channel/State
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
token | string | 必须 | 通道的token

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
enable | bool | 在线状态
token | string | 通道token

使用示例

POST http://192.168.100.127:8085/api/v1/Device/Channel/State

{

  "obj": [

       {"token":"b1c3"}

   ]

}

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "obj": [

           {

              "enable": false,

              "token": "b1c3"

           }

       ]


获取通道编码信息

接口描述

获取通道编码信息

使用说明

请求方法 | GET
请求URL | /api/v1/GetVidStreamStatus
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
token | string | 必须 | 通道的token
stream | string | 必须 | main主码流 sub辅码流

响应参数

字段 | 数据类型 | 描述
strVideoType | string | 视频编码类型
nVideoBitrate | int | 音频码率
nVideoFPS | int | 帧率
nVideoWidth | int | 宽
nVideoHeight | int | 高
strAudioType | string | 音频编码类型
nAudioSampleRate | int | 音频采样率
nAudioSampleBit | int | 音频采样位宽
nAudioChannels | int | 音频声道数
nAudioBitrate | int | 音频码率

使用示例

GET http://192.168.100.127:8085/api/v1/GetVidStreamStatus?token=9bfda4b7-040b-4831-a646-7eaddfc9dcfa&stream=main

返回的参数

{

  "strVideoType": "H264",

  "nVideoBitrate": 976072,

  "nVideoFPS": 24,

  "nVideoWidth": 720,

  "nVideoHeight": 576,

  "strAudioType": "NONE",

  "nAudioSampleRate": 0,

  "nAudioSampleBit": 0,

  "nAudioChannels": 0,

  "nAudioBitrate": 0


服务端抓图

接口描述

服务端抓图

使用说明

请求方法 | GET
请求URL | /api/v1/Snapshot
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
token | string | 必须 | 通道的token

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
strFileName | string | 图片文件名
strUrl | string | 图片地址

使用示例

GET http://192.168.100.127:8085/api/v1/Snapshot?token=9bfda4b7-040b-4831-a646-7eaddfc9dcfa&stream=main

返回的参数

{

  "bStatus": true,

  "strCode": "Snapshot start successfully",

  "strFileName": "9bfda4b7-040b-4831-a646-7eaddfc9dcfa-5126f27e-7b27-4637-8e93-ae31b7d8850b.jpg",

  "strUrl": "/mediastore/snapshot/9bfda4b7-040b-4831-a646-7eaddfc9dcfa/2024-08-23TZ08/15-17-38/9bfda4b7-040b-4831-a646-7eaddfc9dcfa-5126f27e-7b27-4637-8e93-ae31b7d8850b.jpg"


标记通道是否为球机

接口描述

标记通道是否为球机

使用说明

请求方法 | GET
请求URL | /api/v1/SetChannelDomeMode
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
token | string | 必须 | 通道的token
dome | Bool | 必须 | 是否为球机

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/SetChannelDomeMode?token=9bfda4b7-040b-4831-a646-7eaddfc9dcfa&dome=true

返回的参数

{

  "code": 0,

  "msg": "Success"


为通道添加别名

接口描述

为通道添加别名

使用说明

请求方法 | GET
请求URL | /api/v1/SetChannelAliasName
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
token | string | 必须 | 通道的token
alias | string | 必须 | 别名

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/SetChannelAliasName?token=9bfda4b7-040b-4831-a646-7eaddfc9dcfa&alias=一楼电梯

返回的参数

{

  "code": 0,

  "msg": "Success"


PTZ

接口描述

修改通道PTZ

使用说明

请求方法 | GET
请求URL | /api/v1/PTZ
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
token | string | 必须 | 通道的token
action | string | 必须 | command up/upright/upleft/down/downright/downleft/left/right/zoomin/zoomout/focusin/focusout/irisin/irisout/stop/preset/lighton/lightoff/wiperon/wiperoff
speed | string | 可选 | 速度（0-1），停止不需要速度
preset | string | 可选 | 当action 为preset的时候启用

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/Ptz?token=0e8e6d96-9304-4179-8311-20dbba3b6518--34&action=stop&speed=0.5

返回的参数

{

  "bStatus": true,

  "strCode": "PTZ successfully"


修改预置位

接口描述

修改通道预置位

使用说明

请求方法 | GET
请求URL | /api/v1/SetPreset
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
token | string | 必须 | 通道的token
presetname | string | 必须 | 预置位名字
presettoken | String | 可选 | 预置位token

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/SetPreset?token=58d681fa-0ca6-452f-aa7a-dc98acd01228--34&presetname=预置位1&presettoken=2

返回的参数

{

  "bStatus": true,

  "strCode": "PTZ successfully"


获取预置位

接口描述

获取通道预置位

使用说明

请求方法 | GET
请求URL | /api/v1/GetPreset
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
token | string | 必须 | 通道的token

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/GetPreset?token=58d681fa-0ca6-452f-aa7a-dc98acd01228--34

返回的参数

{

  "preset": [

       {

          "strName": "1",

          "strToken": "1"


删除预置位

接口描述

删除通道预置位

使用说明

请求方法 | GET
请求URL | /api/v1/DelPreset
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
token | string | 必须 | 通道的token
presettoken | string | 可选 | 预置位token

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/DelPreset?token=58d681fa-0ca6-452f-aa7a-dc98acd01228--34&presettoken=2

返回的参数

{

  "bStatus": true,

  "strCode": "PTZ successfully"


获取通道录像段

接口描述

获取通道录像段

使用说明

请求方法 | GET
请求URL | /api/v1/SearchDeviceRecordByTime
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
token | string | 必须 | 通道的token
start | string | 必须 | 录像开始时间
end | string | 必须 | 录像结束时间
maxlen | int | 可选 | 每段最大多长时间单位秒

响应参数

字段 | 数据类型 | 描述
bFinished | Bool | 在输入的时间段中是否搜索完，如果为false，可以用返回的最后一个录像的结束时间作为start参数，重新搜索，这样可以完整的搜索到所有的录像段
strStartTime | string | 录像开始时间
strEndTime | string | 录像结束时间
nType | string | H5_REC_MANUAL/H5_REC_SCHEDULE/H5_REC_ALARM 手动录像/计划录像/报警录像

使用示例

GET http://192.168.100.127:8085/api/v1/SearchDeviceRecordByTime?token=9bfda4b7-040b-4831-a646-7eaddfc9dcfa&start=2024-8-17T00:00:00%2b08&end=2024-8-20T23:59:59%2b08&maxlen=900

返回的参数

{

  "bFinished": true,

  "nMaxLen": 86400,

  "record": [

 {

  "strStartTime": "2024-08-23T10:31:19+08:00",

  "strEndTime": "2024-08-23T10:35:53+08:00",

  "nDurationInSec": 274,

  "type": [

  "H5_STOR_REC_ALERT",

  "H5_STOR_REC_A_MOTION",

  "H5_STOR_REC_A_OBJECT"

  ],

  "nSizeInMBytes": 35

 }

]


获取GB/T35114服务配置

接口描述

获取GB/T35114服务配置

使用说明

请求方法 | GET
请求URL | /api/v1/Cascade/GB35114CascadeConf
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 归属服务器

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
bEnable | bool | 开启
strGbID | string | 国标id
strRealm | string | 服务器域
strGbServerIpAddr | string | 国标服务器地址
nGbServerPort | int | 国标服务器端口
bTCP | bool | TCP
bUDP | bool | UDP
nPortRangeMin | int | 端口最小范围
nPortRangeMax | int | 端口最大范围
strSmDevName | string | SM证书名称
strSmDevType | string | SM证书类型

使用示例

GET http://192.168.100.127:8085/api/v1/Cascade/GB35114CascadeConf?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "conf": {

          "bEnable": false,

          "strGbID": "34020000002000000001",

          "strRealm": "3402000000",

          "strGbServerIpAddr": "192.168.100.103",

          "nGbServerPort": 5164,

          "bTCP": false,

          "bUDP": true,

          "nPortRangeMin": 56000,

          "nPortRangeMax": 56999,

          "strSmDevName": "None",

          "strSmDevType": "H5_SM_DEV_NONE"


更新GB/T35114服务配置

接口描述

更新GB/T35114服务配置

使用说明

请求方法 | PUT
请求URL | /api/v1/Cascade/GB35114CascadeConf
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 归属服务器
bEnable | bool | 必须 | 开启
strGbID | string | 必须 | 国标id
strRealm | string | 必须 | 服务器域
strGbServerIpAddr | string | 必须 | 国标服务器地址
nGbServerPort | int | 必须 | 国标服务器端口
bTCP | bool | 必须 | TCP
bUDP | bool | 必须 | UDP
nPortRangeMin | int | 必须 | 端口最小范围
nPortRangeMax | int | 必须 | 端口最大范围
strSmDevName | string | 必须 | SM证书名称
strSmDevType | string | 必须 | SM证书类型

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Cascade/GB35114CascadeConf

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "bEnable": false,

  "strGbID": "34020000002000000001",

  "strRealm": "3402000000",

  "strGbServerIpAddr": "192.168.100.145",

  "nGbServerPort": 5164,

  "bTCP": true,

  "bUDP": true,

  "nPortRangeMin": 56001,

  "nPortRangeMax": 56999,

  "strSmDevName": "48A3C370734822D7A45BEE4E96BB68A",

  "strSmDevType": "H5_SM_DEV_SKF"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


获取GB/T35114 SM证书

接口描述

获取GB/T35114 SM证书

使用说明

请求方法 | GET
请求URL | /api/v1/Cascade/List/SmDev
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 归属服务器

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
strDevName | string | SM证书名称
strType | string | SM证书类型

使用示例

GET http://192.168.100.127:8085/api/v1/List/SmDev?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "dev": [

           {

              "strDevName": "48A3C370734822D7A45BEE4E96BB68A",

              "strType": "H5_SM_DEV_SKF"

           }

       ]


请求目录

接口描述

请求目录

使用说明

请求方法 | POST
请求URL | /api/v1/ReqCatalog/GR
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
grId | string | 必须 | 国标id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/ReqCatalog/GR

{

  "gbId": "34020000001110000196"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


获取GB/T28181服务配置

接口描述

获取GB/T28181服务配置

使用说明

请求方法 | GET
请求URL | /api/v1/Cascade/GBCascadeConf
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 归属服务器

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
bEnable | bool | 开启
strGbID | string | 国标id
strRealm | string | 服务器域
strGbServerIpAddr | string | 国标服务器地址
nGbServerPort | int | 国标服务器端口
bTCP | bool | TCP
bUDP | bool | UDP
nPortRangeMin | int | 端口最小范围
nPortRangeMax | int | 端口最大范围

使用示例

GET http://192.168.100.127:8085/api/v1/Cascade/GBCascadeConf?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "conf": {

          "bEnable": true,

          "strGbID": "34020000002000000001",

          "strRealm": "3402000000",

          "strGbServerIpAddr": "192.168.100.139",

          "nGbServerPort": 5160,

          "bTCP": false,

          "bUDP": true,

          "nPortRangeMin": 55000,

          "nPortRangeMax": 55999


更新GB/T28181服务配置

接口描述

更新GB/T28181服务配置

使用说明

请求方法 | PUT
请求URL | /api/v1/Cascade/GBCascadeConf
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 归属服务器
bEnable | bool | 必须 | 开启
strGbID | string | 必须 | 国标id
strRealm | string | 必须 | 服务器域
strGbServerIpAddr | string | 必须 | 国标服务器地址
nGbServerPort | int | 必须 | 国标服务器端口
bTCP | bool | 必须 | TCP
bUDP | bool | 必须 | UDP
nPortRangeMin | int | 必须 | 端口最小范围
nPortRangeMax | int | 必须 | 端口最大范围

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Cascade/GBCascadeConf

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "bEnable": true,

  "strGbID": "34020000002000000001",

  "strRealm": "3402000000",

  "strGbServerIpAddr": "192.168.100.145",

  "nGbServerPort": 5160,

  "bTCP": true,

  "bUDP": true,

  "nPortRangeMin": 55001,

  "nPortRangeMax": 55999

}

返回的参数

{

  "code": 0,

  "msg": "Success"


GB/T28181下级域

GB/T28181下级域数据格式

字段 | 数据类型 | 描述
gbType | string | 国标类型
gbId | string | 国标ID
authType | string | 授权类型
gbStreamType | string | 流媒体协议
devPartitionId | string | 设备分区id
name | string | 名称
sipUser | string | SIP用户
password | string | 密码
devIP | string | IP地址
devPort | string | 端口
enableAudio | bool | 开启音频
checkIpPort | bool | 检查IP端口
timeout | int | 超时时间
autoReqCatalog | bool | 自动请求目录
centralRecord | bool | 中心存储
description | string | 备注
enabled | bool | 开启


添加GB/T28181下级域

接口描述

添加GB/T28181下级域

使用说明

请求方法 | POST
请求URL | /api/v1/Cascade/Add/GB
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
gbType | string | 必须 | 国标类型
gbId | string | 必须 | 国标ID
authType | string | 必须 | 授权类型
gbStreamType | string | 必须 | 流媒体协议
devPartitionId | string | 必须 | 设备分区id
name | string | 必须 | 名称
sipUser | string | 必须 | SIP用户
password | string | 必须 | 密码
devIP | string | 必须 | IP地址
devPort | string | 必须 | 端口
enableAudio | bool | 必须 | 开启音频
checkIpPort | bool | 必须 | 检查IP端口
timeout | int | 必须 | 超时时间
autoReqCatalog | bool | 必须 | 自动请求目录
centralRecord | bool | 必须 | 中心存储
description | string | 必须 | 备注
enabled | bool | 必须 | 开启

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Cascade/Add/GB

{

  "gbType": "H5_CAS_GBT_2016",

  "gbId": "31020000001320000181",

  "authType": "H5_CAS_AUTH_DIGEST_MD5",

  "gbStreamType": "H5_CAS_STREAM_UDP",

  "devPartitionId": 10000,

  "name": "GB Device1",

  "sipUser": "admin1",

  "password": "admin12345",

  "devIP": "192.168.100.86",

  "devPort": "5060",

  "enableAudio": false,

  "checkIpPort": false,

  "timeout": 7200,

  "autoReqCatalog":false,

  "centralRecord":false,

  "description": "GB Device1",

  "enabled": true

}

返回的参数

{

  "code": 0,

  "msg": "Success"


更新GB/T28181下级域

接口描述

更新GB/T28181下级域

使用说明

请求方法 | PUT
请求URL | /api/v1/Cascade/GB/Update
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
devId | int | 必须 | 下级域id
gbType | string | 必须 | 国标类型
gbId | string | 必须 | 国标ID
authType | string | 必须 | 授权类型
gbStreamType | string | 必须 | 流媒体协议
devPartitionId | string | 必须 | 设备分区id
name | string | 必须 | 名称
sipUser | string | 必须 | SIP用户
password | string | 必须 | 密码
devIP | string | 必须 | IP地址
devPort | string | 必须 | 端口
enableAudio | bool | 必须 | 开启音频
checkIpPort | bool | 必须 | 检查IP端口
timeout | int | 必须 | 超时时间
autoReqCatalog | bool | 必须 | 自动请求目录
centralRecord | bool | 必须 | 中心存储
description | string | 必须 | 备注
enabled | bool | 必须 | 开启

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Cascade/GB/Update

{

  "devId":2,

  "gbType": "H5_CAS_GBT_2016",

  "gbId": "31020000001320000181",

  "authType": "H5_CAS_AUTH_DIGEST_MD5",

  "gbStreamType": "H5_CAS_STREAM_UDP",

  "devPartitionId": 10000,

  "name": "GB Device3",

  "sipUser": "admin1",

  "password": "admin12345",

  "devIP": "192.168.100.86",

  "devPort": "5060",

  "enableAudio": false,

  "checkIpPort": false,

  "timeout": 7200,

  "autoReqCatalog":false,

  "centralRecord":false,

  "description": "GB Device 2",

  "enabled": true

}

返回的参数

{

  "code": 0,

  "msg": "Success"


获取GB/T28181下级域列表

接口描述

获取GB/T28181下级域列表

使用说明

请求方法 | GET
请求URL | /api/v1/Cascade/List/GB
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
pageSize | int | 可选 | 每页多少条数据 默认10条
pageIndex | int | 可选 | 第几页 默认第一页

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
pageSize | int | 每页多少条数据
pageIndex | int | 第几页
result | array | 参考下级域数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/Cascade/List/GB?pageSize=100

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "count": 1,

      "pageIndex": 1,

      "pageSize": 100,

      "list": [

           {

              "devId": 2,

              "devPartitionId": 10000,

              "token": "3a7bccfb-cb7a-4a59-85f6-d1efbb212c55",

              "nodeId": "",

              "name": "GB Device1",

              "casType": "H5_CAS_GBT_2016",

              "authType": "H5_CAS_AUTH_DIGEST_MD5",

              "gbId": "31020000001320000181",

              "sipUser": "admin1",

              "password": "admin12345",

              "passwordEncrypted": false,

              "checkIpPort": false,

              "devIP": "192.168.100.86",

              "devPort": "5060",

              "devRealIP": "192.168.100.86",

              "devRealPort": "5060",

              "devRealVer": "",

              "streamType": "H5_CAS_STREAM_UDP",

              "enableAudio": false,

              "enabled": true,

              "online": false,

              "description": "GB Device1",

              "crt": "",

              "timeout": 7200,

              "autoReqCatalog": false,

              "centralRecord": false,

              "createdAt": "2024-08-26T14:31:09.685833+08:00",

              "updatedAt": "2024-08-26T14:31:09.688501+08:00"

           }

       ]


删除GB/T28181下级域

接口描述

删除GB/T28181下级域

使用说明

请求方法 | DELETE
请求URL | /api/v1/Cascade
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | string | 必须 | 下级域id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/Cascade

{

  "ids": [ 2]

}}

返回的参数

{

  "code": 0,

  "msg": "Success"


获取国网B服务配置

接口描述

获取国网B服务配置

使用说明

请求方法 | GET
请求URL | /api/v1/Cascade/GRCascadeConf
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 归属服务器

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
bEnable | bool | 开启
strGrID | string | 国网id
strRealm | string | 服务器域
strGrServerIpAddr | string | 国网服务器地址
nGrServerPort | int | 国网服务器端口
bTCP | bool | TCP
bUDP | bool | UDP
nPortRangeMin | int | 端口最小范围
nPortRangeMax | int | 端口最大范围

使用示例

GET http://192.168.100.127:8085/api/v1/Cascade/GRCascadeConf?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

返回的参数

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "bEnable": true,

  "strGrID": "010010000101000001",

  "strRealm": "grid.com",

  "strGrServerIpAddr": "192.168.100.145",

  "nGrServerPort": 5260,

  "bTCP": false,

  "bUDP": true,

  "nPortRangeMin": 57001,

  "nPortRangeMax": 57999


更新国网B服务配置

接口描述

更新国网B服务配置

使用说明

请求方法 | PUT
请求URL | /api/v1/Cascade/GRCascadeConf
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 归属服务器
bEnable | bool | 必须 | 开启
strGbID | string | 必须 | 国标id
strRealm | string | 必须 | 服务器域
strGbServerIpAddr | string | 必须 | 国标服务器地址
nGbServerPort | int | 必须 | 国标服务器端口
bTCP | bool | 必须 | TCP
bUDP | bool | 必须 | UDP
nPortRangeMin | int | 必须 | 端口最小范围
nPortRangeMax | int | 必须 | 端口最大范围

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Cascade/GBCascadeConf

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "bEnable": true,

  "strGrID": "010010000101000001",

  "strRealm": "grid.com",

  "strGrServerIpAddr": "192.168.100.145",

  "nGrServerPort": 5260,

  "bTCP": false,

  "bUDP": true,

  "nPortRangeMin": 57001,

  "nPortRangeMax": 57999

}

返回的参数

{

  "code": 0,

  "msg": "Success"


国网B下级域

国网B下级域数据格式

字段 | 数据类型 | 描述
grType | string | gr类型
grId | string | 国网ID
authType | string | 授权类型
grStreamType | string | 流媒体协议
devPartitionId | string | 设备分区id
name | string | 名称
sipUser | string | SIP用户
password | string | 密码
devIP | string | IP地址
devPort | string | 端口
enableAudio | bool | 开启音频
checkIpPort | bool | 检查IP端口
timeout | int | 超时时间
autoReqCatalog | bool | 自动请求目录
centralRecord | bool | 中心存储
description | string | 备注
enabled | bool | 开启


添加国网B下级域

接口描述

添加国网B下级域

使用说明

请求方法 | POST
请求URL | /api/v1/Cascade/Add/GR
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
grType | string | 必须 | 国网类型
grId | string | 必须 | 国网ID
authType | string | 必须 | 授权类型
grStreamType | string | 必须 | 流媒体协议
devPartitionId | string | 必须 | 设备分区id
name | string | 必须 | 名称
sipUser | string | 必须 | SIP用户
password | string | 必须 | 密码
devIP | string | 必须 | IP地址
devPort | string | 必须 | 端口
enableAudio | bool | 必须 | 开启音频
checkIpPort | bool | 必须 | 检查IP端口
timeout | int | 必须 | 超时时间
autoReqCatalog | bool | 必须 | 自动请求目录
centralRecord | bool | 必须 | 中心存储
description | string | 必须 | 备注
enabled | bool | 必须 | 开启

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Cascade/Add/GR

{

  "grType": "H5_CAS_GRID_2019",

  "grId": "010010000103010001",

  "authType": "H5_CAS_AUTH_DIGEST_MD5",

  "grStreamType": "H5_CAS_STREAM_UDP",

  "devPartitionId": 10000,

  "name": "STATE GRID Device1",

  "sipUser": "010010000103010001",

  "password": "admin12345",

  "devIP": "192.168.100.86",

  "devPort": "5060",

  "enableAudio": false,

  "checkIpPort": false,

  "timeout": 7200,

  "centralRecord":false,

  "description": "STATE GRID Device1",

  "enabled": true

}

返回的参数

{

  "code": 0,

  "msg": "Success"


更新国网B下级域

接口描述

更新国网B下级域

使用说明

请求方法 | PUT
请求URL | /api/v1/Cascade/GB/Update
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
devId | int | 必须 | 下级域id
grType | string | 必须 | 国网类型
grId | string | 必须 | 国网ID
authType | string | 必须 | 授权类型
grStreamType | string | 必须 | 流媒体协议
devPartitionId | string | 必须 | 设备分区id
name | string | 必须 | 名称
sipUser | string | 必须 | SIP用户
password | string | 必须 | 密码
devIP | string | 必须 | IP地址
devPort | string | 必须 | 端口
enableAudio | bool | 必须 | 开启音频
checkIpPort | bool | 必须 | 检查IP端口
timeout | int | 必须 | 超时时间
autoReqCatalog | bool | 必须 | 自动请求目录
centralRecord | bool | 必须 | 中心存储
description | string | 必须 | 备注
enabled | bool | 必须 | 开启

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Cascade/GB/Update

{

  "devId":2,

  "gbType": "H5_CAS_GBT_2016",

  "gbId": "31020000001320000181",

  "authType": "H5_CAS_AUTH_DIGEST_MD5",

  "gbStreamType": "H5_CAS_STREAM_UDP",

  "devPartitionId": 10000,

  "name": "GB Device3",

  "sipUser": "admin1",

  "password": "admin12345",

  "devIP": "192.168.100.86",

  "devPort": "5060",

  "enableAudio": false,

  "checkIpPort": false,

  "timeout": 7200,

  "autoReqCatalog":false,

  "centralRecord":false,

  "description": "GB Device 2",

  "enabled": true

}

返回的参数

{

  "code": 0,

  "msg": "Success"


删除国网B下级域

接口描述

删除国网B下级域

使用说明

请求方法 | DELETE
请求URL | /api/v1/Cascade
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | string | 必须 | 下级域id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/Cascade

{

  "ids": [ 2]

}}

返回的参数

{

  "code": 0,

  "msg": "Success"


获取国网B下级域列表

接口描述

获取国网B下级域列表

使用说明

请求方法 | GET
请求URL | /api/v1/Cascade/List/GR
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
pageSize | int | 可选 | 每页多少条数据 默认10条
pageIndex | int | 可选 | 第几页 默认第一页

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
pageSize | int | 每页多少条数据
pageIndex | int | 第几页
result | array | 参考国网下级域数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/Cascade/List/GB?pageSize=100

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "count": 1,

      "pageIndex": 1,

      "pageSize": 100,

      "list": [

           {

              "devId": 1,

              "devPartitionId": 10000,

              "token": "620d7f0c-a95b-46e6-99b9-22790f1e3a94",

              "nodeId": "",

              "name": "STATE GRID Device1",

              "casType": "H5_CAS_GRID_2019",

              "authType": "H5_CAS_AUTH_DIGEST_MD5",

              "grId": "010010000103010001",

              "sipUser": "admin1",

              "password": "admin12345",

              "passwordEncrypted": false,

              "checkIpPort": false,

              "devIP": "192.168.100.86",

              "devPort": "5060",

              "devRealIP": "192.168.100.86",

              "devRealPort": "5060",

              "devRealVer": "",

              "streamType": "H5_CAS_STREAM_UDP",

              "enableAudio": false,

              "enabled": true,

              "online": false,

              "description": "STATE GRID Device1",

              "crt": "",

              "timeout": 7200,

              "autoReqCatalog": false,

              "centralRecord": false

           }

       ]


获取DB33服务配置

接口描述

获取DB33服务配置

使用说明

请求方法 | GET
请求URL | /api/v1/Cascade/DB33CascadeConf
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 归属服务器

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
bEnable | bool | 开启
strGrID | string | D3id
strRealm | string | 服务器域
strGrServerIpAddr | string | D3服务器地址
nGrServerPort | int | D3服务器端口
bTCP | bool | TCP
bUDP | bool | UDP
nPortRangeMin | int | 端口最小范围
nPortRangeMax | int | 端口最大范围

使用示例

GET http://192.168.100.127:8085/api/v1/Cascade/GRCascadeConf?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "conf": {

          "bEnable": false,

          "strD3ID": "130101000020000199",

          "strRealm": "db33.com",

          "strD3ServerIpAddr": "192.168.100.103",

          "nD3ServerPort": 5360,

          "bTCP": false,

          "bUDP": true,

          "nPortRangeMin": 58000,

          "nPortRangeMax": 58999


更新DB33服务配置

接口描述

更新DB33服务配置

使用说明

请求方法 | PUT
请求URL | /api/v1/Cascade/DB33CascadeConf
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 归属服务器
bEnable | bool | 必须 | 开启
strD3ID | string | 必须 | 国网id
strRealm | string | 必须 | 服务器域
strD3ServerIpAddr | string | 必须 | 国网服务器地址
nD3ServerPort | int | 必须 | 国网服务器端口
bTCP | bool | 必须 | TCP
bUDP | bool | 必须 | UDP
nPortRangeMin | int | 必须 | 端口最小范围
nPortRangeMax | int | 必须 | 端口最大范围

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Cascade/DB33CascadeConf

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "bEnable": true,

  "strD3ID": "010010000101000001",

  "strRealm": "db33.com",

  "strD3ServerIpAddr": "192.168.100.145",

  "nD3ServerPort": 5260,

  "bTCP": false,

  "bUDP": true,

  "nPortRangeMin": 57001,

  "nPortRangeMax": 57999

}

返回的参数

{

  "code": 0,

  "msg": "Success"


DB33下级域

DB33下级域数据格式

字段 | 数据类型 | 描述
d3Type | string | d3类型
d3Id | string | d3ID
authType | string | 授权类型
d3StreamType | string | 流媒体协议
devPartitionId | string | 设备分区id
name | string | 名称
sipUser | string | SIP用户
password | string | 密码
devIP | string | IP地址
devPort | string | 端口
enableAudio | bool | 开启音频
checkIpPort | bool | 检查IP端口
timeout | int | 超时时间
autoReqCatalog | bool | 自动请求目录
centralRecord | bool | 中心存储
description | string | 备注
enabled | bool | 开启


添加DB33下级域

接口描述

添加下级域

使用说明

请求方法 | POST
请求URL | /api/v1/Cascade/Add/DB33
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
d3Type | string | 必须 | d3类型
d3rId | string | 必须 | d3ID
authType | string | 必须 | 授权类型
d3StreamType | string | 必须 | 流媒体协议
devPartitionId | string | 必须 | 设备分区id
name | string | 必须 | 名称
sipUser | string | 必须 | SIP用户
password | string | 必须 | 密码
devIP | string | 必须 | IP地址
devPort | string | 必须 | 端口
enableAudio | bool | 必须 | 开启音频
checkIpPort | bool | 必须 | 检查IP端口
timeout | int | 必须 | 超时时间
autoReqCatalog | bool | 必须 | 自动请求目录
centralRecord | bool | 必须 | 中心存储
description | string | 必须 | 备注
enabled | bool | 必须 | 开启

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Cascade/Add/DB33

{

  "d3Type": "H5_CAS_DB33_2011",

  "d3Id": "130101000020000099",

  "authType": "H5_CAS_AUTH_DIGEST_MD5",

  "d3StreamType": "H5_CAS_STREAM_UDP",

  "devPartitionId": 10000,

  "name": "DB33/T629 Device1",

  "sipUser": "130101000020000099",

  "password": "admin12345",

  "devIP": "192.168.100.86",

  "devPort": "5060",

  "enableAudio": false,

  "checkIpPort": false,

  "timeout": 7200,

  "centralRecord":false,

  "description": "DB33/T629 Device1",

  "enabled": true

}

返回的参数

{

  "code": 0,

  "msg": "Success"


更新DB33下级域

接口描述

更新DB33下级域

使用说明

请求方法 | PUT
请求URL | /api/v1/Cascade/DB33/Update
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | int | 必须 | 下级域id
d3Type | string | 必须 | d3类型
d3Id | string | 必须 | d3ID
authType | string | 必须 | 授权类型
d3StreamType | string | 必须 | 流媒体协议
devPartitionId | string | 必须 | 设备分区id
name | string | 必须 | 名称
sipUser | string | 必须 | SIP用户
password | string | 必须 | 密码
devIP | string | 必须 | IP地址
devPort | string | 必须 | 端口
enableAudio | bool | 必须 | 开启音频
checkIpPort | bool | 必须 | 检查IP端口
timeout | int | 必须 | 超时时间
autoReqCatalog | bool | 必须 | 自动请求目录
centralRecord | bool | 必须 | 中心存储
description | string | 必须 | 备注
enabled | bool | 必须 | 开启

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Cascade/GB/Update

{

  "devId":1,

  "d3Type": "H5_CAS_DB33_2011",

  "d3Id": "130101000020000299",

  "authType": "H5_CAS_AUTH_DIGEST_MD5",

  "d3StreamType": "H5_CAS_STREAM_UDP",

  "devPartitionId": 10000,

  "name": "DB33/T629 Device1",

  "sipUser": "130101000020000199",

  "password": "admin12345",

  "devIP": "192.168.100.86",

  "devPort": "5060",

  "enableAudio": false,

  "checkIpPort": false,

  "timeout": 7200,

  "centralRecord":false,

  "description": "DB33/T629 Device1",

  "enabled": true

}

返回的参数

{

  "code": 0,

  "msg": "Success"


删除DB33下级域

接口描述

删除DB33下级域

使用说明

请求方法 | DELETE
请求URL | /api/v1/Cascade
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | string | 必须 | 下级域id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/Cascade

{

  "ids": [ 2]

}}

返回的参数

{

  "code": 0,

  "msg": "Success"


获取DB33下级域列表

接口描述

获取DB33下级域列表

使用说明

请求方法 | GET
请求URL | /api/v1/Cascade/List/DB33
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
pageSize | int | 可选 | 每页多少条数据 默认10条
pageIndex | int | 可选 | 第几页 默认第一页

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
pageSize | int | 每页多少条数据
pageIndex | int | 第几页
result | array | 参考DB33下级域数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/Cascade/List/GB?pageSize=100

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "count": 1,

      "pageIndex": 1,

      "pageSize": 100,

      "list": [

           {

              "devId": 1,

              "devPartitionId": 10000,

              "token": "620d7f0c-a95b-46e6-99b9-22790f1e3a94",

              "nodeId": "",

              "name": "STATE GRID Device1",

              "casType": "H5_CAS_GRID_2019",

              "authType": "H5_CAS_AUTH_DIGEST_MD5",

              "grId": "010010000103010001",

              "sipUser": "admin1",

              "password": "admin12345",

              "passwordEncrypted": false,

              "checkIpPort": false,

              "devIP": "192.168.100.86",

              "devPort": "5060",

              "devRealIP": "192.168.100.86",

              "devRealPort": "5060",

              "devRealVer": "",

              "streamType": "H5_CAS_STREAM_UDP",

              "enableAudio": false,

              "enabled": true,

              "online": false,

              "description": "STATE GRID Device1",

              "crt": "",

              "timeout": 7200,

              "autoReqCatalog": false,

              "centralRecord": false

           }

       ]


级联分区移动位置

接口描述

级联分区移动位置

使用说明

请求方法 | PUT
请求URL | /api/v1/Cascade/CasPartition/Move
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
origCasPartitionId | int | 必须 | 移动的级联分区id
toCasPartitionId | int | 必须 | 移动的级联分区id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Cascade/CasPartition/Move?origDevPartitionId=10002&toDevPartitionId=10004

返回的参数

{

  "code": 0,

  "msg": "Success",


获取运行模式

接口描述

获取运行模式

使用说明

请求方法 | GET
请求URL | /api/v1/Cluster/GetServerMode
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器ID

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
nServerMode | string | 运行模式

使用示例

GET http://192.168.100.127:8085/api/v1/Cluster/GetServerMode?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "nServerMode": "USC_SERVER_MAIN"


获取热备模式

接口描述

获取热备模式

使用说明

请求方法 | PUT
请求URL | /api/v1/Cluster/GetSubStandbyMode
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器ID

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
bSubStandbyMode | string | 开启热备模式

使用示例

PUT http://192.168.100.127:8085/api/v1/Cluster/GetSubStandbyMode?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "bSubStandbyMode": "false"


获取服务器信息

接口描述

获取服务器信息

使用说明

请求方法 | GET
请求URL | /api/v1/Cluster/GetServerConf
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器ID

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
strNodeName | string | 服务器名字
strServerIP | string | 服务器ip

使用示例

GET http://192.168.100.127:8085/api/v1/Cluster/GetServerConf?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "strNodeName": "Server1",

      "strServerIP": "0.0.0.0"


获取服务器配置

接口描述

获取服务器配置

使用说明

请求方法 | GET
请求URL | /api/v1/Cluster/GetMainSecondaryConf
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器ID

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
strMainIP | string | 主服务器ip
bHasSecondary1 | bool | 是否启用备用服务器1
strSecondary1IP | string | 备用服务器1ip
bHasSecondary2 | bool | 是否启用备用服务器2
strSecondary2IP | string | 备用服务器1ip

使用示例

GET http://192.168.100.127:8085/api/v1/Cluster/GetMainSecondaryConf?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "strMainIP": "192.168.100.100",

      "bHasSecondary1": false,

      "strSecondary1IP": "192.168.100.101",

      "bHasSecondary2": false,

      "strSecondary2IP": "192.168.100.102"


更新运行模式

接口描述

更新运行模式

使用说明

请求方法 | PUT
请求URL | /api/v1/Cluster/UpdateServerMode
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器ID
nServerMode | string | 必须 | 运行模式

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Cluster/UpdateServerMode

{

  "nodeId":"e09422f7-813e-4483-a551-3ee81a944ae9",

  "nServerMode": "USC_SERVER_MAIN"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


更新热备模式

接口描述

更新热备模式

使用说明

请求方法 | PUT
请求URL | /api/v1/Cluster/UpdateSubStandbyMode
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器ID
bSubStandbyMode | bool | 必须 | 是否开启热备模式

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Cluster/UpdateSubStandbyMode?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

{

  "nodeId":"e09422f7-813e-4483-a551-3ee81a944ae9",

  "bSubStandbyMode": true

}

返回的参数

{

  "code": 0,

  "msg": "Success"


更新服务器信息

接口描述

更新服务器信息

使用说明

请求方法 | PUT
请求URL | /api/v1/Cluster/UpdateServerConf
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器ID
strServerIP | string | 必须 | 服务器ip
strNodeName | string | 必须 | 服务器名字

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Cluster/UpdateServerConf?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

{

  "nodeId":"e09422f7-813e-4483-a551-3ee81a944ae9",

  "strNodeName": "server127",

   "strServerIP": "10.192.1.127"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


更新服务器配置

接口描述

更新服务器配置

使用说明

请求方法 | PUT
请求URL | /api/v1/Cluster/UpdateMainSecondaryConf
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器ID
strMainIP | string | 必须 | 主服务器ip
bHasSecondary1 | bool | 必须 | 是否启用备用服务器1
strSecondary1IP | string | 必须 | 备用服务器1ip
bHasSecondary2 | bool | 必须 | 是否启用备用服务器2
strSecondary2IP | string | 必须 | 备用服务器1ip

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Cluster/UpdateMainSecondaryConf?nodeId=e09422f7-813e-4483-a551-3ee81a944ae9

{

  "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

  "strMainIP": "192.168.100.100",

  "bHasSecondary1": false,

  "strSecondary1IP": "192.168.100.110",

  "bHasSecondary2": false,

  "strSecondary2IP": "192.168.100.102"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


获取服务器列表

接口描述

获取服务器列表

使用说明

请求方法 | GET
请求URL | /api/v1/WorkServer/List
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
pageSize | int | 每页多少条数据
pageIndex | int | 第几页
nodeId | string | 服务器id
nodeType | string | 服务器类型
nodeName | string | 服务器名字

使用示例

GET http://192.168.100.127:8085/api/v1/WorkServer/List

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "count": 1,

      "pageIndex": 1,

      "pageSize": 10,

      "list": [

           {

              "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

              "nodeType": "main",

              "nodeName": "Server1"

           }

       ]


获取服务器设备信息总和

接口描述

获取服务器设备信息总和

使用说明

请求方法 | GET
请求URL | /api/v1/GetDeviceSummary
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
nCameraTotal | int | 设备总数
nCameraOnline | int | 在线个数
nHikDevTotal | int | 海康SDK总数
nHikDevOnline | int | 海康SDK在线个数
nDhDevTotal | int | 大华SDK总数
nDhDevOnline | int | 大华SDK在线个数
nHikIscDevTotal | int | 海康ISC总数
nHikIscDevOnline | int | 海康ISC在线个数
nTdDevTotal | int | 天地SDK总数
nTdDevOnline | int | 天地SDK在线个数
nGbDevTotal | int | 国标总数
nGbDevOnline | int | 国标在线个数
nUnvDevTotal | int | 宇视总数
nUnvDevOnline | int | 宇视在线个数
nDssDevTotal | int | 大华DSS总数
nDssDevOnline | int | 大华DSS在线个数
nIvsDevTotal | int | IVS总数
nIvsDevOnline | int | IVS在线个数
nHikINFOVTotal | int | 海康INFOV总数
nHikINFOVOnline | int | 海康INFOV在线个数
nRTSPRTMPTotal | int | RTSP/RTMP总数
nRTSPRTMPOnline | int | RTSP/RTMP在线个数
nONVIFTotal | int | ONVIF总数
nONVIFOnline | int | ONVIF在线个数
nRTMPPushTotal | int | RTMPpush总数
nRTMPPushOnline | int | RTMPPush在线个数

使用示例

GET http://192.168.100.127:8085/api/v1/WorkServer/List

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "nCameraTotal": 0,

      "nCameraOnline": 0,

      "nHikDevTotal": 0,

      "nHikDevOnline": 0,

      "nDhDevTotal": 0,

      "nDhDevOnline": 0,

      "nHikIscDevTotal": 0,

      "nHikIscDevOnline": 0,

      "nTdDevTotal": 0,

      "nTdDevOnline": 0,

      "nGbDevTotal": 0,

      "nGbDevOnline": 0,

      "nUnvDevTotal": 0,

      "nUnvDevOnline": 0,

      "nDssDevTotal": 0,

      "nDssDevOnline": 0,

      "nIvsDevTotal": 0,

      "nIvsDevOnline": 0,

      "nHikINFOVTotal": 0,

      "nHikINFOVOnline": 0,

      "nRTSPRTMPTotal": 0,

      "nRTSPRTMPOnline": 0,

      "nONVIFTotal": 0,

      "nONVIFOnline": 0,

      "nRTMPPushTotal": 0,

      "nRTMPPushOnline": 0


获取服务器设备信息列表

接口描述

获取服务器设备信息列表

使用说明

请求方法 | GET
请求URL | /api/v1/GetServerDevice
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
nodeid | string | 服务器id
nCameraTotal | int | 设备总数
nCameraOnline | int | 在线个数
nHikDevTotal | int | 海康SDK总数
nHikDevOnline | int | 海康SDK在线个数
nDhDevTotal | int | 大华SDK总数
nDhDevOnline | int | 大华SDK在线个数
nHikIscDevTotal | int | 海康ISC总数
nHikIscDevOnline | int | 海康ISC在线个数
nTdDevTotal | int | 天地SDK总数
nTdDevOnline | int | 天地SDK在线个数
nGbDevTotal | int | 国标总数
nGbDevOnline | int | 国标在线个数
nUnvDevTotal | int | 宇视总数
nUnvDevOnline | int | 宇视在线个数
nDssDevTotal | int | 大华DSS总数
nDssDevOnline | int | 大华DSS在线个数
nIvsDevTotal | int | IVS总数
nIvsDevOnline | int | IVS在线个数
nHikINFOVTotal | int | 海康INFOV总数
nHikINFOVOnline | int | 海康INFOV在线个数
nRTSPRTMPTotal | int | RTSP/RTMP总数
nRTSPRTMPOnline | int | RTSP/RTMP在线个数
nONVIFTotal | int | ONVIF总数
nONVIFOnline | int | ONVIF在线个数
nRTMPPushTotal | int | RTMPpush总数
nRTMPPushOnline | int | RTMPPush在线个数

使用示例

GET http://192.168.100.127:8085/api/v1/WorkServer/List

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": [

       {

          "nodeId": "e09422f7-813e-4483-a551-3ee81a944ae9",

          "nCameraTotal": 0,

          "nCameraOnline": 0,

          "nHikDevTotal": 0,

          "nHikDevOnline": 0,

          "nDhDevTotal": 0,

          "nDhDevOnline": 0,

          "nHikIscDevTotal": 0,

          "nHikIscDevOnline": 0,

          "nTdDevTotal": 0,

          "nTdDevOnline": 0,

          "nGbDevTotal": 0,

          "nGbDevOnline": 0,

          "nUnvDevTotal": 0,

          "nUnvDevOnline": 0,

          "nDssDevTotal": 0,

          "nDssDevOnline": 0,

          "nIvsDevTotal": 0,

          "nIvsDevOnline": 0,

          "nHikINFOVTotal": 0,

          "nHikINFOVOnline": 0,

          "nRTSPRTMPTotal": 0,

          "nRTSPRTMPOnline": 0,

          "nONVIFTotal": 0,

          "nONVIFOnline": 0,

          "nRTMPPushTotal": 0,

          "nRTMPPushOnline": 0

       }

   ]


获取服务器运行信息

接口描述

获取服务器运行信息

使用说明

请求方法 | GET
请求URL | /api/v1/GetRunInfo
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id

响应参数

字段 | 数据类型 | 描述
strRunTime | string | 运行时长
strCPU | string | CPU使用率
strMemory | string | 服务器id
strNetworkIn | string | 网络进流量
strNetworkOut | string | 网络出流量
strTotalSpace | string | 磁盘总空间
strFreeSpace | string | 剩余空间
strRecordTotalSpace | string | 内部字段
strRecordFreeSpace | string | 内部字段
nRunTimeSec | string | 内部字段
nCPUUsage | string | 内部字段
nMemoryUsage | string | 内部字段
nTotalMemoryByte | string | 内部字段

使用示例

GET http://192.168.100.127:8085/api/v1/WorkServer/List

返回的参数

{

  "strRunTime": "3H 31MIN",

  "strCPU": "8%",

  "strMemory": "73%",

  "strNetworkIn": "2Kbps",

  "strNetworkOut": "0Kbps",

  "strTotalSpace": "375Gbytes",

  "strFreeSpace": "111Gbytes",

  "strRecordTotalSpace": "375Gbytes",

  "strRecordFreeSpace": "111Gbytes",

  "nRunTimeSec": "12715",

  "nCPUUsage": "8",

  "nMemoryUsage": "73",

  "nTotalMemoryByte": "16867512320",

  "nNetworkInK": "2",

  "nNetworkOutK": "0",

  "nTotalSpaceByte": "403291762688",

  "nFreeSpaceByte": "119198154752",

  "nRecordTotalSpaceByte": "403291762688",

  "nRecordFreeSpaceByte": "119198154752"


获取编解码信息

接口描述

获取编解码信息

使用说明

请求方法 | GET
请求URL | /api/v1/GetCodecInfo
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
nodeId | string | 必须 | 服务器id

响应参数

字段 | 数据类型 | 描述
strCPUModel | string | CPU型号
nCPU | string | CPU路数
nCPUCore | string | CPU核数
strHWEncoders | string | GPU编码器
strHWDecoders | string | GPU解码器
strSWEncoders | string | 软件编码器
strSWDecoders | string | 软件解码器

使用示例

GET http://192.168.100.127:8085/api/v1/WorkServer/List

返回的参数

{

  "strRunTime": "3H 31MIN",

  "strCPU": "8%",

  "strMemory": "73%",

  "strNetworkIn": "2Kbps",

  "strNetworkOut": "0Kbps",

  "strTotalSpace": "375Gbytes",

  "strFreeSpace": "111Gbytes",

  "strRecordTotalSpace": "375Gbytes",

  "strRecordFreeSpace": "111Gbytes",

  "nRunTimeSec": "12715",

  "nCPUUsage": "8",

  "nMemoryUsage": "73",

  "nTotalMemoryByte": "16867512320",

  "nNetworkInK": "2",

  "nNetworkOutK": "0",

  "nTotalSpaceByte": "403291762688",

  "nFreeSpaceByte": "119198154752",

  "nRecordTotalSpaceByte": "403291762688",

  "nRecordFreeSpaceByte": "119198154752"


地图(Map)

地图数据格式

字段 | 数据类型 | 描述
type | string | 地图类型 USC_MAP_STATIC（静态地图）、USC_MAP_TILE （切片地图）、USC_MAP_GAO_DE（高德地图）、USC_MAP_GOOGLE（Google地图）、USC_MAP_TIAN（天地图）
devPartitionId | int | 设备分区id
center | array | 地图中心点
zoom | int | 地图zoom
minZoom | int | 最小zoom
maxZoom | int | 最大zoom
mapName | int | 地图名字
description | int | 地图描述
mapUrl | int | 地图地址
mapUrl2 | int | 地图地址2
imgBase64 | string | 静态地图图片的base64码
mapView | array | 参考地图视图
mapElementLink | array | 参考地图链接
mapElementChannel | array | 参考地图视频通道
mapElementDoor | array | 参考地图门


获取地图列表

接口描述

获取地图列表

使用说明

请求方法 | GET
请求URL | /api/v1/Map/List
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | array | 参考地图数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/Map/List

返回的参数

{

   "code": 0,

  "msg": "Success",

  "result": [

       {

          "mapId": 2,

          "type": "USC_MAP_GAO_DE",

          "uuid": "0509cc43-8b19-463b-8ee5-d8b54792c9f7",

          "devPartitionId": 10000,

          "extent": null,

          "center": [

              121,

              31

           ],

          "zoom": 14,

          "minZoom": 7,

          "maxZoom": 18,

          "mapName": "高德",

          "mapUrl": "http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}",

          "mapUrl2": "",

          "projection": "EPSG:3857",

          "description": "Map1 Description",

          "mapView": null,

          "mapElementLink": null,

          "mapElementChannel": null,

          "mapElementDoor": null,

          "createdAt": "2024-09-09T15:19:29.519365+08:00",

          "updatedAt": "2024-09-09T15:20:59.291301+08:00"

       }

   ]


获取地图信息

接口描述

获取地图信息

使用说明

请求方法 | GET
请求URL | /api/v1/Map//$1
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
result | array | 参考地图数据格式

使用示例

GET http://192.168.100.127:8085/api/v1/Map/2

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

          "mapId": 2,

          "type": "USC_MAP_GAO_DE",

          "uuid": "0509cc43-8b19-463b-8ee5-d8b54792c9f7",

          "devPartitionId": 10000,

          "extent": null,

          "center": [

              121,

              31

          ],

          "zoom": 14,

          "minZoom": 7,

          "maxZoom": 18,

          "mapName": "高德",

          "mapUrl": "http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}",

          "mapUrl2": "",

          "projection": "EPSG:3857",

          "description": "Map1 Description",

          "mapView": null,

          "mapElementLink": null,

          "mapElementChannel": null,

          "mapElementDoor": null,

          "createdAt": "2024-09-09T15:19:29.519365+08:00",

          "updatedAt": "2024-09-09T15:20:59.291301+08:00"


添加静态地图

接口描述

添加静态地图

使用说明

请求方法 | POST
请求URL | /api/v1/Map/Static
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
type | string | 必须 | 地图类型 USC_MAP_STATIC（静态地图）、USC_MAP_TILE （切片地图）、USC_MAP_GAO_DE（高德地图）、USC_MAP_GOOGLE（Google地图）、USC_MAP_TIAN（天地图）
devPartitionId | int | 必须 | 设备分区id
center | array | 必须 | 地图中心点
zoom | int | 必须 | 地图zoom
minZoom | int | 必须 | 最小zoom
maxZoom | int | 必须 | 最大zoom
mapName | int | 必须 | 地图名字
description | int | 可选 | 地图描述
imgBase64 | string | 必须 | 静态地图图片的base64码

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Map/Static

{

  "type": "USC_MAP_STATIC",

  "devPartitionId": 10000,

  "zoom": 7,

  "minZoom": 7,

  "maxZoom": 18,

  "mapName": "map2",

  "description": "",

  "imgBase64": "data:image/......"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加切片地图

接口描述

添加切片地图

使用说明

请求方法 | POST
请求URL | /api/v1/Map/Tile
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
type | string | 必须 | 地图类型 USC_MAP_STATIC（静态地图）、USC_MAP_TILE （切片地图）、USC_MAP_GAO_DE（高德地图）、USC_MAP_GOOGLE（Google地图）、USC_MAP_TIAN（天地图）
devPartitionId | int | 必须 | 设备分区id
center | array | 必须 | 地图中心点
zoom | int | 必须 | 地图zoom
minZoom | int | 必须 | 最小zoom
maxZoom | int | 必须 | 最大zoom
mapName | int | 必须 | 地图名字
description | int | 可选 | 地图描述
mapUrl | string | 必须 | 地图地址

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Map/Tile

{

  "type": "USC_MAP_TILE",

  "devPartitionId": 10000,

  "center": [121, 31],

  "zoom": 10,

  "minZoom":7,

  "maxZoom":18,

  "mapName": "上海",

  "description": "",

  "mapUrl":"http://localhost:8080/mediastore/map/pujiang/{z}/{x}/{y}.png"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加GIS地图

接口描述

添加GIS地图

使用说明

请求方法 | POST
请求URL | /api/v1/Map/GIS
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
type | string | 必须 | 地图类型 USC_MAP_STATIC（静态地图）、USC_MAP_TILE （切片地图）、USC_MAP_GAO_DE（高德地图）、USC_MAP_GOOGLE（Google地图）、USC_MAP_TIAN（天地图）
devPartitionId | int | 必须 | 设备分区id
center | array | 必须 | 地图中心点
zoom | int | 必须 | 地图zoom
minZoom | int | 必须 | 最小zoom
maxZoom | int | 必须 | 最大zoom
mapName | int | 必须 | 地图名字
description | int | 可选 | 地图描述
mapUrl | string | 必须 | 地图地址
mapUrl2 | string | 可选 | 地图地址2

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Map/GIS

{

  "type": "USC_MAP_GAO_DE",

  "devPartitionId": 10000,

  "center": [121.31542, 31],

  "zoom": 10,

  "minZoom":7,

  "maxZoom":18,

  "mapName": "高德",

  "description": "",

  "mapUrl":"http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}",

  "mapUrl2":""

}返回的参数

{

  "code": 0,

  "msg": "Success"


更新地图

接口描述

更新地图

使用说明

请求方法 | PUT
请求URL | /api/v1/Map
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
mapId | int | 必须 | 地图id
devPartitionId | int | 必须 | 服务器id
mapName | int | 必须 | 地图名字
zoom | int | 必须 | 地图zoom
minZoom | int | 必须 | 最小zoom
maxZoom | int | 必须 | 最大zoom
mapUrl | string | 必须 | 地图地址
mapUrl2 | string | 可选 | 地图地址2

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Map

{

  "mapId":1,

  "devPartitionId":10001,

  "mapName":"map1",

  "zoom":8,

  "minZoom":8,

  "maxZoom":18，

  "mapUrl":"http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}",

}

返回的参数

{

  "code": 0,

  "msg": "Success"


更新静态地图

接口描述

更新静态地图

使用说明

请求方法 | PUT
请求URL | /api/v1/Map/Static
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
mapId | int | 必须 | 地图id
devPartitionId | int | 必须 | 服务器id
mapName | int | 必须 | 地图名字
zoom | int | 必须 | 地图zoom
minZoom | int | 必须 | 最小zoom
maxZoom | int | 必须 | 最大zoom
imgBase64 | string | 必须 | 静态地图图片的base64码

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Map/Static

{

  "mapId":1,

  "devPartitionId":10001,

  "mapName":"map1",

  "zoom":8,

  "minZoom":8,

  "maxZoom":18，

  "imgBase64": "data:image/png;...."

}

返回的参数

{

  "code": 0,

  "msg": "Success"


删除地图

接口描述

删除地图

使用说明

请求方法 | DELETE
请求URL | /api/v1/Map
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 地图的id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/Map

{

  "ids":[4]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加地图连接

接口描述

在地图上添加地图连接

使用说明

请求方法 | POST
请求URL | /api/v1/Map/ElementLink
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
mapId | int | 必须 | 地图id
mapLinkId | int | 必须 | 连接的地图id
resName | int | 必须 | 名字
longitude | int | 必须 | 在地图上的坐标或者经度
latitude | int | 必须 | 在地图上的坐标或者维度

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Map/ElementLink

{

  "id":1,

  "mapLinkId": 2,

  "resName": "连接1",

  "longitude": 20000,

  "latitude": 20000

}

返回的参数

{

  "code": 0,

  "msg": "Success"


更新地图连接

接口描述

更新地图上地图连接

使用说明

请求方法 | PUT
请求URL | /api/v1/Map/ElementLink
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
id | int | 必须 | 编号
mapLinkId | int | 必须 | 连接的地图id
resName | int | 必须 | 名字
longitude | int | 必须 | 在地图上的坐标或者经度
latitude | int | 必须 | 在地图上的坐标或者维度

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Map/ElementLink

{

  "id":1,

  "mapLinkId": 2,

  "resName": "连接1",

  "longitude": 20000,

  "latitude": 20000

}

返回的参数

{

  "code": 0,

  "msg": "Success"


删除地图连接

接口描述

删除地图上的连接地图

使用说明

请求方法 | DELETE
请求URL | /api/v1/Map/ElementLink
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 编号id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/Map/ElementLink

{

  "ids":[4]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加通道

接口描述

在地图上添加视频通道

使用说明

请求方法 | POST
请求URL | /api/v1/Map/Cam/Channel
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
mapId | int | 必须 | 地图id
channelUUID | string | 必须 | 视频通道uuid
longitude | int | 必须 | 在地图上的坐标或者经度
latitude | int | 必须 | 在地图上的坐标或者维度
radius | int | 必须 | 半径
angle | int | 必须 | 视野
rotationAngle | int | 必须 | 角度
fillCollor | string | 可选 | 填充颜色

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Map/Cam/Channel

{

  "mapId": 4,

  "channelUUID": "030a5222-7463-4d96-9053-920177a02b04",

  "longitude": 20000,

  "latitude": 15000,

  "radius":15,

  "angle":90,

  "rotationAngle":30,

  "fillCollor":"USC_CAM_COLOR_DEFAULT"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


更新通道

接口描述

更新地图上视频通道

使用说明

请求方法 | PUT
请求URL | /api/v1/Map/Cam/Channel
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
id | int | 必须 | 编号
channelUUID | string | 必须 | 视频通道uuid
longitude | int | 必须 | 在地图上的坐标或者经度
latitude | int | 必须 | 在地图上的坐标或者维度
radius | int | 必须 | 半径
angle | int | 必须 | 视野
rotationAngle | int | 必须 | 角度
fillCollor | string | 可选 | 填充颜色

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Map/Cam/Channel

{

  "mapId": 4,

  "channelUUID": "030a5222-7463-4d96-9053-920177a02b04",

  "longitude": 20000,

  "latitude": 15000,

  "radius":15,

  "angle":90,

  "rotationAngle":30,

  "fillCollor":"USC_CAM_COLOR_DEFAULT"

}

返回的参数

{

  "code": 0,

  "msg": "Success"


删除地图通道

接口描述

删除地图上的视频通道

使用说明

请求方法 | DELETE
请求URL | /api/v1/Map/Cam/Channel
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 编号id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/Map/Cam/Channel

{

  "ids":[4]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


更新视图

接口描述

更新地图上视图

使用说明

请求方法 | PUT
请求URL | /api/v1/Map/View
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
id | int | 必须 | 编号
longitude | int | 必须 | 在地图上的坐标或者经度
latitude | int | 必须 | 在地图上的坐标或者维度

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Map/View

{

  "id":1,

  "longitude": 45454444444,

  "latitude": 48749454654

}

返回的参数

{

  "code": 0,

  "msg": "Success"


地图添加视图

接口描述

在地图上添加视图

使用说明

请求方法 | POST
请求URL | /api/v1/Map/View
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
id | int | 必须 | 编号
viewUUID | string | 必须 | 视图uuid
longitude | int | 必须 | 在地图上的坐标或者经度
latitude | int | 必须 | 在地图上的坐标或者维度

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Map/View

{

  "mapId":5,

  "viewUUID": "a3fd9448-4a23-4b5b-bf6c-94997a3aa4e4",

  "longitude": 20000

  "latitude": 15000

}

返回的参数

{

  "code": 0,

  "msg": "Success"


地图删除视图

接口描述

删除地图上的视图

使用说明

请求方法 | DELETE
请求URL | /api/v1/Map/View
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
id | int | 必须 | 编号

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/Map/View

{

  "ids":[4],

}

返回的参数

{

  "code": 0,

  "msg": "Success"


添加门

接口描述

在地图上添加门

使用说明

请求方法 | POST
请求URL | /api/v1/Map/Door
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
id | int | 必须 | 编号
doorUUID | string | 必须 | 门uuid
longitude | int | 必须 | 在地图上的坐标或者经度
latitude | int | 必须 | 在地图上的坐标或者维度

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Map/View

{

  "mapId": 5,

  "doorUUID": "a3fd9448-4a23-4b5b-bf6c-94997a3aa4e4",

  "longitude": 20000,

  "latitude": 15000

}

返回的参数

{

  "code": 0,

  "msg": "Success"


更新门

接口描述

更新地图上门

使用说明

请求方法 | PUT
请求URL | /api/v1/Map/Door
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
id | int | 必须 | 编号
longitude | int | 必须 | 在地图上的坐标或者经度
latitude | int | 必须 | 在地图上的坐标或者维度

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/Map/Door

{

  "id":1,

  "longitude": 45454444444,

  "latitude": 48749454654

}

返回的参数

{

  "code": 0,

  "msg": "Success"


删除门

接口描述

删除地图上的门

使用说明

请求方法 | DELETE
请求URL | /api/v1/Map/Door
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 编号id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/Map/Door

{

  "ids":[4]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


获取自定义布局

接口描述

获取自定义布局

使用说明

请求方法 | GET
请求URL | /api/v1/Layout
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

GET http://192.168.100.127:8085/api/v1/Layout

返回的参数

[

       {

          "layoutId": 1,

          "UUID": "1c064e6e-4c5d-49e2-8b73-50c0385bd8ac",

          "layoutIcon": "",

          "layoutName": "1",

          "layoutType": "1|1",

          "setting": {

              "layoutView": [

                   {

                      "position": "1-1",

                      "rowStart": 1,

                      "rowEnd": 2,

                      "colStart": 1,

                      "colEnd": 2,

                      "merged": true

                   }

               ]

           },

          "createdAt": "2024-09-09T10:55:42.11767+08:00",

          "updatedAt": "2024-09-09T10:55:42.11767+08:00"

       },

      ...


添加自定义布局

接口描述

添加自定义布局

使用说明

请求方法 | POST
请求URL | /api/v1/Layout
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
layoutName | int | 必须 | 自定义布局名称
layoutIcon | string | 必须 | 自定义布局icon
layoutType | int | 必须 | 自定义布局分类
setting | objece | 必须 | 内部字段

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/Layout

{

  "layoutName": "layout1",

  "layoutIcon": "layout1",

  "layoutType": "2|2",

  "setting": {

      "layoutView": [

           {

              "position": "1-1",

              "rowStart": 1,

              "rowEnd": 3,

              "colStart": 1,

              "colEnd": 2,

              "merged": true

           },

           {

              "position": "1-1",

              "rowStart": 1,

              "rowEnd": 3,

              "colStart": 2,

              "colEnd": 3,

              "merged": true

           }

       ]

   }

}

返回的参数

{

  "code": 0,

  "msg": "Success"


删除自定义布局

接口描述

删除自定义布局

使用说明

请求方法 | DELETE
请求URL | /api/v1/Layout
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 自定义布局id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/Layout

{

  "ids":[4]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


获取视图

接口描述

获取视图

使用说明

请求方法 | GET
请求URL | /api/v1/View/&1
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
viewId | int | 视图id
uuid | string | 视图uuid
parentId | int | 上级视图id
devPartitionId | int | 设备分区id
viewType | stirng | 视图类型
userName | string | 用户名
viewName | string | 视图名称
layoutId | int | 自定义布局id
layout | object | 自定义布局内容
viewEntity | array | 每个宫格的属性

使用示例

GET http://192.168.100.127:8085/api/v1/View

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": {

      "viewId": 1,

      "uuid": "29cd10e3-6aef-419e-87be-2704a3c091bd",

      "parentId": 0,

      "devPartitionId": 10000,

      "viewType": "USC_VIEW_PUBLIC",

      "userName": "admin",

      "viewName": "view1",

      "layoutId": 7,

      "layout": {

          "layoutId": 7,

          "UUID": "fb84ba97-1752-47f1-9163-4845236626ef",

          "layoutIcon": "",

          "layoutName": "4",

          "layoutType": "2|2",

          "setting": {

              "layoutView": [

                   {

                      "position": "1-1",

                      "rowStart": 1,

                      "rowEnd": 2,

                      "colStart": 1,

                      "colEnd": 2,

                      "merged": false

                   },

                   {

                      "position": "1-2",

                      "rowStart": 1,

                      "rowEnd": 2,

                      "colStart": 2,

                      "colEnd": 3,

                      "merged": false

                   },

                .....

       },

      "viewEntity": [

           {

              "viewEntityId": 1,

              "viewId": 1,

              "uuid": "00000000-0000-0000-0000-000000000000",

              "entityType": "USC_VIEW_MAP",

              "layoutPosition": "h1-1",

              "resourceUUID": "db8fca28-3cd5-4e60-9e4a-8d69ddfb9bd0",

              "profile": "",

             "Map": {

                  "mapId": 3,

                  "type": "USC_MAP_TILE",

                  "uuid": "db8fca28-3cd5-4e60-9e4a-8d69ddfb9bd0",

                  "devPartitionId": 10000,

                  "extent": null,

                  "center": [

                      121,

                      31

                   ],

                  "zoom": 14,

                  "minZoom": 7,

                  "maxZoom": 18,

                  "mapName": "天地图",

                  "mapUrl": "http://t1.tianditu.gov.cn/vec_c/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=52c8ce2d4d1701548ee57db026b301ea",

                  "mapUrl2": "",

                  "projection": "EPSG:4326",

                  "description": "Map1 Description",

                  "mapView": null,

                  "mapElementLink": null,

                  "mapElementChannel": null,

                  "mapElementDoor": null,

                  "createdAt": "2024-09-09T15:20:27.340996+08:00",

                  "updatedAt": "2024-09-09T16:30:15.057014+08:00"

               }

           },

           ...


添加视图

接口描述

添加视图

使用说明

请求方法 | POST
请求URL | /api/v1/View
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
devPartitionId | int | 必须 | 设备分区id
viewType | string | 必须 | 视图类型 USC_VIEW_PRIVATE（私有的）、USC_VIEW_PUBLIC（公共的）
viewName | string | 必须 | 视图名称
layoutId | objece | 必须 | 自定义布局id
viewEntity | array | 必须 | 参考viewEntity参数说明

viewEntity参数说明

字段 | 数据类型 | 参数要求 | 描述
entityType | string | 必须 | USC_VIEW_CAMERA(通道)、USC_VIEW_MAP(地图)
layoutPosition | string | 必须 | 在自定义布局那个格子
resourceUUID | int | 必须 | 地图或者通道的uuid
profile | String | 可选 | 主辅码流

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/View

{

  "devPartitionId":10000,

  "viewType":"USC_VIEW_PRIVATE",

  "viewName":"view1",

  "layoutId":10,

  "viewEntity":[{

      "entityType":"USC_VIEW_CAMERA",

    "layoutPosition":"2-2",

      "resourceUUID":"5dd00d23-b479-4f86-a800-eba9a2c24bd9",

      "profile":"main"

  }]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


修改视图

接口描述

修改视图

使用说明

请求方法 | PUT
请求URL | /api/v1/View
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
viewId | int | 必须 | 视图id
devPartitionId | int | 必须 | 设备分区id
viewType | string | 必须 | 视图类型 USC_VIEW_PRIVATE（私有的）、USC_VIEW_PUBLIC（公共的）
viewName | string | 必须 | 视图名称
layoutId | objece | 必须 | 自定义布局id
viewEntity | array | 必须 | 参考viewEntity参数说明

viewEntity参数说明

字段 | 数据类型 | 参数要求 | 描述
entityType | string | 必须 | USC_VIEW_CAMERA(通道)、USC_VIEW_MAP(地图)
layoutPosition | string | 必须 | 在自定义布局那个格子
resourceUUID | int | 必须 | 地图或者通道的uuid
profile | String | 可选 | 主辅码流

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/View

{

   "viewId": 3,

  "devPartitionId":10000,

  "viewType":"USC_VIEW_PRIVATE",

  "viewName":"view1",

  "layoutId":10,

  "viewEntity":[{

    "entityType":"USC_VIEW_CAMERA",

      "layoutPosition":"2-2",

      "resourceUUID":"5dd00d23-b479-4f86-a800-eba9a2c24bd9",

      "profile":"main"

  }]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


删除视图

接口描述

删除视图

使用说明

请求方法 | DELETE
请求URL | /api/v1/View
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 视图id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/View

{

  "ids":[4]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


获取巡更列表

接口描述

获取巡更列表

使用说明

请求方法 | GET
请求URL | /api/v1/Patrol/List
请求数据 | 无

请求参数

字段 | 数据类型 | 参数要求 | 描述
无 | 无 | 无 | 无

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述
patrolId | int | 巡更id
uuid | string | 巡更uuid
patrolName | string | 巡更名字
devPartitionId | int | 设备分区id
viewId | int | 视图id
dwellTime | int | 停留时间

使用示例

GET http://192.168.100.127:8085/api/v1/View

返回的参数

{

  "code": 0,

  "msg": "Success",

  "result": [

       {

          "patrolId": 1,

          "uuid": "659613b6-dd1e-450b-8e84-deda2ccc1d47",

          "patrolName": "patrol1",

          "elementView": [

               {

                  "patrolId": 1,

                  "viewId": 1,

                  "patrolTime": 20

               }

           ]

       }

   ]


添加巡更

接口描述

添加巡更

使用说明

请求方法 | POST
请求URL | /api/v1/Patrol
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
patrolName | string | 必须 | 巡更名字
dwellTime | int | 必须 | 停留时间
viewId | int | 必须 | 视图id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

POST http://192.168.100.127:8085/api/v1/View

{

  "patrolName": "patrol1",

  "elementView": [

       {

          "patrolTime": 20,

          "viewId":1

       }

   ]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


修改巡更

接口描述

修改巡更

使用说明

请求方法 | PUT
请求URL | /api/v1/Patrol
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
uuid | int | 必须 | 巡更uuid
patrolName | string | 必须 | 巡更名字
dwellTime | string | 必须 | 停留时间
viewId | string | 必须 | 视图id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

PUT http://192.168.100.127:8085/api/v1/View

{

  "uuid":"d18d5d11-c316-4393-be08-16dc54b2f34c",

  "patrolName": "patrol10",

  "elementView": [

       {

          "patrolTime": 20,

          "viewId":1

       }

   ]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


删除巡更

接口描述

删除巡更

使用说明

请求方法 | DELETE
请求URL | /api/v1/Patrol
请求数据 | application/json;charset=UTF-8

请求参数

字段 | 数据类型 | 参数要求 | 描述
ids | array | 必须 | 巡更id

响应参数

字段 | 数据类型 | 描述
code | int | 0表示成功
msg | string | 成功或者失败的原因描述

使用示例

DELETE http://192.168.100.127:8085/api/v1/Patrol

{

  "ids":[4]

}

返回的参数

{

  "code": 0,

  "msg": "Success"


录像管理(Record)_2

JS视频播放SDK

JS视频播放SDK提供了HTML5环境下实时视频和回放的接口， JS视频播放SDK需要引用 软件包中 www/js/h5splayer.js， 可参考www/rtc.html例子。本部分介绍相关的接口。如下是相关例子，可以打开ws.html 和rtc.html 参考相关代码。

http://localhost:8080/ws.html?token=token2

http://localhost:8080/rtc.html?token=token2

http://localhost:8080/ws.html?token=token2&stream=main

http://localhost:8080/rtc.html?token=token2&stream=sub

如果需要自动播放，从r11.3 开始，ws.html 和rtc.html支持自动播放，可以加入autoplay=true。

http://192.168.100.122:8080/rtc.html?token=token1&autoplay=true

http://192.168.100.122:8080/ws.html?token=token1&autoplay=true

http://localhost:8080/rtmp.html?token=token2

http://localhost:8080/rtmp2.html?token=token2

其中token需要替换成配置的token或者生成的，如果是NVR 或者平台设备，可以在管理界面 设置-》设备-》全部 中查看对应的token。或者使用GetDeviceSrc/GetGbDeviceSrc/GetCloudDeviceSrc 分别获取。具体的使用方法可以参API文档。

如果服务开启了认证，则需要从Login API获取session，并用Keepalive API保活该session(默认超时时间是600秒)，在原来地址后加入session请使用如下命令格式。

http://192.168.100.145:8080/ws.html?token=1d4f&session=4ec47fb4-a74a-4e02-96a1-369151cfcb09


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_5_2_2

接口描述

javascript接口参数如下

var conf = {

videoid:'h5sVideo1', //{string} - id of the video element tag

videodom: h5svideodom1, //{object} - video dom. if there has videoid, just use the videoid

protocol: window.location.protocol, // {string} - 'http:' or 'https:'

host: window.location.host, //{string} - 'localhost:8080'

rootpath:window.location.pathname, // {string} - path of the app running

token:'token1', // {string} - token of stream

streamprofile: 'main', // {string} - stream profile, main/sub or other predefine transcoding profile

pbconf: pbconf1, //This is optional, if no pbconf, this will be live.

hlsver:'v1', //{string} - v1 is for ts, v2 is for fmp4

session:'c1782caf-b670-42d8-ba90-2244d0b0ee83', //{string} - session got from login

consolelog: 'true' // 'true' or 'false' enable/disable console.log

};

参数说明

字段 | 类型 | 参数要求 | 描述
videoid | string | 可选 | HTML5 video element id，videoid和videodom二选一
videodom | string | 可选 | HTML5 video DOM，videoid和videodom二选一
protocol | string | 必须 | 协议 'http:' 或者 'https:'
host | string | 必须 | 服务主机 'localhost:8080' 或者 '192.168.1.1:8080'
rootpath | string | 必须 | API根路径，默认是 '/'，如果代理了服务，则填代理后的路径
token | string | 必须 | 视频源token
streamprofile | string | 可选 | main/sub或者预定义的转码profile token，实时视频生效
pbconf | string | 可选 | 回放配置项，实时的时候为空，具体格式参考回放视频接口参数
hlsver | string | 可选 | 过时参数，保持'v1'既可
session | string | 必须 | Login获取的session
consolelog | string | 可选 | 是否开启播放SDK日志，默认开启

使用示例

可参考www/rtc.html例子。


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_5_2_2_2

接口描述

javascript接口参数如下，远端回放是指从NVR或者第三方平台回放，服务回放是指从H5S录像数据中回放。

function PlaybackCB(event, userdata)

{

var msgevent = JSON.parse(event);

if (msgevent.type === 'H5S_EVENT_PB_TIME')

{

}

if (msgevent.type === 'H5S_EVENT_PB_SESSION_ID')

{

}

}

var pbconf1 = {

begintime: '2019-03-23T120101+08',//{string} begintime 0 for fileplayback

endtime: '2019-03-23T150101+08',//{string} endtime 0 for fileplayback

autoplay: 'true', // 'true' or 'false' for playback autoplay

showposter: 'true', //'true' or 'false' show poster

serverpb: 'true', //'true' or 'false' playback from h5stream record, default false

filename: 'token1.mp4', // file name need to playback (begintime == 0 & endtime == 0 and serverpb is true)

callback: PlaybackCB, //{function}(event(string), userdata(object))

userdata: user data // user data

};

var conf = {

videoid:'h5sVideo1', //{string} - id of the video element tag

videodom: h5svideodom1, //{object} - video dom. if there has videoid, just use the videoid

protocol: window.location.protocol, // {string} - 'http:' or 'https:'

host: window.location.host, //{string} - 'localhost:8080'

rootpath:window.location.pathname, // {string} - path of the app running

token:'token1', // {string} - token of stream

streamprofile: 'main', // {string} - stream profile, main/sub or other predefine transcoding profile

pbconf: pbconf1, //This is optional, if no pbconf, this will be live.

hlsver:'v1', //{string} - v1 is for ts, v2 is for fmp4

session:'c1782caf-b670-42d8-ba90-2244d0b0ee83', //{string} - session got from login

consolelog: 'true' // 'true' or 'false' enable/disable console.log

};

参数说明

其中conf接口参数参考实时视频接口参数，如下是回放参数介绍

字段 | 类型 | 参数要求 | 描述
begintime | string | 必须 | 回放开始时间，ISO 8601格式
endtime | string | 必须 | 回放结束时间，ISO 8601格式
autoplay | string | 必须 | 是否自动播放
showposter | string | 必须 | 是否显示视频源缓存的最近数据帧
serverpb | string | 必须 | 是服务回放还是远端回放，
filename | string | 可选 | 当begintime和endtime 都为‘0’时表示按文件名回放，按文件名回放的时候filename为录像指令返回的文件名，比如"strFileName": "107-e88c9fae-2c56-4329-b9e2-ec99dd36ab9d.mp4"
callback | function | 必须 | 回放事件回调
userdata | object | 必须 | 回放事件回调参数

回调函数会提供当前的回放信息，具体事件描述如下:

类型 | 描述
H5S_EVENT_PB_SESSION_ID | 回放session ID，回放数据开始前调用，可以用PbSnapshot抓取当时回放的数据
H5S_EVENT_PB_TIME | 回放进度，每秒调用

使用示例

远端回放可以参考www/playback2.html

服务回放时的基于文件的回放可以参考www/serverfilepb.html

服务回放时的基于时间的回放可以参考www/serverpb.html


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_5_2_2_2_2

接口描述

javascript接口参数如下

function H5sPlayerWS(conf)

H5sPlayerWS.prototype.connect

H5sPlayerWS.prototype.disconnect

回放控制

H5sPlayerWS.prototype. start

H5sPlayerWS.prototype. pasue

H5sPlayerWS.prototype. resume

参数说明

conf参数参考实时视频接口参数和回放视频接口参数，当WS用做回放时，不支持控制和倍速。

使用示例

可参考www/ws.html例子。


用户登录_2_2_3_2_2_2_2_2_2_3_3_2_5_2_2_2_2_2

接口描述

javascript接口参数如下

function H5sPlayerRTC(conf)

H5sPlayerRTC.prototype.connect

H5sPlayerRTC.prototype.disconnect

回放控制

H5sPlayerRTC.prototype. start

H5sPlayerRTC.prototype. pasue

H5sPlayerRTC.prototype. resume

H5sPlayerRTC.prototype. speed(x) //x 0.5 1 2 4 8 16

H5sPlayerRTC.prototype. seek(x) //x 相对开始回放时间的偏移 单位为秒

参数说明

conf参数参考实时视频接口参数和回放视频接口参数。

使用示例

可参考www/rtc.html例子。


附录A FAQ

1.h5s 里token有啥命名规则么？

h5s的token使用字母和数字组成，支持单个连字符和下划线，不支持特殊字符(比如@#$ 等)。 正确的比如token1_1 token1-1。 不支持双连字符，不支持的比如token1--1 。