diff --git a/zh-cn/application-dev/database/database-distributedobject-guidelines.md b/zh-cn/application-dev/database/database-distributedobject-guidelines.md
index 7ec93da9251b2d1d4a9d86ace1d6ebda184fd692..c633b70535e1f8004679dd905869f541ad5545b0 100644
--- a/zh-cn/application-dev/database/database-distributedobject-guidelines.md
+++ b/zh-cn/application-dev/database/database-distributedobject-guidelines.md
@@ -62,11 +62,38 @@
以一次分布式数据对象同步为例,说明开发步骤。
1. 准备工作,导入@ohos.data.distributedDataObject模块到开发环境。
- ```js
- import distributedObject from '@ohos.data.distributedDataObject'
- ```
+ ```js
+ import distributedObject from '@ohos.data.distributedDataObject';
+ ```
+2. 请求权限。需要在`config.json`里面进行配置请求权限,示例代码如下:
+ ```
+ {
+ "module": {
+ "reqPermissions": [
+ {
+ "name": "ohos.permission.DISTRIBUTED_DATASYNC"
+ }
+ ]
+ }
+ }
+ ```
+ 这个权限还需要在应用首次启动的时候弹窗获取用户授权,可以通过如下代码实现:
+ ```js
+ import featureAbility from '@ohos.ability.featureAbility';
+
+ function grantPermission() {
+ console.info('grantPermission');
+ let context = featureAbility.getContext();
+ context.requestPermissionsFromUser(['ohos.permission.DISTRIBUTED_DATASYNC'], 666, function (result) {
+ console.info(`result.requestCode=${result.requestCode}`)
+
+ })
+ console.info('end grantPermission');
+ }
+ grantPermission();
+ ```
-2. 获取分布式数据对象实例。
+3. 获取分布式数据对象实例。
以下为创建分布式数据对象的代码示例:
```js
@@ -76,7 +103,7 @@
```
-3. 加入同步组网。同步组网中的数据对象分为发起方和被拉起方。
+4. 加入同步组网。同步组网中的数据对象分为发起方和被拉起方。
以下为加入同步组网的代码示例:
@@ -93,7 +120,7 @@
//收到status上线后remote_object同步数据,即name变成jack,age是18
```
-4. 监听对象数据变更。可监听对端数据的变更,以callback作为变更回调实例。
+5. 监听对象数据变更。可监听对端数据的变更,以callback作为变更回调实例。
以下为监听对象数据变更的代码示例。
@@ -112,7 +139,7 @@
local_object.on("change", this.changeCallback.bind(this));
```
-5. 修改对象属性,对象属性支持基本类型(数字类型、布尔类型、字符串类型)以及复杂类型(数组、基本类型嵌套等)。
+6. 修改对象属性,对象属性支持基本类型(数字类型、布尔类型、字符串类型)以及复杂类型(数组、基本类型嵌套等)。
以下为修改分布式数据对象属性的代码示例:
```js
@@ -132,13 +159,13 @@
local_object.parent.mother = "mom";
```
-6. 访问对象。可以通过直接获取的方式访问到分布式数据对象的属性,且该数据为组网内的最新数据。
+7. 访问对象。可以通过直接获取的方式访问到分布式数据对象的属性,且该数据为组网内的最新数据。
以下为访问对象的代码示例:
```js
console.info("name " + local_object["name"]);
```
-7. 删除监听数据变更。可以指定删除监听的数据变更回调;也可以不指定,这将会删除该分布式数据对象的所有数据变更回调。
+8. 删除监听数据变更。可以指定删除监听的数据变更回调;也可以不指定,这将会删除该分布式数据对象的所有数据变更回调。
以下为取消监听数据变更的代码示例:
```js
@@ -147,7 +174,7 @@
//删除所有的变更回调
local_object.off("change");
```
-8. 监听分布式对象的上下线。可以监听对端分布式数据对象的上下线。
+9. 监听分布式对象的上下线。可以监听对端分布式数据对象的上下线。
以下为访问对象的代码示例:
```js
function statusCallback(sessionId, networkId, status) {
@@ -156,7 +183,7 @@
local_object.on("status", this.statusCallback);
```
-9. 删除监听分布式对象的上下线。可以指定删除监听的上下线回调;也可以不指定,这将会删除该分布式数据对象的所有上下线回调。
+10. 删除监听分布式对象的上下线。可以指定删除监听的上下线回调;也可以不指定,这将会删除该分布式数据对象的所有上下线回调。
以下为取消监听数据变更的代码示例:
```js
@@ -165,7 +192,7 @@
//删除所有的上下线回调
local_object.off("status");
```
-10. 退出同步组网。分布式对象退出组网后,本地的数据变更对端不会同步。
+11. 退出同步组网。分布式对象退出组网后,本地的数据变更对端不会同步。
以下为退出同步组网的代码示例:
```js
diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-distributedobject.md b/zh-cn/application-dev/reference/apis/js-apis-data-distributedobject.md
index 8903e8894537c5b255c666347f0fb793b80959ca..ecf0cf125ae083b7da8d1c8f2f5440a50a73fa85 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-data-distributedobject.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-data-distributedobject.md
@@ -68,6 +68,8 @@ setSessionId(sessionId?: string): boolean
设置同步的sessionId,当可信组网中有多个设备时,多个设备间的对象如果设置为同一个sessionId,就能自动同步。
+**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC
+
**系统能力:** SystemCapability.DistributedDataManager.DataObject.DistributedObject。
**参数:**
@@ -136,7 +138,7 @@ off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array<st
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 事件类型,固定为'change',表示数据变更。 |
- | callback | Callback<{ sessionId: string, fields: Array<string> }> | 否 | 需要删除的变更回调,若不设置则删除该对象所有的数据变更回调。
sessionId:标识变更对象的sessionId;
fields:标识对象变更的属性名。 |
+ | callback | Callback<{ sessionId: string, fields: Array<string> }> | 否 | 需要删除的数据变更回调,若不设置则删除该对象所有的数据变更回调。
sessionId:标识变更对象的sessionId;
fields:标识对象变更的属性名。 |
**示例:**