diff --git a/zh-cn/application-dev/reference/apis/js-apis-pasteboard.md b/zh-cn/application-dev/reference/apis/js-apis-pasteboard.md index e3fba61896f6997c625b71a1d14020b22bd16127..8c47f29f71e8bc20fed17d4f270fd445a01cefe3 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-pasteboard.md +++ b/zh-cn/application-dev/reference/apis/js-apis-pasteboard.md @@ -3,7 +3,7 @@ 本模块主要提供管理系统剪贴板的能力,为系统复制、粘贴功能提供支持。系统剪贴板支持对文本、HTML、URI、Want、PixelMap等内容的操作。 > **说明:** -> +> > 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 @@ -63,7 +63,7 @@ createData(mimeType: string, value: ValueType): PasteData ```js let dataXml = new ArrayBuffer(256); - let pasteData = pasteboard.createData('app/xml', dataXml); +let pasteData = pasteboard.createData('app/xml', dataXml); ``` ## pasteboard.createRecord9+ @@ -90,8 +90,8 @@ createRecord(mimeType: string, value: ValueType):PasteDataRecord; **示例:** ```js - let dataXml = new ArrayBuffer(256); - let pasteDataRecord = pasteboard.createRecord('app/xml', dataXml); +let dataXml = new ArrayBuffer(256); +let pasteDataRecord = pasteboard.createRecord('app/xml', dataXml); ``` ## pasteboard.getSystemPasteboard @@ -120,11 +120,11 @@ let systemPasteboard = pasteboard.getSystemPasteboard(); **系统能力:** SystemCapability.MiscServices.Pasteboard -| 名称 | 值 | 说明 | -| ---- |---|-------------------| -| InApp | 0 | 表示仅允许同应用内粘贴。 | -| LocalDevice | 1 | 表示允许在此设备中任何应用内粘贴。 | -| CrossDevice | 2 | 表示允许跨设备在任何应用内粘贴。 | +| 名称 | 值 | 说明 | +|-------------|---|-------------------| +| INAPP | 0 | 表示仅允许同应用内粘贴。 | +| LOCALDEVICE | 1 | 表示允许在此设备中任何应用内粘贴。 | +| CROSSDEVICE | 2 | 表示允许跨设备在任何应用内粘贴。 | ## pasteboard.createHtmlData(deprecated) @@ -374,14 +374,14 @@ let record = pasteboard.createUriRecord('dataability:///com.example.myapplicatio **系统能力:** SystemCapability.MiscServices.Pasteboard -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------- | -------- | -------- | -------- | -------- | -| additions7+ | {[key:string]:object} | 是 | 是 | 设置的其他附加属性数据。 | -| mimeTypes7+ | Array<string> | 是 | 否 | 剪贴板内容条目的数据类型,非重复的类型列表。 | -| tag7+ | string | 是 | 是 | 用户自定义标签。 | -| timestamp7+ | number | 是 | 否 | 剪贴板数据的写入时间戳(单位:ms)。 | +| 名称 | 类型 | 可读 | 可写 | 说明 | +| -------- | -------- | -------- | -------- |--------------------------------------------------------------------------------------------| +| additions7+ | {[key:string]:object} | 是 | 是 | 设置的其他附加属性数据。 | +| mimeTypes7+ | Array<string> | 是 | 否 | 剪贴板内容条目的数据类型,非重复的类型列表。 | +| tag7+ | string | 是 | 是 | 用户自定义标签。 | +| timestamp7+ | number | 是 | 否 | 剪贴板数据的写入时间戳(单位:ms)。 | | localOnly7+ | boolean | 是 | 是 | 配置剪贴板内容是否为“仅在本地”。默认值为true。
- 配置为true时,表示内容仅在本地,不会在设备之间传递。
- 配置为false时,表示内容将在设备间传递。 | -| shareOption9+ | [ShareOption](#shareoption9) | 是 | 是 | 指示剪贴板数据可以粘贴到的范围,如果未设置或设置不正确,则默认值为CrossDevice。 | +| shareOption9+ | [ShareOption](#shareoption9) | 是 | 是 | 指示剪贴板数据可以粘贴到的范围,如果未设置或设置不正确,则默认值为CROSSDEVICE。 | ## PasteDataRecord7+ @@ -401,38 +401,11 @@ let record = pasteboard.createUriRecord('dataability:///com.example.myapplicatio | pixelMap9+ | [image.PixelMap](js-apis-image.md#pixelmap7) | 是 | 否 | PixelMap内容。 | | data9+ | {[mimeType: string]: ArrayBuffer} | 是 | 否 | 自定义数据内容。 | -### convertToTextV99+ - -convertToTextV9(callback: AsyncCallback<string>): void - -将一个PasteData中的内容强制转换为文本内容,使用callback异步回调。 - -**系统能力:** SystemCapability.MiscServices.Pasteboard - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| callback | AsyncCallback<string> | 是 | 回调函数,当转换成功,err为undefined,data为强制转换的文本内容;否则返回错误信息。 | - -**示例:** - -```js -let record = pasteboard.createRecord(pasteboard.MIMETYPE_TEXT_URI, 'dataability:///com.example.myapplication1/user.txt'); -record.convertToTextV9((err, data) => { - if (err) { - console.error(`Failed to convert to text. Cause: ${err.message}`); - return; - } - console.info(`Succeeded in converting to text. Data: ${data}`); -}); -``` - -### convertToTextV99+ +### toPlainText9+ -convertToTextV9(): Promise<string> +toPlainText(): string -将一个PasteData中的内容强制转换为文本内容,使用Promise异步回调。 +将一个PasteData中的内容强制转换为文本内容。 **系统能力:** SystemCapability.MiscServices.Pasteboard @@ -440,17 +413,14 @@ convertToTextV9(): Promise<string> | 类型 | 说明 | | -------- | -------- | -| Promise<string> | Promise对象,返回强制转换的文本内容。 | +| string | 纯文本内容。 | **示例:** ```js let record = pasteboard.createRecord(pasteboard.MIMETYPE_TEXT_URI, 'dataability:///com.example.myapplication1/user.txt'); -record.convertToTextV9().then((data) => { - console.info(`Succeeded in converting to text. Data: ${data}`); -}).catch((err) => { - console.error(`Failed to convert to text. Cause: ${err.message}`); -}); +let data = record.toPlainText(); +console.info(`Succeeded in converting to text. Data: ${data}`); ``` ### convertToText(deprecated) @@ -460,7 +430,7 @@ convertToText(callback: AsyncCallback<string>): void 将一个PasteData中的内容强制转换为文本内容,使用callback异步回调。 > **说明:** > -> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[convertToTextV9](#converttotextv99)替代。 +> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[toPlainText](#toplaintext9)替代。 **系统能力:** SystemCapability.MiscServices.Pasteboard @@ -474,8 +444,8 @@ convertToText(callback: AsyncCallback<string>): void ```js let record = pasteboard.createUriRecord('dataability:///com.example.myapplication1/user.txt'); -record.convertToText((err, data) => { - if (err) { +record.convertToText((err, data) => { + if (err) { console.error(`Failed to convert to text. Cause: ${err.message}`); return; } @@ -490,7 +460,7 @@ convertToText(): Promise<string> 将一个PasteData中的内容强制转换为文本内容,使用Promise异步回调。 > **说明:** > -> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[convertToTextV9](#converttotextv99-1)替代。 +> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[toPlainText](#toplaintext9)替代。 **系统能力:** SystemCapability.MiscServices.Pasteboard @@ -782,7 +752,7 @@ setProperty(property: PasteDataProperty): void ```js let pasteData = pasteboard.createData(pasteboard.MIMETYPE_TEXT_HTML, 'application/xml'); let prop = pasteData.getProperty(); -prop.shareOption = pasteboard.ShareOption.InApp; +prop.shareOption = pasteboard.ShareOption.INAPP; pasteData.setProperty(prop); ``` @@ -999,8 +969,8 @@ addWantRecord(want: Want): void ```js let pasteData = pasteboard.createPlainTextData('hello'); -let object = { - bundleName: "com.example.aafwk.test", +let object = { + bundleName: "com.example.aafwk.test", abilityName: "com.example.aafwk.test.TwoAbility" }; pasteData.addWantRecord(object); @@ -1255,7 +1225,7 @@ clearData(callback: AsyncCallback<void>): void ```js let systemPasteboard = pasteboard.getSystemPasteboard(); -systemPasteboard.clearData((err, data) => { +systemPasteboard.clearData((err, data) => { if (err) { console.error(`Failed to clear the pasteboard. Cause: ${err.message}`); return; @@ -1282,7 +1252,7 @@ clearData(): Promise<void> ```js let systemPasteboard = pasteboard.getSystemPasteboard(); -systemPasteboard.clearData().then((data) => { +systemPasteboard.clearData().then((data) => { console.info('Succeeded in clearing the pasteboard.'); }).catch((err) => { console.error(`Failed to clear the pasteboard. Cause: ${err.message}`); @@ -1318,7 +1288,7 @@ setData(data: PasteData, callback: AsyncCallback<void>): void ```js let pasteData = pasteboard.createPlainTextData('content'); let systemPasteboard = pasteboard.getSystemPasteboard(); -systemPasteboard.setData(pasteData, (err, data) => { +systemPasteboard.setData(pasteData, (err, data) => { if (err) { console.error('Failed to set PasteData. Cause: ' + err.message); return; @@ -1394,7 +1364,7 @@ getData( callback: AsyncCallback<PasteData>): void ```js let systemPasteboard = pasteboard.getSystemPasteboard(); -systemPasteboard.getData((err, pasteData) => { +systemPasteboard.getData((err, pasteData) => { if (err) { console.error('Failed to get PasteData. Cause: ' + err.message); return; @@ -1429,7 +1399,7 @@ getData(): Promise<PasteData> ```js let systemPasteboard = pasteboard.getSystemPasteboard(); -systemPasteboard.getData().then((pasteData) => { +systemPasteboard.getData().then((pasteData) => { let text = pasteData.getPrimaryText(); }).catch((err) => { console.error('Failed to get PasteData. Cause: ' + err.message); @@ -1481,7 +1451,7 @@ hasData(): Promise<boolean> ```js let systemPasteboard = pasteboard.getSystemPasteboard(); -systemPasteboard.hasData().then((data) => { +systemPasteboard.hasData().then((data) => { console.info(`Succeeded in checking the PasteData. Data: ${data}`); }).catch((err) => { console.error(`Failed to check the PasteData. Cause: ${err.message}`); @@ -1508,8 +1478,8 @@ clear(callback: AsyncCallback<void>): void **示例:** ```js -systemPasteboard.clear((err, data) => { - if (err) { +systemPasteboard.clear((err, data) => { + if (err) { console.error(`Failed to clear the PasteData. Cause: ${err.message}`); return; } @@ -1537,9 +1507,9 @@ clear(): Promise<void> **示例:** ```js -systemPasteboard.clear().then((data) => { +systemPasteboard.clear().then((data) => { console.info('Succeeded in clearing the PasteData.'); -}).catch((err) => { +}).catch((err) => { console.error(`Failed to clear the PasteData. Cause: ${err.message}`); }); ``` @@ -1595,7 +1565,7 @@ getPasteData(): Promise<PasteData> ```js let systemPasteboard = pasteboard.getSystemPasteboard(); -systemPasteboard.getPasteData().then((pasteData) => { +systemPasteboard.getPasteData().then((pasteData) => { let text = pasteData.getPrimaryText(); }).catch((err) => { console.error('Failed to get PasteData. Cause: ' + err.message); @@ -1651,7 +1621,7 @@ hasPasteData(): Promise<boolean> **示例:** ```js -systemPasteboard.hasPasteData().then((data) => { +systemPasteboard.hasPasteData().then((data) => { console.info(`Succeeded in checking the PasteData. Data: ${data}`); }).catch((err) => { console.error(`Failed to check the PasteData. Cause: ${err.message}`); @@ -1681,7 +1651,7 @@ setPasteData(data: PasteData, callback: AsyncCallback<void>): void ```js let pasteData = pasteboard.createPlainTextData('content'); let systemPasteboard = pasteboard.getSystemPasteboard(); -systemPasteboard.setPasteData(pasteData, (err, data) => { +systemPasteboard.setPasteData(pasteData, (err, data) => { if (err) { console.error('Failed to set PasteData. Cause: ' + err.message); return; @@ -1722,4 +1692,4 @@ systemPasteboard.setPasteData(pasteData).then((data) => { }).catch((err) => { console.error('Failed to set PasteData. Cause: ' + err.message); }); -``` +``` \ No newline at end of file diff --git a/zh-cn/release-notes/changelogs/OpenHarmony_4.0.3.2/changelogs-pasteboard.md b/zh-cn/release-notes/changelogs/OpenHarmony_4.0.3.2/changelogs-pasteboard.md new file mode 100644 index 0000000000000000000000000000000000000000..29f562ed9ceb239771cdc78b59ebbf91959877f0 --- /dev/null +++ b/zh-cn/release-notes/changelogs/OpenHarmony_4.0.3.2/changelogs-pasteboard.md @@ -0,0 +1,66 @@ +# 剪贴板子系统ChangeLog + +OpenHarmony 4.0.3.2 版本相较于OpenHarmony 之前的版本,剪贴板子系统的API变更如下。 + +## cl.pasteboard.1 convertToTextV9接口变更 + +接口convertToTextV9由于命名规范和接口返回方式问题,名称变更为toPlainText(),返回方式改为同步方式。 + +**变更影响** + +4.0.3.3版本之前使用接口convertToTextV9开发的应用,在4.0.3.3版本及后续版本中无法继续正常使用。 + +**关键的接口/组件变更** + +- 涉及接口 + + function convertToTextV9 + +- 变更前: + + ```ts + convertToTextV9(callback: AsyncCallback): void; + convertToTextV9(): Promise; + ``` + +- 变更后: + + ```ts + toPlainText(): string; + ``` +变更前: + +**适配指导** + +请使用toPlainText替换convertToTextV9,并注意接口返回方式。 + +## cl.pasteboard.2 ShareOption属性名称变更,删除了未支持的属性 + +ShareOption枚举命名从**大驼峰**改成了**全大写**。 + +**变更影响** + +4.0.3.3版本之前使用InApp/LocalDevice/CrossDevice类型开发的应用,在4.0.3.3版本及后续版本中无法继续正常使用。 + +**关键接口/组件变更** + +ShareOption9+ + +变更前: +| 名称 | 值 | 说明 | +| ---- |---|-------------------| +| InApp | 0 | 表示仅允许同应用内粘贴。 | +| LocalDevice | 1 | 表示允许在此设备中任何应用内粘贴。 | +| CrossDevice | 2 | 表示允许跨设备在任何应用内粘贴。 | + + +变更后: +| 名称 | 值 | 说明 | +| ---- |---|-------------------| +| INAPP | 0 | 表示仅允许同应用内粘贴。 | +| LOCALDEVICE | 1 | 表示允许在此设备中任何应用内粘贴。 | +| CROSSDEVICE | 2 | 表示允许跨设备在任何应用内粘贴。 | + +**适配指导** + +按新的语义进行适配。 \ No newline at end of file