Appearance
事件查询
本文档定义事件查询相关的指令,用于获取门锁上存储的操作记录和报警事件。
指令列表
| 指令码 | 名称 | 方向 | 说明 |
|---|---|---|---|
0x0B00 | ListEvents | APP → 设备 | 获取事件列表 |
0x0B01 | GetEvent | APP → 设备 | 获取事件详情 |
0x0B02 | ClearEvents | APP → 设备 | 清空事件记录 |
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; // 是否有更多数据
}| 字段 | 类型 | 说明 |
|---|---|---|
events | repeated Event | 事件列表,按时间倒序排列 |
cursor | uint64 | 下一页游标,用于获取更多数据 |
has_more | bool | 是否还有更多数据 |
分页查询示例
游标机制
游标是一个不透明的值,由设备端生成。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=DURESS 或 type=TAMPER 等 |
| 增量同步 | start_time=上次同步时间 |
相关文档
- 事件类型 - 完整的事件类型定义和 detail 格式
