---
name: "saveDevProperty"
mode: "api"
versionRequirements:
  - { name: "@ray-js/ray", version: "1.5.2" }
title: "saveDevProperty - 写入自定义设置的设备属性数据"
---

## saveDevProperty

> [VERSION] @ray-js/ray >= 1.5.2

### 描述

写入自定义设置的设备属性数据，保存后可通过 getDevProperty 获取

### 参数

`Params`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `params` | `ISaveDevProperty` | 是 | 请求参数 |

### 返回值

类型: `Promise<boolean>`

是否成功保存

### 引用对象

##### `interface` ISaveDevProperty

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `devId` | `string` | 设备 ID |
| `bizType` | `number` | 业务类型（自定义） |
| `propertyList` | `string` | 设备自定义属性列表，string 结构详见 |
| `type` | `"remainAfterReset" \| string` | 保存设备属性的配置规则，仅针对当前写入的属性有效， 默认在设备重置和设备重置并清除数据时均会移除 可以配置成 `remainAfterReset` 代表在设备重置时保留数据，仅在设备重置并清除数据时移除 |


### 示例代码

#### 基础用法

```ts
import { saveDevProperty } from '@ray-js/ray';

saveDevProperty({
  devId: 'your_device_id',
  bizType: 0,
  propertyList: JSON.stringify([
    { code: 'hello', value: 'world' },
    { code: 'foo', value: 'bar' },
  ]),
}).then((response) => {
  console.log('保存结果:', response);
}).catch((err) => {
  console.error(err);
});
```
