跳到主要内容

网关 API 文档

本文档描述 ThingsGatewayRuntime 网关提供的 RESTful API 接口。

基础信息

项目说明
基础URLhttp://{"{ip}"}:{"{port}"}
默认端口6100
数据格式JSON
字符编码UTF-8
认证方式Bearer Token (JWT),Token有效期默认15天(可通过JWTOptions.ExpiredTime配置,单位分钟)

统一响应格式

所有 API 接口均返回统一的响应格式:

字段类型说明
codenumber状态码,200 表示成功
dataobject返回数据
msgstring返回消息
timestring服务器响应时间

认证接口

登录

POST /api/GatewayAuthService/Login

请求参数:

参数类型说明
Namestring用户名
Passwordstring密码

返回数据:

字段类型说明
TokenstringJWT Token
Namestring用户名
UserIdstring用户ID
RoleIdnumber角色ID
IsSuperAdminboolean是否超级管理员
Permissionsobject用户权限信息

请求示例:

{
"Name": "admin",
"Password": "123456"
}

返回示例:

{
"code": 200,
"data": {
"Token": "eyJhbGciOiJIUzI1NiIs...",
"Name": "admin",
"UserId": "1",
"RoleId": 1,
"IsSuperAdmin": true,
"Permissions": {
"IsSuperAdmin": true,
"MenuIds": [1, 2, 3],
"ButtonIds": [1, 2],
"ButtonCodes": ["add", "edit"]
}
},
"msg": "success",
"time": "2024-01-01T00:00:00"
}

刷新Token

POST /api/GatewayAuthService/RefreshToken

请求头:

头部说明
AuthorizationBearer {"{token}"}

获取用户权限

POST /api/GatewayAuthService/GetUserPermissions

请求头:

头部说明
AuthorizationBearer {"{token}"}

数据接口

获取通道设备统计

GET /api/GatewayDataService/GetGatewayTotal

请求头:

头部说明
AuthorizationBearer {"{token}"}

返回数据:

字段类型说明
ChannelTotalnumber通道总数
ChannelEnablenumber启用通道数
ChannelDisablenumber禁用通道数
DeviceTotalnumber设备总数
DeviceOnlinenumber在线设备数
DeviceNotOnlinenumber离线设备数
VariableTotalnumber变量总数
VariableNormalnumber正常变量数
VariableAbnormalnumber异常变量数
AlarmVariableTotalnumber报警变量总数
AlarmTotalnumber报警数量
FinishTotalnumber已完成数量

获取通道设备树

GET /api/GatewayDataService/GetChannelDeviceTree

请求参数:

参数类型说明
keystring搜索关键字(可选)
deviceOnlineboolean设备在线状态过滤(可选)

请求头:

头部说明
AuthorizationBearer {"{token}"}

返回数据: 通道设备树形结构数组

获取通道详情

GET /api/GatewayDataService/GetChannel

请求参数:

参数类型说明
idnumber通道ID

请求头:

头部说明
AuthorizationBearer {"{token}"}

返回数据: 通道详情对象

获取变量状态分页列表

POST /api/GatewayDataService/GetVariableStatusPageList

请求参数:

参数类型说明
PageIndexnumber页码
PageSizenumber每页条数
DeviceIdnumber设备ID(可选)
Namestring变量名称(可选)
RegisterAddressstring寄存器地址(可选)
OnlineOnlyboolean仅在线变量(可选)

请求头:

头部说明
AuthorizationBearer {"{token}"}

返回数据: 变量分页列表

写入变量值

POST /api/GatewayWriteVariableService/SetVariableValue
注意

写入变量值需要变量配置为"读写"类型且开启"RPC写使能",否则写入操作将被拒绝。

请求参数:

参数类型说明
inputsobject设备变量写入参数,格式为 { "设备名称": { "变量名称": 值 } }

返回数据:

字段类型说明
dataobject写入结果,格式为 { "设备名称": { "变量名称": OperResult } }

OperResult 结构:

字段类型说明
Successboolean是否成功
ErrorMessagestring错误信息(失败时)
Valueany返回值

请求示例:

{
"device1": {
"temperature": 25.5,
"humidity": 60
},
"device2": {
"pressure": 101.3
}
}

返回示例:

{
"code": 200,
"data": {
"device1": {
"temperature": {
"Success": true
},
"humidity": {
"Success": true
}
},
"device2": {
"pressure": {
"Success": false,
"ErrorMessage": "变量不可写"
}
}
},
"msg": "success",
"time": "2024-01-01T00:00:00"
}

报警接口

获取实时报警变量列表

POST /api/GatewayRealAlarmService/GetRealAlarmVariables

请求参数:

参数类型说明
PageIndexnumber页码
PageSizenumber每页条数

请求头:

头部说明
AuthorizationBearer {"{token}"}

返回数据: 报警变量分页列表

确认报警

POST /api/GatewayRealAlarmService/ConfirmAlarm

请求参数:

参数类型说明
Idnumber报警变量ID
ConfirmTextstring确认说明(可选)

请求示例:

{
"Id": 12345,
"ConfirmText": "已处理"
}

返回数据: boolean,确认是否成功

错误码

错误码说明
200成功
401未认证,需要登录
403无权限
404资源不存在
500服务器内部错误
提示
  • 所有接口(除登录接口外)均需在请求头中携带 Authorization: Bearer {"{token}"}
  • Token有效期默认15天(可通过JWTOptions.ExpiredTime配置,单位分钟),过期后需重新登录获取
  • 建议在 Token 即将过期时调用刷新接口

相关链接