HC小区接口文档

门禁查询接口文档

一、接口名称

查询门禁列表

二、接口描述

该接口用于查询指定小区内的门禁设备列表信息,包括门禁设备的基本信息和在线状态。

三、接口路径

http://{ip}:{port}/iot/api/accessControl.listAccessControl

四、请求方法

GET

五、请求头

参数名称 必填 类型 描述
Authorization String 用户认证token Base token 通过登录接口获取token
app-id String 应用ID 系统dev账户分配
transaction-id String 请求流水号 不能重复 1000000000+YYYYMMDDhhmmss+6位序列
sign String 签名
req-time String 请求时间 YYYYMMDDhhmmss

六、请求参数

6.1 查询参数

参数名称 必填 类型 描述 示例
communityId String 小区ID 123123
page Integer 页码,默认为1 1
row Integer 每页记录数,默认为10 10

七、返回值

7.1 响应格式

JSON

7.2 响应参数

参数名称 类型 描述
code Integer 返回码,0表示成功,其他表示失败
msg String 返回信息
totalPage Integer 总页数
records Integer 总记录数
data Array 门禁设备列表

data数组中的对象结构:

参数名称 类型 描述
machineId String 门禁设备编号
machineName String 门禁设备名称
stateName String 设备状态("设备在线"或"设备离线")
heartbeatTime String 最后心跳时间
implBean String 设备实现类标识

八、业务逻辑说明

  1. 接口会验证小区ID是否为空
  2. 根据小区ID分页查询门禁设备列表
  3. 根据设备最后心跳时间判断设备在线状态:
    • 如果最后心跳时间超过2分钟,则标记为"设备离线"
    • 特殊处理:对于implBean为"4"的设备(宇凡设备),如果没有心跳或心跳时间为"2020-01-01"则标记为离线

九、示例请求

GET http://127.0.0.1:8008/iot/api/accessControl.listAccessControl?page=1&row=10&communityId=123123

十、示例响应

{
  "code": 0,
  "msg": "成功",
  "totalPage": 1,
  "records": 2,
  "data": [
    {
      "machineId": "1001",
      "machineName": "小区东门门禁",
      "stateName": "设备在线",
      "heartbeatTime": "2023-08-15 10:30:25",
      "implBean": "1"
    },
    {
      "machineId": "1002",
      "machineName": "小区西门门禁",
      "stateName": "设备离线",
      "heartbeatTime": "2023-08-15 09:30:25",
      "implBean": "4"
    }
  ]
}