---
name: "createTempOffline"
mode: "api"
versionRequirements:
  - { name: "@ray-js/lock-sdk", version: "1.0.0" }
title: "createTempOffline - 创建离线密码，适用于 WiFi 拍照锁设备。"
summary: "创建离线密码，适用于 WiFi 拍照锁设备。支持创建一次性密码和不限次数密码两种类型。"
---

## createTempOffline

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

> 💡 此 API 为 WiFi Pro 锁专用，其他锁请勿使用。

### 描述

创建离线类临时密码。

### 参数

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `name` | `string` | 是 | 名称（非一次性时必填校验） |
| `effective` | `EffectiveConfig` | 是 | 时效配置 |
| `isOnce` | `boolean` | 是 | 是否为离线一次性密码 |

### 返回值

类型: `Promise<OfflineTempResult>`

离线临时密码创建结果

##### OfflineTempResult

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `type` | `"once" \| "multiple"` | 类型：一次性或多次 |
| `name` | `string` | 名称 / Name |
| `password` | `string` | 明文密码（已按设备解析） |
| `unlockBindingId` | `string` | 密码 ID |
| `pwdId` | `string` | 云端密码 ID |
| `effectiveConfig` | `EffectiveConfig` | 生效配置 |

### 错误码

| 错误码 | 错误信息 |
| --- | --- |
| `1031` | 密码名称过长（超过 20 字符） |
| `1010` | 生效时间大于过期时间 |
| `1067` | 云端：该周期离线密码已耗尽（OFFLINE_PWD_EXAUST_IN_PERIOD） |

### 引用对象

##### `type` BitStatus

位开关：0 关、1 开 / Single-bit flag

```typescript
export type BitStatus = 0 | 1;
```

##### `type` Week

周重复位图：下标 0–6 对应周日–周六，0 不生效 1 生效

```typescript
export type Week = [
  BitStatus,
  BitStatus,
  BitStatus,
  BitStatus,
  BitStatus,
  BitStatus,
  BitStatus,
];
```


### 示例代码

#### 示例

```ts
import { createTempOffline } from '@ray-js/lock-sdk';
const result = createTempOffline({ type: 'once' });
```
