# miscservices_pasteboard_sig **Repository Path**: jessePrj/miscservices_pasteboard_sig ## Basic Information - **Project Name**: miscservices_pasteboard_sig - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 296 - **Created**: 2022-01-26 - **Last Updated**: 2022-01-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 剪贴板组件 - [简介](#section11660541593) - [目录](#section161941989596) - [说明](#section38521239153117) - [js接口说明](#section11908203714422) - [js接口使用说明](#section9938411124317) - [相关仓](#section1371113476307) ## 简介 剪贴板组件提供管理系统剪贴板的能力。 **图 1** 子系统架构图 ![](figures/subsystem_architecture_zh.png "子系统架构图") ## 目录 ``` /base/miscservices/time ├── etc # 组件包含的进程的配置文件 ├── figures # 构架图 ├── framework # innerKit接口 ├── interfaces # 组件对外提供的接口代码 │ └── kits # 对应用提供的接口 ├── profile # 组件包含的系统服务的配置文件 ├── services # 剪贴板服务实现 │ └── core # 核心代码实现 │ └── test # native测试代码 │ └── zidl # 跨进程通信代码实现 ├── utils # 测试或服务使用mock的数据 └──README_zh.md # 使用说明 ``` ## 说明 ### js接口说明 **表 1** js组件PasteBoard开放的主要方法

接口名

描述

function createHtmlData(htmlText: string): PasteData;

为 PasteData#MIMETYPE_TEXT_HTML 创建一个 PasteData 对象/p>

function createWantData(want: Want): PasteData;

为 PasteData#MIMETYPE_TEXT_WANT 创建一个 PasteData 对象

function createPlainTextData(text: string): PasteData

为 PasteData##MIMETYPE_TEXT_PLAIN 创建一个 PasteData 对象

function createUriData(uri: string): PasteData;

为 PasteData###MIMETYPE_TEXT_URI 创建一个 PasteData 对象

function createHtmlTextRecord(htmlText: string): PasteDataRecord;

为 PasteData#MIMETYPE_TEXT_HTML 创建一个 Record 对象

function createWantRecord(want: Want): PasteDataRecord;

为 PasteData#MIMETYPE_TEXT_WANT 创建一个 Record 对象

function createPlainTextRecord(text: string): PasteDataRecord;

为 PasteData#MIMETYPE_TEXT_PLAIN 创建一个 Record 对象

function createUriRecord(uri: string): PasteDataRecord;

为 PasteData#MIMETYPE_TEXT_URI 创建一个 Record 对象

function getSystemPasteboard(): SystemPasteboard

获取系统剪贴板

**表 2** js组件SystemPasteboard开放的主要方法

接口名

描述

function on(type:'update', callback: () => void): void;

粘贴板内容更改时调用的回调

function off(type: 'update', callback?: () => void): void

粘贴板内容更改时调用的回调

function clear(callback: AsyncCallback): void

清除剪贴板

function clear(): Promise;

清除剪贴板

function getPasteData(callback: AsyncCallback<PasteData>): void

获取系统剪贴板数据对象

function getPasteData():Promise<PasteData>

获取系统剪贴板数据对象

function hasPasteData(callback: AsyncCallback<boolean>:void;

检查粘贴板中是否有内容

function hasPasteData(): Promise<boolean>

检查粘贴板中是否有内容

function setPasteData(data: PasteData, callback: AsyncCallback<void>:void;

将 PasteData 写入粘贴板

function setPasteData(data: PasteData): Promise<void>

将 PasteData 写入粘贴板

**表 3** js组件PasteData开放的主要方法

接口名

描述

function addHtmlRecord(htmlText: string): void;

将 HTML 文本记录添加到 PasteData 对象,并将 MIME 类型更新为 DataProperty 中的 PasteData#MIMETYPE_TEXT_HTML。

function addWantRecord(want: Want): void;

将需要记录添加到 PasteData 对象,并将 MIME 类型更新为 DataProperty 中的 PasteData#MIMETYPE_TEXT_WANT

function addRecord(record: PasteDataRecord): void;

将 PasteRecord 添加到粘贴数据对象并更新数据属性中的 MIME 类型

function addTextRecord(text: string): void;;

将纯文本记录添加到 PasteData 对象,并将 MIME 类型更新为 DataProperty 中的 PasteData#MIMETYPE_TEXT_PLAIN

function addUriRecord(uri: string): void;

将 URI 记录添加到 PasteData 对象,并将 MIME 类型更新为 DataProperty 中的 PasteData#MIMETYPE_TEXT_URI

function getMimeTypes(): Array<string>

粘贴板上所有内容的 MIME 类型

function getPrimaryHtml(): string;

PasteData 对象中主要记录的 HTML 文本

function getPrimaryWant(): Want;

PasteData 对象中的主记录的want

function getPrimaryMimeType(): string;

PasteData 对象中主记录的 MIME 类型。

function getPrimaryUri(): string;

PasteData 对象中主记录的 URI

function getProperty(): PasteDataProperty;

获取剪贴板数据对象的属性

function getRecordAt(index: number): PasteDataRecord;

基于指定索引的记录

function getRecordCount(): number;

PasteData 对象中的记录数

function hasMimeType(mimeType: string): boolean;

检查 DataProperty 中是否存在指定的 MIME 类型的数据

function removeRecordAt(index: number): boolean;

根据指定索引删除记录

function replaceRecordAt(index: number, record: PasteDataRecord): boolean;

用新记录替换指定记录

**表 4** js组件PasteDataRecord开放的主要方法

接口名

描述

function convertToText(callback: AsyncCallback<string>): void;

将 PasteData 转换为文本内容的内容

function convertToText(): Promise<void>

将 PasteData 转换为文本内容的内容

**表 5** PasteDataProperty组件参数说明

名称

类型

说明

additions{[key:string]}

object

附加属性数据键值对

mimeTypes

Array

PasteData 中所有记录的非重复 MIME 类型

tag

string

PasteData 对象的用户定义标签

timestamp

number

时间戳,指示何时将数据写入系统粘贴板。

localOnly

boolean

检查 PasteData 是否设置为仅用于本地访问。

### js接口使用说明 剪贴板模块使用示例: ``` // 导入模块 import pasteboard from '@ohos.pasteboard' console.log('Get SystemPasteboard') var systemPasteboard = pasteboard.getSystemPasteboard() var Text = 'Hello World !' console.log('createUriRecord = ' + Text) var pasteDataRecord = pasteboard.createPlainTextData(Text) console.log('Check text of pasteDataRecord = ' + pasteDataRecord.plainText) console.log('Clears the pasteboard') systemPasteboard.clear() console.log('Check text of pasteDataRecord = ""') ``` ## 相关仓 **Misc软件服务子系统** [miscservices\_paste](https://gitee.com/openharmony/miscservices_pasteboard/tree/master/)