---
name: "getAlarms"
mode: "api"
versionRequirements:
  - { name: "@ray-js/lock-sdk", version: "1.0.0" }
title: "getAlarms - 获取告警列表。"
summary: "获取告警列表。"
---

## getAlarms

> [VERSION] @ray-js/lock-sdk >= 1.0.0

### 描述

获取告警日志记录列表

### 参数

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `page` | `number` | 否 | 页码，默认 1 |
| `pageSize` | `number` | 否 | 页码，默认 50 |

### 返回值

类型: `Promise<GetAlarmsResult>`

告警日志分页列表

##### GetAlarmsResult

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `list` | `LogData[]` | 日志数据 |
| `hasMore` | `boolean` | 是否有更多 |
| `total` | `number` | 总数量 |

### 引用对象

##### `interface` LogData

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `logId` | `string` | 日志唯一 id |
| `time` | `number` | 发生时间（毫秒时间戳） |
| `currentUser` | `boolean` | 是否与当前登录用户相关 |
| `type` | `"alarm_record" \| "close_record" \| "unlock_record" \| "operation" \| "local_operation" \| "dev_bind"` | 日志类型 |
| `operateType` | `string` | 操作类型 type 为 operation 时有效 |
| `userId` | `string` | 关联用户 id |
| `dpId` | `number` | 关联 DP 数字 id |
| `dpCode` | `string` | 关联 DP code |
| `data` | `any` | 业务数据（DP 值或其他结构） |
| `userName` | `string` | 关联用户昵称 |
| `bindable` | `boolean` | 是否可绑定（unlock_record 时有效） |
| `unlockName` | `string` | 开锁方式名称（unlock_record） |
| `mediaInfo` | `MediaInfo[]` | 附件媒体列表 |
| `unionUnlockInfo` | `UnionUnlockInfo[]` | 组合开锁成员（unlock_record） |
| `closeValue` | `"UNDEFINED" \| "VOICE_REMOTE" \| "APP_REMOTE" \| "AUTO" \| "LOCAL_MANUAL" \| "FITTINGS" \| "APP" \| "GEO_FENCE"` | 关锁方式（close_record） |
| `localRecord` | `LocalUnlockMethodData \| LocalAddUserData \| LocalSettingData \| LocalOperateOtherData` | 本地操作明细（local_operation） |
| `isHijack` | `boolean` | 是否劫持告警 |
| `unlockMethod` | `"finger" \| "face" \| "password" \| "card" \| "fingerVein" \| "hand" \| "eye"` | 开锁方式类型（unlock_record） |
| `matterRecord` | `Object` | matter 开锁记录 |

##### `interface` LocalUnlockMethodData

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `category` | `0 \| 1 \| 2` | 增加/删除/修改开锁方式 |
| `unlockMethod` | `"finger" \| "face" \| "password" \| "card" \| "fingerVein" \| "hand" \| "eye" \| "remoteControl"` | 开锁方式类型或遥控 |
| `unlockId` | `number` | 开锁方式 id |
| `isRemoveAll` | `boolean` | 是否清空该类型全部开锁方式 |
| `userType` | `0 \| 1 \| 2 \| 3` | 操作人类型 |
| `userId` | `number` | 操作人 id |
| `toUserType` | `0 \| 1 \| 2 \| 3` | 被操作人类型 |
| `toUserId` | `number` | 被操作人 id |

##### `interface` LocalAddUserData

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `category` | `16 \| 17` | 本地添加/删除用户 |
| `userType` | `0 \| 1 \| 2 \| 3` | 操作人类型 |
| `userId` | `number` | 操作人 id |
| `toUserType` | `0 \| 1 \| 2 \| 3` | 被操作人类型 |
| `toUserId` | `number` | 被操作人 id |

##### `interface` LocalSettingData

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `category` | `32` | 本地设置 |
| `type` | `number` | 设置项类型 |
| `data` | `number \| Uint8Array<ArrayBuffer \| SharedArrayBuffer>` | 解析后数值或缓冲 |
| `originData` | `Uint8Array<ArrayBuffer \| SharedArrayBuffer>` | 原始 DP 缓冲 |
| `userType` | `0 \| 1 \| 2 \| 3` | 操作人类型 |
| `userId` | `number` | 操作人 id |
| `toUserType` | `0 \| 1 \| 2 \| 3` | 被操作人类型 |
| `toUserId` | `number` | 被操作人 id |

##### `interface` LocalOperateOtherData

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `category` | `number` | 操作分类（数值） |
| `type` | `number` | 操作类型 |
| `data` | `Uint8Array<ArrayBuffer \| SharedArrayBuffer>` | 操作数据 |
| `userType` | `0 \| 1 \| 2 \| 3` | 操作人类型 |
| `userId` | `number` | 操作人 id |
| `toUserType` | `0 \| 1 \| 2 \| 3` | 被操作人类型 |
| `toUserId` | `number` | 被操作人 id |

##### `type` UnlockMethodType

开锁方式业务类型字面量

```typescript
export type UnlockMethodType =
  | "finger"
  | "face"
  | "password"
  | "card"
  | "fingerVein"
  | "hand"
  | "eye";
```

##### `type` MediaInfo

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `mediaPath` | `string` | 媒体逻辑路径 |
| `fileKey` | `string` | 对象存储 file key |
| `fileUrl` | `string` | 可访问 URL |
| `mediaBucket` | `string` | 存储桶名 |
| `mediaKey` | `string` | 媒体对象 key |

##### `type` UnionUnlockInfo

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `userId` | `string` | 用户 id |
| `userName` | `string` | 用户昵称 |
| `unlockName` | `string` | 开锁方式名 |
| `sn` | `number` | 协议 sn |
| `type` | `"finger" \| "face" \| "password" \| "card" \| "fingerVein" \| "hand" \| "eye"` | 类型 |

##### `type` LogData.matterRecord

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `sn` | `number` | 硬件id |
| `source` | `number` | 解锁来源 0 为涂鸦 app matter 解锁 1 为 三方解锁 |
| `type` | `number` | 解锁类型 0 为 未知 1 为手机 2 三方密码（pin code） |


### 示例代码

#### 示例

```ts
import { getAlarms } from '@ray-js/lock-sdk';
const alarms = await getAlarms({ offset: 0, limit: 20 });
```
