---
name: "init"
mode: "api"
versionRequirements:
  - { name: "@ray-js/lock-sdk", version: "1.0.0" }
title: "init - 初始化 SDK。"
summary: "用于门锁 SDK 初始化，需要在面板初始化时执行，执行后，才能正常执行门锁 API。"
---

## init

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

### 描述

初始化锁 SDK（单设备主路径）。

### 参数

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `deviceId` | `string` | 否 | 设备 id（与 devInfo 二选一或同时提供） |
| `devInfo` | `any` | 否 | 设备信息（含 schema、dps 等） |
| `strictMode` | `boolean` | 否 | 是否严格模式：true 时对 DP 做严格校验 |
| `passwordDigitalBase` | `number` | 否 | 密码展示/编辑使用的进制（≤10） |
| `passwordSupportZero` | `boolean` | 否 | 密码是否允许数字 0 |
| `supportMultipleFace` | `boolean` | 否 | 是否支持多人脸能力 |
| `supportOfflineDps` | `boolean` | 否 | 是否启用离线 DP 同步等离线任务 |

### 返回值

类型: `Promise<void>`

无

### 错误码

| 错误码 | 错误信息 |
| --- | --- |
| `1000` | 入参无 devInfo 与 deviceId，且启动参数亦无 deviceId |

### 示例代码

#### 示例

```typescript
import { init, openDoor } from '@ray-js/lock-sdk';
await init({ devInfo: { devId: 'deviceId', productId: 'productId' } });
await openDoor({ open: true });
```
