diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-udmf.md b/zh-cn/application-dev/reference/apis/js-apis-data-udmf.md
index 74674bc05fac5195e2c371881775a84198bdfce0..d32a2bc2330f040f68c7d0fe8bfb6b8cb0d939b1 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-data-udmf.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-data-udmf.md
@@ -27,6 +27,7 @@ import UDMF from '@ohos.data.UDMF';
| FILE | 'File' | 文件类型。 |
| IMAGE | 'File.Media.Image' | 图片类型。 |
| VIDEO | 'File.Media.Video' | 视频类型。 |
+| AUDIO | 'File.Media.Audio' | 音频类型。 |
| FOLDER | 'File.Folder' | 文件夹类型。 |
| SYSTEM_DEFINED_RECORD | 'SystemDefinedType' | 系统服务数据类型。 |
| SYSTEM_DEFINED_FORM | 'SystemDefinedType.Form' | 卡片类型。 |
@@ -305,6 +306,23 @@ let video = new UDMF.Video();
video.videoUri = 'schema://com.samples.test/files/test.mp4';
```
+## Audio
+
+音频类型数据,是[File](#file)的子类,用于描述音频文件。
+
+**系统能力**:SystemCapability.DistributedDataManager.UDMF.Core
+
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+|----------|--------|----|----|----------|
+| audioUri | string | 是 | 是 | 音频数据uri。 |
+
+**示例:**
+
+```js
+let audio = new UDMF.Audio();
+audio.audioUri = 'schema://com.samples.test/files/test.mp3';
+```
+
## Folder
文件夹类型数据,是[File](#file)的子类,用于描述文件夹。
@@ -430,9 +448,9 @@ const color = new ArrayBuffer(96); // 创建pixelmap对象
let opts = { editable: true, pixelFormat: 3, size: { height: 4, width: 6 } }
image.createPixelMap(color, opts, (error, pixelmap) => {
if(error) {
- console.log('Failed to create pixelmap.');
+ console.error('Failed to create pixelmap.');
} else {
- console.log('Succeeded in creating pixelmap.');
+ console.info('Succeeded in creating pixelmap.');
let arrayBuf = new ArrayBuffer(pixelmap.getPixelBytesNumber());
pixelmap.readPixelsToBuffer(arrayBuf);
let u8Array = new Uint8Array(arrayBuf);
@@ -463,3 +481,390 @@ record.applicationDefinedType = 'ApplicationDefinedType';
record.rawData = u8Array;
let unifiedData = new UDMF.UnifiedData(record);
```
+
+## Intention
+
+已接入UDMF的系统服务能力的枚举类型。其主要用途是标识用户向UDMF写入的数据的用途,同时也标明了当前系统内哪些系统服务已经接入了UDMF,通过UDMF实现应用间数据传递的业务。
+
+**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core
+
+| 名称 | 值 | 说明 |
+|----------|-----------|---------|
+| DATA_HUB | 'DataHub' | 公共数据通道。 |
+
+## Options
+
+UDMF提供的数据操作接口可选项,包含intention和key两个可选参数。无默认值,当对应接口不需要此参数时可不填,具体要求参照方法接口的参数说明。
+
+**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core
+
+
+| 名称 | 类型 | 可读 | 可写 | 必填 | 说明 |
+|-----------|-------------------------|----|----|----|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| intention | [Intention](#intention) | 是 | 是 | 否 | 表示数据操作相关的业务标签。 |
+| key | string | 是 | 是 | 否 | UDMF中数据对象的唯一标识符。
由udmf:/、intention、bundleName和groupId四部分组成,以'/'连接,比如:udmf://DataHub/com.ohos.test/0123456789。
其中udmf:/固定,DataHub为对应枚举的取值,com.ohos.test为包名,0123456789为随机生成的groupId。 |
+
+
+
+## UDMF.insertData
+
+insertData(options: Options, data: UnifiedData, callback: AsyncCallback<string>): void
+
+将数据写入UDMF的公共存储中,并生成数据的唯一标识符,使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+|----------|----------------------------|----|------------------------------|
+| options | [Options](#options) | 是 | 配置项参数,仅需要intention的值。 |
+| data | [UnifiedData](#unifieddata) | 是 | 目标数据。 |
+| callback | AsyncCallback<string> | 是 | 回调函数,返回写入UDMF的数据的唯一标识符key的值。 |
+
+**示例:**
+
+```ts
+import UDMF from '@ohos.data.UDMF';
+
+let plainText = new UDMF.PlainText();
+plainText.textContent = 'hello world!';
+let unifiedData = new UDMF.UnifiedData(plainText);
+
+let options = {
+ intention: UDMF.Intention.DATA_HUB
+}
+try {
+ UDMF.insertData(options, unifiedData, (err, data) => {
+ if (err === undefined) {
+ console.info(`Succeeded in inserting data. key = ${data}`);
+ } else {
+ console.error(`Failed to insert data. code is ${err.code},message is ${err.message} `);
+ }
+ });
+} catch(e) {
+ console.error(`Insert data throws an exception. code is ${e.code},message is ${e.message} `);
+}
+
+```
+
+## UDMF.insertData
+
+insertData(options: Options, data: UnifiedData): Promise<string>
+
+将数据写入UDMF的公共存储中,并生成数据的唯一标识符,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+|---------|-----------------------------|----|-----------------------|
+| options | [Options](#options) | 是 | 配置项参数,仅需要intention的值。 |
+| data | [UnifiedData](#unifieddata) | 是 | 目标数据。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+|-----------------------|-----------------------------------|
+| Promise<string> | Promise对象,返回写入UDMF的数据的唯一标识符key的值。 |
+
+**示例:**
+
+```ts
+import UDMF from '@ohos.data.UDMF';
+
+let plainText = new UDMF.PlainText();
+plainText.textContent = 'hello world!';
+let unifiedData = new UDMF.UnifiedData(plainText);
+
+let options = {
+ intention: UDMF.Intention.DATA_HUB
+}
+try {
+ UDMF.insertData(options, unifiedData).then((data) => {
+ console.info(`Succeeded in inserting data. key = ${data}`);
+ }).catch((err) => {
+ console.error(`Failed to insert data. code is ${err.code},message is ${err.message} `);
+ });
+} catch(e) {
+ console.error(`Insert data throws an exception. code is ${e.code},message is ${e.message} `);
+}
+```
+
+## UDMF.updateData
+
+updateData(options: Options, data: UnifiedData, callback: AsyncCallback<void>): void
+
+更新已写入UDMF的公共存储的数据,使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+|----------|-----------------------------|----|-------------------------------------|
+| options | [Options](#options) | 是 | 配置项参数,仅需要key的值。 |
+| data | [UnifiedData](#unifieddata) | 是 | 目标数据。 |
+| callback | AsyncCallback<void> | 是 | 回调函数。当更新数据成功,err为undefined,否则为错误对象。 |
+
+**示例:**
+
+```ts
+import UDMF from '@ohos.data.UDMF';
+
+let plainText = new UDMF.PlainText();
+plainText.textContent = 'hello world!';
+let unifiedData = new UDMF.UnifiedData(plainText);
+
+let options = {
+ key: 'udmf://DataHub/com.ohos.test/0123456789'
+};
+
+try {
+ UDMF.updateData(options, unifiedData, (err) => {
+ if (err === undefined) {
+ console.info('Succeeded in updating data.');
+ } else {
+ console.error('Failed to update data. code is ${err.code},message is ${err.message} `);
+ }
+ });
+} catch(e) {
+ console.error(`Update data throws an exception. code is ${e.code},message is ${e.message} `);
+}
+```
+
+## UDMF.updateData
+
+updateData(options: Options, data: UnifiedData): Promise<void>
+
+更新已写入UDMF的公共存储的数据,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+|---------|-----------------------------|----|-----------------|
+| options | [Options](#options) | 是 | 配置项参数,仅需要key的值。 |
+| data | [UnifiedData](#unifieddata) | 是 | 目标数据。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+|---------------------|----------------------------|
+| Promise<void> | Promise对象。无返回结果的Promise对象。 |
+
+**示例:**
+
+```ts
+import UDMF from '@ohos.data.UDMF';
+
+let plainText = new UDMF.PlainText();
+plainText.textContent = 'hello world!';
+let unifiedData = new UDMF.UnifiedData(plainText);
+
+let options = {
+ key: 'udmf://DataHub/com.ohos.test/0123456789'
+};
+
+try {
+ UDMF.updateData(options, unifiedData).then(() => {
+ console.info('Succeeded in updating data.');
+ }).catch((err) => {
+ console.error(`Failed to update data. code is ${err.code},message is ${err.message} `);
+ });
+} catch(e) {
+ console.error(`Update data throws an exception. code is ${e.code},message is ${e.message} `);
+}
+```
+
+## UDMF.queryData
+
+queryData(options: Options, callback: AsyncCallback<Array<UnifiedData>>): void
+
+查询UDMF公共存储的数据,使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+|----------|---------------------------------------------------------------|----|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| options | [Options](#options) | 是 | 配置项参数,key和intention均为可选,根据传入的参数做相应的校验以返回不同的值。 |
+| callback | AsyncCallback<Array<[UnifiedData](#unifieddata)>> | 是 | 回调函数,返回查询到的所有数据。
如果options中填入的是key,则返回key对应的数据。
如果options中填入的是intention,则返回intention下所有数据。
如intention和key均填写了,取两者查询数据的交集,与options只填入key的获取结果一致;如没有交集报错。 |
+
+**示例:**
+
+```ts
+import UDMF from '@ohos.data.UDMF';
+
+let options = {
+ intention: UDMF.Intention.DATA_HUB
+};
+
+try {
+ UDMF.queryData(options, (err, data) => {
+ if (err === undefined) {
+ console.info(`Succeeded in querying data. size = ${data.length}`);
+ for (let i = 0; i < data.length; i++) {
+ let records = data[i].getRecords();
+ for (let j = 0; j < records.length; j++) {
+ if (records[j].getType() === UDMF.UnifiedDataType.PLAIN_TEXT) {
+ let text = (records[j]);
+ console.info(`${i + 1}.${text.textContent}`);
+ }
+ }
+ }
+ } else {
+ console.error(`Failed to query data. code is ${err.code},message is ${err.message} `);
+ }
+ });
+} catch(e) {
+ console.error(`Query data throws an exception. code is ${e.code},message is ${e.message} `);
+}
+```
+
+## UDMF.queryData
+
+queryData(options: Options): Promise<Array<UnifiedData>>
+
+查询UDMF公共存储的数据,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+|---------|---------------------|----|-----------------------------------------------|
+| options | [Options](#options) | 是 | 配置项参数,key和intention均为可选,根据传入的参数做相应的校验以返回不同的值。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+|---------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
+| Promise<Array<[UnifiedData](#unifieddata)>> | Promise对象,返回查询到的所有数据。
如果options中填入的是key,则返回key对应的数据。
如果options中填入的是intention,则返回intention下所有数据。
如intention和key均填写了,取两者查询数据的交集,与options只填入key的获取结果一致;如没有交集报错。 |
+
+**示例:**
+
+```ts
+import UDMF from '@ohos.data.UDMF';
+
+let options = {
+ key: 'udmf://DataHub/com.ohos.test/0123456789'
+};
+
+try {
+ UDMF.queryData(options).then((data) => {
+ console.info(`Succeeded in querying data. size = ${data.length}`);
+ for (let i = 0; i < data.length; i++) {
+ let records = data[i].getRecords();
+ for (let j = 0; j < records.length; j++) {
+ if (records[j].getType() === UDMF.UnifiedDataType.PLAIN_TEXT) {
+ let text = (records[j]);
+ console.info(`${i + 1}.${text.textContent}`);
+ }
+ }
+ }
+ }).catch((err) => {
+ console.error(`Failed to query data. code is ${err.code},message is ${err.message} `);
+ });
+} catch(e) {
+ console.error(`Query data throws an exception. code is ${e.code},message is ${e.message} `);
+}
+```
+
+## UDMF.deleteData
+
+deleteData(options: Options, callback: AsyncCallback<Array<UnifiedData>>): void
+
+删除UDMF公共存储的数据,返回删除的数据集,使用callback异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+|----------|---------------------------------------------------------------|----|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| options | [Options](#options) | 是 | 配置项参数,key和intention均为可选,根据传入的参数做相应的校验以返回不同的值。 |
+| callback | AsyncCallback<Array<[UnifiedData](#unifieddata)>> | 是 | 回调函数,返回删除的所有数据。
如果options中填入的是key,则删除key对应的数据并返回该数据。
如果options中填入的是intention,则删除intention下所有数据并返回删除的数据。
如intention和key均填写了,取两者数据的交集进行删除,并返回删除的数据,与options只填入key的结果一致;如没有交集报错。 |
+
+**示例:**
+
+```ts
+import UDMF from '@ohos.data.UDMF';
+
+let options = {
+ intention: UDMF.Intention.DATA_HUB
+};
+
+try {
+ UDMF.deleteData(options, (err, data) => {
+ if (err === undefined) {
+ console.info(`Succeeded in deleting data. size = ${data.length}`);
+ for (let i = 0; i < data.length; i++) {
+ let records = data[i].getRecords();
+ for (let j = 0; j < records.length; j++) {
+ if (records[j].getType() === UDMF.UnifiedDataType.PLAIN_TEXT) {
+ let text = (records[j]);
+ console.info(`${i + 1}.${text.textContent}`);
+ }
+ }
+ }
+ } else {
+ console.error(`Failed to delete data. code is ${err.code},message is ${err.message} `);
+ }
+ });
+} catch(e) {
+ console.error(`Delete data throws an exception. code is ${e.code},message is ${e.message} `);
+}
+```
+
+## UDMF.deleteData
+
+deleteData(options: Options): Promise<Array<UnifiedData>>
+
+删除UDMF公共存储的数据,返回删除的数据集,使用Promise异步回调。
+
+**系统能力:** SystemCapability.DistributedDataManager.UDMF.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+|---------|---------------------|----|--------|
+| options | [Options](#options) | 是 | 配置项参数,key和intention均为可选,根据传入的参数做相应的校验以返回不同的值。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+|---------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Promise<Array<[UnifiedData](#unifieddata)>> | Promise对象,返回删除的所有数据。
如果options中填入的是key,则删除key对应的数据并返回该数据。
如果options中填入的是intention,则删除intention下所有数据并返回删除的数据。
如intention和key均填写了,取两者数据的交集进行删除,并返回删除的数据,与options只填入key的结果一致;如没有交集报错。 |
+
+**示例:**
+
+```ts
+import UDMF from '@ohos.data.UDMF';
+
+let options = {
+ key: 'udmf://DataHub/com.ohos.test/0123456789'
+};
+
+try {
+ UDMF.deleteData(options).then((data) => {
+ console.info(`Succeeded in deleting data. size = ${data.length}`);
+ for (let i = 0; i < data.length; i++) {
+ let records = data[i].getRecords();
+ for (let j = 0; j < records.length; j++) {
+ if (records[j].getType() === UDMF.UnifiedDataType.PLAIN_TEXT) {
+ let text = (records[j]);
+ console.info(`${i + 1}.${text.textContent}`);
+ }
+ }
+ }
+ }).catch((err) => {
+ console.error(`Failed to delete data. code is ${err.code},message is ${err.message} `);
+ });
+} catch(e) {
+ console.error(`Delete data throws an exception. code is ${e.code},message is ${e.message} `);
+}
+```
\ No newline at end of file