Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
fb5de4a7
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
fb5de4a7
编写于
2月 25, 2023
作者:
Z
zzs110
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
api9修改
Signed-off-by:
N
zzs110
<
zhouzishuai@huawei.com
>
上级
13044d83
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
109 addition
and
73 deletion
+109
-73
zh-cn/application-dev/reference/apis/js-apis-pasteboard.md
zh-cn/application-dev/reference/apis/js-apis-pasteboard.md
+43
-73
zh-cn/release-notes/changelogs/OpenHarmony_4.0.3.2/changelogs-pasteboard.md
...s/changelogs/OpenHarmony_4.0.3.2/changelogs-pasteboard.md
+66
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-pasteboard.md
浏览文件 @
fb5de4a7
...
...
@@ -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.createRecord<sup>9+</sup>
...
...
@@ -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
| 名称 | 值 | 说明 |
|
----
|---|-------------------|
| I
nApp
| 0 | 表示仅允许同应用内粘贴。 |
| L
ocalDevice
| 1 | 表示允许在此设备中任何应用内粘贴。 |
| C
rossDevice
| 2 | 表示允许跨设备在任何应用内粘贴。 |
| 名称
| 值 | 说明 |
|
-------------
|---|-------------------|
| I
NAPP
| 0 | 表示仅允许同应用内粘贴。 |
| L
OCALDEVICE
| 1 | 表示允许在此设备中任何应用内粘贴。 |
| C
ROSSDEVICE
| 2 | 表示允许跨设备在任何应用内粘贴。 |
## pasteboard.createHtmlData<sup>(deprecated)</sup>
...
...
@@ -374,14 +374,14 @@ let record = pasteboard.createUriRecord('dataability:///com.example.myapplicatio
**系统能力:**
SystemCapability.MiscServices.Pasteboard
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- |
--------
|
| additions
<sup>
7+
</sup>
| {[key:string]:object} | 是 | 是 | 设置的其他附加属性数据。 |
| mimeTypes
<sup>
7+
</sup>
| Array
<
string
>
| 是 | 否 | 剪贴板内容条目的数据类型,非重复的类型列表。 |
| tag
<sup>
7+
</sup>
| string | 是 | 是 | 用户自定义标签。 |
| timestamp
<sup>
7+
</sup>
| number | 是 | 否 | 剪贴板数据的写入时间戳(单位:ms)。 |
| 名称 | 类型 | 可读 | 可写 | 说明
|
| -------- | -------- | -------- | -------- |
--------------------------------------------------------------------------------------------
|
| additions
<sup>
7+
</sup>
| {[key:string]:object} | 是 | 是 | 设置的其他附加属性数据。
|
| mimeTypes
<sup>
7+
</sup>
| Array
<
string
>
| 是 | 否 | 剪贴板内容条目的数据类型,非重复的类型列表。
|
| tag
<sup>
7+
</sup>
| string | 是 | 是 | 用户自定义标签。
|
| timestamp
<sup>
7+
</sup>
| number | 是 | 否 | 剪贴板数据的写入时间戳(单位:ms)。
|
| localOnly
<sup>
7+
</sup>
| boolean | 是 | 是 | 配置剪贴板内容是否为“仅在本地”。默认值为true。
<br/>
- 配置为true时,表示内容仅在本地,不会在设备之间传递。
<br/>
- 配置为false时,表示内容将在设备间传递。 |
| shareOption
<sup>
9+
</sup>
|
[
ShareOption
](
#shareoption9
)
| 是 | 是 | 指示剪贴板数据可以粘贴到的范围,如果未设置或设置不正确,则默认值为C
rossDevice。
|
| shareOption
<sup>
9+
</sup>
|
[
ShareOption
](
#shareoption9
)
| 是 | 是 | 指示剪贴板数据可以粘贴到的范围,如果未设置或设置不正确,则默认值为C
ROSSDEVICE。
|
## PasteDataRecord<sup>7+</sup>
...
...
@@ -401,38 +401,11 @@ let record = pasteboard.createUriRecord('dataability:///com.example.myapplicatio
| pixelMap
<sup>
9+
</sup>
|
[
image.PixelMap
](
js-apis-image.md#pixelmap7
)
| 是 | 否 | PixelMap内容。 |
| data
<sup>
9+
</sup>
| {[mimeType:
string]:
ArrayBuffer} | 是 | 否 | 自定义数据内容。 |
### convertToTextV9<sup>9+</sup>
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
}
`
);
});
```
### convertToTextV9<sup>9+</sup>
### toPlainText<sup>9+</sup>
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
=
await
record
.
toPlainText
();
console
.
info
(
`Succeeded in converting to text. Data:
${
data
}
`
);
```
### convertToText<sup>(deprecated)</sup>
...
...
@@ -460,7 +430,7 @@ convertToText(callback: AsyncCallback<string>): void
将一个PasteData中的内容强制转换为文本内容,使用callback异步回调。
> **说明:**
>
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[
convertToTextV9](#converttotextv9
9)替代。
> 从 API Version 7 开始支持,从 API Version 9 开始废弃,建议使用[
toPlainText](#toplaintext
9)替代。
**系统能力:**
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
.
I
nApp
;
prop
.
shareOption
=
pasteboard
.
ShareOption
.
I
NAPP
;
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
zh-cn/release-notes/changelogs/OpenHarmony_4.0.3.2/changelogs-pasteboard.md
0 → 100644
浏览文件 @
fb5de4a7
# 剪贴板子系统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
<
string
>
):
void
;
convertToTextV9
():
Promise
<
string
>
;
```
-
变更后:
```
ts
toPlainText
():
string
;
```
变更前:
**适配指导**
请使用toPlainText替换convertToTextV9,并注意接口返回方式。
## cl.pasteboard.2 ShareOption属性名称变更,删除了未支持的属性
ShareOption枚举命名从
**大驼峰**
改成了
**全大写**
。
**变更影响**
4.
0.3.3版本之前使用InApp/LocalDevice/CrossDevice类型开发的应用,在4.0.3.3版本及后续版本中无法继续正常使用。
**关键接口/组件变更**
ShareOption
<sup>
9+
</sup>
变更前:
| 名称 | 值 | 说明 |
| ---- |---|-------------------|
| InApp | 0 | 表示仅允许同应用内粘贴。 |
| LocalDevice | 1 | 表示允许在此设备中任何应用内粘贴。 |
| CrossDevice | 2 | 表示允许跨设备在任何应用内粘贴。 |
变更后:
| 名称 | 值 | 说明 |
| ---- |---|-------------------|
| INAPP | 0 | 表示仅允许同应用内粘贴。 |
| LOCALDEVICE | 1 | 表示允许在此设备中任何应用内粘贴。 |
| CROSSDEVICE | 2 | 表示允许跨设备在任何应用内粘贴。 |
**适配指导**
按新的语义进行适配。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录