Skip to content

事件查询

本文档定义事件查询相关的指令,用于获取门锁上存储的操作记录和报警事件。

指令列表

指令码名称方向说明
0x0B00ListEventsAPP → 设备获取事件列表
0x0B01GetEventAPP → 设备获取事件详情
0x0B02ClearEventsAPP → 设备清空事件记录

ListEvents - 获取事件列表

指令码: 0x0B00

支持按时间范围、事件类型、用户等条件筛选,支持分页查询。

ListEventsReq

protobuf
message ListEventsReq {
  optional uint64 start_time = 1;   // 开始时间(UNIX毫秒)
  optional uint64 end_time = 2;     // 结束时间(UNIX毫秒)
  optional EventType type = 3;      // 事件类型筛选
  optional uint32 user_id = 4;      // 用户ID筛选
  optional uint32 limit = 5;        // 返回数量限制(默认20,最大100)
  optional uint64 cursor = 6;       // 分页游标
}
字段必填说明
start_time筛选此时间之后的事件
end_time筛选此时间之前的事件
type只返回指定类型的事件
user_id只返回指定用户相关的事件
limit单次返回数量,默认 20,最大 100
cursor分页游标,首次查询不传,后续传入上次返回的 cursor

ListEventsResp

protobuf
message ListEventsResp {
  uint32 code = 1;
  string message = 2;
  repeated Event events = 3;    // 事件列表
  optional uint64 cursor = 4;   // 下一页游标(无更多数据时不返回)
  bool has_more = 5;            // 是否有更多数据
}
字段类型说明
eventsrepeated Event事件列表,按时间倒序排列
cursoruint64下一页游标,用于获取更多数据
has_morebool是否还有更多数据

分页查询示例

游标机制

游标是一个不透明的值,由设备端生成。APP 只需将上次返回的 cursor 原样传入下次请求即可,无需解析其含义。

GetEvent - 获取事件详情

指令码: 0x0B01

GetEventReq

protobuf
message GetEventReq {
  uint64 event_id = 1;  // 事件ID
}

GetEventResp

protobuf
message GetEventResp {
  uint32 code = 1;
  string message = 2;
  Event event = 3;  // 事件详情
}

ClearEvents - 清空事件记录

指令码: 0x0B02

危险操作

此操作将删除门锁上所有事件记录,不可恢复。建议在清空前先同步到服务器。

ClearEventsReq

protobuf
message ClearEventsReq {
  optional uint64 before = 1;  // 清空此时间之前的事件(不指定则清空全部)
}
字段必填说明
before只清空此时间之前的事件,不指定则清空全部

ClearEventsResp

protobuf
message ClearEventsResp {
  uint32 code = 1;
  string message = 2;
  uint32 count = 3;  // 删除的数量
}

常见查询场景

场景参数设置
最近 20 条记录limit=20
今日开锁记录start_time=今日0点, type=UNLOCK
某用户的所有记录user_id=xxx
报警事件type=DURESStype=TAMPER
增量同步start_time=上次同步时间

相关文档

物联网设备通信协议文档