提交 fa9a0029 编写于 作者: C caochuan

Merge remote-tracking branch 'docs/OpenHarmony-4.0-Beta1' into OpenHarmony-4.0-Beta1

Signed-off-by: Ncaochuan <caochuan@huawei.com>
......@@ -49,10 +49,12 @@ ArkTS卡片相较于JS卡片具备了更加丰富的能力,但也增加了使
- 卡片的事件处理和使用方的事件处理是独立的,建议在使用方支持左右滑动的场景下卡片内容不要使用左右滑动功能的组件,以防手势冲突影响交互体验。
当前ArkTS卡片的能力会持续加强,如下能力会在后续版本支持
除此之外,当前ArkTS卡片还存在如下约束
- 不支持断点调试能力,会在后续版本支持
- 暂不支持导入模块
- 不支持import,会在后续版本支持
- 暂不支持极速预览
- 不支持极速预览,会在后续版本支持。
- 暂不支持断点调试能力。
- 暂不支持Hot Reload热重载。
......@@ -78,6 +78,8 @@ httpRequest.request(
// data.header为HTTP响应头,可根据业务需要进行解析
console.info('header:' + JSON.stringify(data.header));
console.info('cookies:' + JSON.stringify(data.cookies)); // 8+
// 当该请求使用完毕时,调用destroy方法主动销毁
httpRequest.destroy();
} else {
console.info('error:' + JSON.stringify(err));
// 取消订阅HTTP响应头事件
......
# 设备使用信息统计(API9)
# 设备使用信息统计开发指导
## 场景介绍
......
......@@ -3,7 +3,7 @@
- [通知概述](notification-overview.md)
- [订阅通知(仅对系统应用开放)](notification-subscription.md)
- [使能通知开关](notification-enable.md)
- [设置通知角标](notification-badge.md)
- [管理通知角标](notification-badge.md)
- 发布通知
- [发布基础类型通知](text-notification.md)
- [发布进度条类型通知](progress-bar-notification.md)
......
# 通知角标
# 管理通知角标
应用未读的通知,OpenHarmony提供了角标设置接口,将未读通知个数显示在桌面图标的右上角角标上。
......
......@@ -30,7 +30,7 @@
- [原子化服务空间管理(仅对系统应用开放)](atomicService-aging.md)
- 应用程序包快速修复
- [快速修复概述](quickfix-principles.md)
- [快速修复调试指导](quickfix-debug.md)
- [快速修复命令行调试开发指导](quickfix-debug.md)
- 应用配置文件(Stage模型)
- [应用配置文件概述(Stage模型)](application-configuration-file-overview-stage.md)
- [app.json5配置文件](app-configuration-file.md)
......
......@@ -182,18 +182,18 @@
- UI界面
- [@ohos.animator (动画)](js-apis-animator.md)
- [@ohos.arkui.componentSnapshot(组件截图)](js-apis-arkui-componentSnapshot.md)
- [@ohos.arkui.componentSnapshot (组件截图)](js-apis-arkui-componentSnapshot.md)
- [@ohos.arkui.drawableDescriptor (DrawableDescriptor)](js-apis-arkui-drawableDescriptor.md)
- [@ohos.curves (插值计算)](js-apis-curve.md)
- [@ohos.font(注册自定义字体)](js-apis-font.md)
- [@ohos.font (注册自定义字体)](js-apis-font.md)
- [@ohos.matrix4 (矩阵变换)](js-apis-matrix4.md)
- [@ohos.mediaquery (媒体查询)](js-apis-mediaquery.md)
- [@ohos.pluginComponent(PluginComponentManager)](js-apis-plugincomponent.md)
- [@ohos.pluginComponent (PluginComponentManager)](js-apis-plugincomponent.md)
- [@ohos.promptAction (弹窗)](js-apis-promptAction.md)
- [@ohos.router (页面路由)](js-apis-router.md)
- [@ohos.measure (文本计算)](js-apis-measure.md)
- [@ohos.uiAppearance(用户界面外观)](js-apis-uiappearance.md)
- [@ohos.uiAppearance (用户界面外观)](js-apis-uiappearance.md)
- 图形图像
- [@ohos.animation.windowAnimationManager (窗口动画管理)](js-apis-windowAnimationManager.md)
- [@ohos.application.WindowExtensionAbility (窗口扩展能力)](js-apis-application-windowExtensionAbility.md)
......
# @ohos.arkui.componentSnapshot(组件截图)
# @ohos.arkui.componentSnapshot (组件截图)
本模块提供获取组件截图的能力,包括已加载的组件的截图和没有加载的组件的截图。组件截图只能够截取组件大小的区域,如果组件的绘制超出了它的区域,或子组件的绘制超出了父组件的区域,这些在组件区域外绘制的内容不会在截图中呈现。
......@@ -29,10 +29,10 @@ get(id: string, callback: AsyncCallback<image.PixelMap>): void
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ------------------------------------------------------------------------------ |
| id | string | 是 | 目标组件的[ID 标识](../arkui-ts/ts-universal-attributes-component-id.md#组件标识) |
| callback | AsyncCallback&lt;image.PixelMap&gt; | 是 | 截图返回结果的回调。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ---------------------------------------- |
| id | string | 是 | 目标组件的[ID 标识](../arkui-ts/ts-universal-attributes-component-id.md#组件标识) |
| callback | AsyncCallback&lt;image.PixelMap&gt; | 是 | 截图返回结果的回调。 |
**示例:**
......@@ -84,21 +84,21 @@ get(id: string): Promise<image.PixelMap>
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------- | ---- | -------------------- |
| id | string | 是 | 目标组件的[ID 标识](../arkui-ts/ts-universal-attributes-component-id.md#组件标识) |
| 参数名 | 类型 | 必填 | 说明 |
| ---- | ------ | ---- | ---------------------------------------- |
| id | string | 是 | 目标组件的[ID 标识](../arkui-ts/ts-universal-attributes-component-id.md#组件标识) |
**返回值:**
| 类型 | 说明 |
| ----------------------------- | -------------- |
| 类型 | 说明 |
| ----------------------------- | -------- |
| Promise&lt;image.PixelMap&gt; | 截图返回的结果。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------- |
| 100001 | if id is not valid. |
| 错误码ID | 错误信息 |
| ------ | ------------------- |
| 100001 | if id is not valid. |
**示例:**
......@@ -154,10 +154,10 @@ createFromBuilder(builder: CustomBuilder, callback: AsyncCallback<image.PixelMap
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------- | ---- | -------------------- |
| builder | [CustomBuilder](../arkui-ts/ts-types.md#custombuilder8) | 是 | 自定义组件构建函数。 |
| callback | AsyncCallback&lt;image.PixelMap&gt; | 是 | 截图返回结果的回调。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ---------- |
| builder | [CustomBuilder](../arkui-ts/ts-types.md#custombuilder8) | 是 | 自定义组件构建函数。 |
| callback | AsyncCallback&lt;image.PixelMap&gt; | 是 | 截图返回结果的回调。 |
**示例:**
......@@ -220,21 +220,21 @@ createFromBuilder(builder: CustomBuilder): Promise<image.PixelMap>
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------------------------- | ---- | -------------------- |
| builder | [CustomBuilder](../arkui-ts/ts-types.md#custombuilder8) | 是 | 自定义组件构建函数。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------------------------------- | ---- | ---------- |
| builder | [CustomBuilder](../arkui-ts/ts-types.md#custombuilder8) | 是 | 自定义组件构建函数。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------- | -------------- |
| 类型 | 说明 |
| ----------------------------- | -------- |
| Promise&lt;image.PixelMap&gt; | 截图返回的结果。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ----------------------------------------- |
| 100001 | if builder is not a valid build function. |
| 错误码ID | 错误信息 |
| ------ | ---------------------------------------- |
| 100001 | if builder is not a valid build function. |
**示例:**
......
# @ohos.data.cloudData (端云协同)
# @ohos.data.cloudData(端云协同)
端云协同提供结构化数据(RDB Store)端云同步的能力。即:云作为数据的中心节点,通过与云的数据同步,实现数据云备份、同帐号设备间的数据一致性。
......
......@@ -76,7 +76,7 @@ let uri = ("datashare:///com.samples.datasharetest.DataShare");
let dataShareHelper;
try {
dataShare.createDataShareHelper(this.context, uri, (err, data) => {
if (err != undefined) {
if (err !== undefined) {
console.error(`createDataShareHelper error: code: ${err.code}, message: ${err.message} `);
return;
}
......@@ -88,9 +88,57 @@ try {
};
```
## dataShare.createDataShareHelper<sup>10+</sup>
createDataShareHelper(context: Context, uri: string, options: DataShareHelperOptions, callback: AsyncCallback&lt;DataShareHelper&gt;): void
创建DataShareHelper实例。使用callback异步回调。
使用规则:
- 调用方应用位于后台时,使用该接口访问DataShareExtension需申请`ohos.permission.START_ABILITIES_FROM_BACKGROUND`权限
- 跨应用场景下,目标DataShareExtension的exported属性若配置为false,调用方应用需申请`ohos.permission.START_INVISIBLE_ABILITY`权限
- 组件启动规则详见:[组件启动规则(Stage模型)](../../application-models/component-startup-rules.md)
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| context | [Context](js-apis-inner-application-context.md#context) | 是 | 应用的上下文环境。 |
| uri | string | 是 | 指示要连接的服务端应用的路径。 |
| options | [DataShareHelperOptions](#datasharehelperoptions10)| 是 | 可选配置。指定[DataShareHelper](#datasharehelper)是否在代理模式下。|
| callback | AsyncCallback&lt;[DataShareHelper](#datasharehelper)&gt; | 是 | 回调函数。当创建DataShareHelper实例成功,err为undefined,data为获取到的DataShareHelper实例;否则为错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[数据共享错误码](../errorcodes/errorcode-datashare.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------------------- |
| 15700010 | The DataShareHelper is not initialized successfully. |
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashareproxy://com.samples.datasharetest.DataShare");
let dataShareHelper;
try {
dataShare.createDataShareHelper(this.context, uri, {isProxy : true}, (err, data) => {
if (err !== undefined) {
console.error(`createDataShareHelper error: code: ${err.code}, message: ${err.message} `);
return;
}
console.info("createDataShareHelper succeed, data : " + data);
dataShareHelper = data;
});
} catch (err) {
console.error(`createDataShareHelper error: code: ${err.code}, message: ${err.message} `);
};
```
## dataShare.createDataShareHelper
createDataShareHelper(context: Context, uri: string): Promise&lt;DataShareHelper&gt;
createDataShareHelper(context: Context, uri: string, options?: DataShareHelperOptions): Promise&lt;DataShareHelper&gt;
创建DataShareHelper实例。使用Promise异步回调。
......@@ -107,6 +155,7 @@ createDataShareHelper(context: Context, uri: string): Promise&lt;DataShareHelper
| ------- | ------------------------------------------------- | ---- | ------------------------------ |
| context | [Context](js-apis-inner-application-context.md#context) | 是 | 应用的上下文环境。 |
| uri | string | 是 | 指示要连接的服务端应用的路径。 |
| options | [DataShareHelperOptions](#datasharehelperoptions10) | 否 | 可选配置。从API version 10开始支持此参数,如果不设置,则表示[DataShareHelper](#datasharehelper)不在代理模式下。|
**返回值:**
......@@ -127,10 +176,10 @@ createDataShareHelper(context: Context, uri: string): Promise&lt;DataShareHelper
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let uri = ("datashareproxy://com.samples.datasharetest.DataShare");
let dataShareHelper;
try {
dataShare.createDataShareHelper(this.context, uri).then((data) => {
dataShare.createDataShareHelper(this.context, uri, {isProxy : true}).then((data) => {
console.info("createDataShareHelper succeed, data : " + data);
dataShareHelper = data;
}). catch((err) => {
......@@ -141,6 +190,83 @@ try {
};
```
## DataShareHelperOptions<sup>10+</sup>
指定[DataShareHelper](#datasharehelper)是否在代理模式下。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| isProxy | boolean | 否 | 默认为false,如果为true,则要创建的[DataShareHelper](#datasharehelper)处于代理模式,所有操作都不会打开数据提供者APP,除非数据库不存在,当数据库不存在时,[createDataShareHelper](#datasharecreatedatasharehelper10)会拉起数据提供者创建数据库。 |
## TemplateId<sup>10+</sup>
标记模板的数据结构,TemplateId是在[addTemplate](#addtemplate10)中自动生成的,在[addTemplate](#addtemplate10)后,可以使用模板id来标记模板。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| subscriberId | string | 是 | 指定处理回调的订阅者的id,与[addTemplate](#addtemplate10)中的subscriberId相同,每个订阅者的ID是唯一的。 |
| bundleNameOfOwner | string | 是 | 指定创建模板的模板所有者的bundleName,与[addTemplate](#addtemplate10)中的bundleName相同。 |
## PublishedItem<sup>10+</sup>
指定发布的数据类型。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 指定发布数据的键。 |
| data | string \| [Ashmem](js-apis-rpc.md#ashmem8) | 是 | 指定发布的数据。如果数据很大,请使用Ashmem。 |
| subscriberId | string | 是 | 指定订阅者id。 |
## RdbDataChangeNode<sup>10+</sup>
订阅/取消订阅RDB数据变更的结果。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| uri | string | 是 | 指定回调的uri。 |
| templateId | [TemplateId](#templateid10) | 是 | 处理回调的templateId。 |
| data | Array&lt;string&gt; | 是 | 指定回调的数据。 |
## PublishedDataChangeNode<sup>10+</sup>
订阅/取消订阅已发布数据变更的结果。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 指定回调的bundleName。 |
| data | Array&lt;[PublishedItem](#publisheditem10)&gt; | 是 | 指定回调的数据。 |
## Template<sup>10+</sup>
指定订阅中的模板结构。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| predicates | { [key: string]: string } | 是 | 指定模板的谓词。当调用[on](#onrdbdatachange10)的回调时,谓词用于生成数据。仅适用于rdb存储数据。 |
| scheduler | string | 是 | 指定模板的调度程序sql。其中嵌入自定义函数处理,目前预置自定义函数remindTimer处理。remindTimer在指定场景触发一次订阅刷新。<br/>触发场景:<br/>1. 修改数据时且有订阅的情况下触发对应的调度程序sql语句。<br/>2. 添加对应库第一个订阅的情况下触发对应的调度程序sql语句。 |
## OperationResult<sup>10+</sup>
订阅/取消订阅数据变更和发布数据的操作结果。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | ----- | -------- |
| key | string | 是 | 指定运算结果的键。 |
| result | number | 是 | 指定运算结果。 |
## DataShareHelper
DataShare管理工具实例,可使用此实例访问或管理服务端的数据。在调用DataShareHelper提供的方法前,需要先通过[createDataShareHelper](#datasharecreatedatasharehelper)构建一个实例。
......@@ -164,8 +290,6 @@ on(type: 'dataChange', uri: string, callback: AsyncCallback&lt;void&gt;): void
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
function onCallback() {
console.info("**** Observer on callback ****");
}
......@@ -192,8 +316,6 @@ off(type: 'dataChange', uri: string, callback?: AsyncCallback&lt;void&gt;): void
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
function callback() {
console.info("**** Observer callback ****");
}
......@@ -202,6 +324,437 @@ dataShareHelper.on("dataChange", uri, callback);
dataShareHelper.off("dataChange", uri, callback);
```
### addTemplate<sup>10+</sup>
addTemplate(uri: string, subscriberId: string, template: Template): void
添加一个指定订阅者的数据模板。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | -------------------------|
| uri | string | 是 | 指示要插入的数据的路径。 |
| subscriberId | string | 是 | 要添加模板的订阅者ID,每个订阅者的ID是唯一的。 |
| template | [Template](#template10) | 是 | 要添加的数据模板。 |
**错误码:**
以下错误码的详细介绍请参见[数据共享错误码](../errorcodes/errorcode-datashare.md)
| 错误码ID | 错误信息 |
| -------- | -------------------- |
| 15700011 | The uri is not exist.|
**示例:**
```ts
let uri = ("datashareproxy://com.samples.datasharetest.DataShare");
let subscriberId = '11';
let template = {
predicates : {
"p1" : "select cityColumn as city_1, visitedCilumn as visited_1 from citys where like = true",
"p2" : "select cityColumn as city_2, visitedCilumn as visited_2 from citys where like = false",
},
scheduler : "select remindTimer(time) from TBL00"
}
dataShareHelper.addTemplate(uri, subscriberId, template);
```
### delTemplate<sup>10+</sup>
delTemplate(uri: string, subscriberId: string): void
删除一个指定订阅者的数据模板。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------| ---- | ------------------------- |
| uri | string | 是 | 指示要插入的数据的路径。 |
| subscriberId | string | 是 | 订阅者ID,每个订阅者的ID是唯一的。 |
**错误码:**
以下错误码的详细介绍请参见[数据共享错误码](../errorcodes/errorcode-datashare.md)
| 错误码ID | 错误信息 |
| -------- | -------------------- |
| 15700011 | The uri is not exist.|
**示例:**
```ts
let uri = ("datashareproxy://com.samples.datasharetest.DataShare");
let subscriberId = '11';
let template = {
predicates : {
"p1" : "select cityColumn as city_1, visitedCilumn as visited_1 from citys where like = true",
"p2" : "select cityColumn as city_2, visitedCilumn as visited_2 from citys where like = false",
},
scheduler : "select remindTimer(time) from TBL00"
}
dataShareHelper.addTemplate(uri, subscriberId, template);
dataShareHelper.delTemplate(uri, subscriberId);
```
### on('rdbDataChange')<sup>10+</sup>
on(type: 'rdbDataChange', uris: Array&lt;string&gt;, templateId: TemplateId, callback: AsyncCallback&lt;RdbDataChangeNode&gt;): Array&lt;OperationResult&gt;
订阅指定URI和模板对应的数据变更事件。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------| ---- | ------------------------------------------------------------ |
| type | string | 是 | 订阅的事件类型,支持的事件为'rdbDataChange',表示rdb数据的变更事件。 |
| uris | Array&lt;string&gt; | 是 | 要操作的数据的路径。 |
| templateId | [TemplateId](#templateid10) | 是 | 处理回调的templateId。 |
| callback | AsyncCallback&lt;[RdbDataChangeNode](#rdbdatachangenode10)&gt; | 是 | 回调函数。当触发变更通知时调用,err为undefined,node为订阅数据变更结果;否则不被触发或为错误对象。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Array&lt;[OperationResult](#operationresult10)&gt; | 返回操作结果。|
**示例:**
```ts
function onCallback(err, node:dataShare.RdbDataChangeNode) {
console.info("onCallback " + JSON.stringify(node.uri));
console.info("onCallback " + JSON.stringify(node.templateId));
console.info("onCallback " + node.data.length);
for (let i = 0; i < node.data.length; i++) {
console.info("onCallback " + typeof node.data[i] + " " + node.data[i]);
}
}
let uri = ("datashareproxy://com.samples.datasharetest.DataShare");
let templateId:dataShare.TemplateId = {subscriberId:"11", bundleNameOfOwner:"com.acts.ohos.data.datasharetest"};
let result:Array<dataShare.OperationResult> = dataShareHelper.on("rdbDataChange", [uri], templateId, onCallback);
```
### off('rdbDataChange')<sup>10+</sup>
off(type: 'rdbDataChange', uris: Array&lt;string&gt;, templateId: TemplateId, callback?: AsyncCallback&lt;RdbDataChangeNode&gt;): Array&lt;OperationResult&gt;
取消订阅指定URI和模板对应的数据变更事件。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ---------------------------------------------------------- |
| type | string | 是 | 取消订阅的事件类型,支持的事件为'rdbDataChange',表示rdb数据的变更事件。 |
| uris | Array&lt;string&gt; | 是 | 要操作的数据的路径。 |
| templateId | [TemplateId](#templateid10) | 是 | 处理回调的templateId。 |
| callback | AsyncCallback&lt;[RdbDataChangeNode](#rdbdatachangenode10)&gt; | 否 | 回调函数。表示指定取消订阅的callback通知,如果为空,则取消订阅该uri下所有的通知事件。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Array&lt;[OperationResult](#operationresult10)&gt; | 返回操作结果。|
**示例:**
```ts
let uri = ("datashareproxy://com.samples.datasharetest.DataShare");
let templateId:dataShare.TemplateId = {subscriberId:"11", bundleNameOfOwner:"com.acts.ohos.data.datasharetest"};
let result:Array<dataShare.OperationResult> = dataShareHelper.off("rdbDataChange", [uri], templateId);
```
### on('publishedDataChange')<sup>10+</sup>
on(type: 'publishedDataChange', uris: Array&lt;string&gt;, subscriberId: string, callback: AsyncCallback&lt;PublishedDataChangeNode&gt;): Array&lt;OperationResult&gt;
订阅已发布数据的数据变更通知。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------| ---- | ------------------------------------------------------------ |
| type | string | 是 | 订阅的事件类型,支持的事件为'publishedDataChange',表示已发布数据的变更事件。 |
| uris | Array&lt;string&gt; | 是 | 要操作的数据的路径。 |
| subscriberId | string | 是 | 指定处理回调的用户ID。 |
| callback | AsyncCallback&lt;[PublishedDataChangeNode](#publisheddatachangenode10)&gt; | 是 | 回调函数。当触发变更通知时调用,err为undefined,node为订阅数据变更结果;否则不被触发或为错误对象。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Array&lt;[OperationResult](#operationresult10)&gt; | 返回操作结果。|
**示例:**
```ts
import rpc from '@ohos.rpc';
function onPublishCallback(err, node:dataShare.PublishedDataChangeNode) {
console.info("onPublishCallback node bundleName " + JSON.stringify(node.bundleName));
console.info("onPublishCallback node data size" + node.data.length);
for (let i = 0; i < node.data.length; i++) {
console.info("onPublishCallback node " + typeof node.data[i].data);
if (typeof node.data[i].data != 'string') {
let ash:rpc.Ashmem = node.data[i].data;
ash.mapReadonlyAshmem();
console.info("onPublishCallback " + JSON.stringify(ash.readAshmem(ash.getAshmemSize()/4, 0)));
ash.closeAshmem();
}
console.info("onPublishCallback data " + i + " " + JSON.stringify(node.data[i]));
}
}
let uris:Array<string> = ['city', 'datashareproxy://com.acts.ohos.data.datasharetest/appInfo', 'key2'];
let subscriberId = '11';
let result: Array<dataShare.OperationResult> = dataShareHelper.on('publishedDataChange', uris, subscriberId, onPublishCallback);
```
### off('publishedDataChange')<sup>10+</sup>
off(type: 'publishedDataChange', uris: Array&lt;string&gt;, subscriberId: string, callback?: AsyncCallback&lt;PublishedDataChangeNode&gt;): Array&lt;OperationResult&gt;
取消订阅已发布数据的数据变更通知。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ---------------------------------------------------------- |
| type | string | 是 | 取消订阅的事件类型,支持的事件为'publishedDataChange',表示已发布数据的变更事件。|
| uris | Array&lt;string&gt; | 是 | 要操作的数据的路径。 |
| subscriberId | string | 是 | 指定处理回调的用户ID。 |
| callback | AsyncCallback&lt;[PublishedDataChangeNode](#publisheddatachangenode10)&gt; | 否 | 回调函数。表示指定取消订阅的callback通知,如果为空,则取消订阅该uri下所有的通知事件。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Array&lt;[OperationResult](#operationresult10)&gt; | 返回操作结果。|
**示例:**
```ts
function offCallback(err, node:dataShare.PublishedDataChangeNode) {
console.info("**** Observer off callback ****");
}
let uris:Array<string> = ["city", "datashareproxy://com.acts.ohos.data.datasharetest/appInfo", "key2"];
let subscriberId = '11';
let result: Array<dataShare.OperationResult> = dataShareHelper.off("publishedDataChange", uris, subscriberId, offCallback);
```
### publish<sup>10+</sup>
publish(data: Array&lt;PublishedItem&gt;, bundleName: string, version: number, callback: AsyncCallback&lt;Array&lt;OperationResult&gt;&gt;): void
发布数据,将数据数据更新至数据库。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | -------------------------------------------------| ---- | ------------------- |
| data | Array&lt;[PublishedItem](#publisheditem10)&gt; | 是 | 指示要发布的数据。 |
| bundleName | string | 是 | 表示要发布数据所属的APP,对发布的私有数据生效,仅该app可以读取数据。 |
| version | number | 是 | 指示要发布的数据版本,越大表示数据版本越新。如果发布的版本号小于数据库中的记录,则更新失败。 |
| callback | AsyncCallback&lt;Array&lt;[OperationResult](#operationresult10)&gt;&gt; | 是 | 回调函数。当发布数据时调用,err为undefined,result为发布数据结果;否则不被触发或为错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[数据共享错误码](../errorcodes/errorcode-datashare.md)
| 错误码ID | 错误信息 |
| -------- | -------------------------- |
| 15700012 | The data area is not exist.|
**示例:**
```ts
import rpc from '@ohos.rpc';
let ashmem = null;
let subscriberId = '11';
let version = 1;
let data : Array<dataShare.PublishedItem> = [
{key:"city", subscriberId:"11", data:"xian"},
{key:"datashareproxy://com.acts.ohos.data.datasharetest/appInfo", subscriberId:"11", data:"appinfo is just a test app"},
{key:"empty", subscriberId:"11", data:"nobody sub"}];
let nums:number[] = [1,2,3];
function publishCallback(err, result: Array<dataShare.OperationResult>) {
console.log("publishCallback " + JSON.stringify(result));
ashmem.closeAshmem();
}
try {
ashmem = rpc.Ashmem.create("ashmem", (nums.length) * 4);
ashmem.mapReadWriteAshmem();
ashmem.writeAshmem(nums, nums.length, 0);
data.push({
"key" : "key2",
"data" : ashmem,
"subscriberId" : "11",
});
console.log("data length is:", data.length);
dataShareHelper.publish(data, "com.acts.ohos.data.datasharetest", version, publishCallback);
} catch (e) {
console.log("publish error " + JSON.stringify(e));
}
```
### publish<sup>10+</sup>
publish(data: Array&lt;PublishedItem&gt;, bundleName: string, callback: AsyncCallback&lt;Array&lt;OperationResult&gt;&gt;): void
发布数据,将数据数据更新至数据库。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------- | ---- | ---------------------------------- |
| data | Array&lt;[PublishedItem](#publisheditem10)&gt; | 是 | 指示要发布的数据。 |
| bundleName | string | 是 | 表示要发布数据所属的APP,对发布的私有数据生效,仅该app可以读取数据。 |
| callback | AsyncCallback&lt;Array&lt;[OperationResult](#operationresult10)&gt;&gt; | 是 | 回调函数。当发布数据时调用,err为undefined,result为发布数据结果;否则不被触发或为错误对象。 |
**示例:**
**错误码:**
以下错误码的详细介绍请参见[数据共享错误码](../errorcodes/errorcode-datashare.md)
| 错误码ID | 错误信息 |
| -------- | -------------------------- |
| 15700012 | The data area is not exist.|
```ts
function publishCallback(err, result: Array<dataShare.OperationResult>) {
console.log("publishCallback " + JSON.stringify(result));
}
let data : Array<dataShare.PublishedItem> = [
{key:"city", subscriberId:"11", data:"xian"},
{key:"datashareproxy://com.acts.ohos.data.datasharetest/appInfo", subscriberId:"11", data:"appinfo is just a test app"},
{key:"empty", subscriberId:"11", data:"nobody sub"}];
dataShareHelper.publish(data, "com.acts.ohos.data.datasharetest", publishCallback);
```
### publish<sup>10+</sup>
publish(data: Array&lt;PublishedItem&gt;, bundleName: string, version?: number): Promise&lt;Array&lt;OperationResult&gt;&gt;
发布数据,将数据数据更新至数据库。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------- | ---- | ------------------------------ |
| data | Array&lt;[PublishedItem](#publisheditem10)&gt; | 是 | 指示要发布的数据。|
| bundleName | string | 是 | 表示要发布数据所属的APP,对发布的私有数据生效,仅该app可以读取数据。 |
| version | number | 否 | 指示要发布的数据版本,越大表示数据版本越新。如果发布的版本号小于数据库中的记录,则更新失败。<br/> 如果不检查要发布的数据版本,则不填。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Promise&lt;Array&lt;[OperationResult](#operationresult10)&gt;&gt; | 发布数据结果。|
**错误码:**
以下错误码的详细介绍请参见[数据共享错误码](../errorcodes/errorcode-datashare.md)
| 错误码ID | 错误信息 |
| -------- | -------------------------- |
| 15700012 | The data area is not exist.|
**示例:**
```ts
let data : Array<dataShare.PublishedItem> = [
{key:"city", subscriberId:"11", data:"xian"},
{key:"datashareproxy://com.acts.ohos.data.datasharetest/appInfo", subscriberId:"11", data:"appinfo is just a test app"},
{key:"empty", subscriberId:"11", data:"nobody sub"}];
let result: Array<dataShare.OperationResult> = dataShareHelper.publish(data, "com.acts.ohos.data.datasharetest");
```
### getPublishedData<sup>10+</sup>
getPublishedData(bundleName: string, callback: AsyncCallback&lt;Array&lt;PublishedItem&gt;&gt;): void
获取给定的APP和模板指定的数据。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -----------------| ---- | ----------------------------- |
| bundleName | string | 是 | 表示数据所属的APP。 |
| callback | AsyncCallback&lt;Array&lt;[PublishedItem](#publisheditem10)&gt;&gt; | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[数据共享错误码](../errorcodes/errorcode-datashare.md)
| 错误码ID | 错误信息 |
| -------- | -------------------------- |
| 15700012 | The data area is not exist.|
**示例:**
```ts
function publishCallback(err, data: Array<dataShare.PublishedItem>) {
console.info("**** Observer publish callback ****");
}
dataShareHelper.getPublishedData("com.acts.ohos.data.datasharetest", publishCallback);
```
### getPublishedData<sup>10+</sup>
getPublishedData(bundleName: string): Promise&lt;Array&lt;PublishedItem&gt;&gt;
获取给定的APP和模板指定的数据。
**系统能力:** SystemCapability.DistributedDataManager.DataShare.Consumer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------| ---- | -------------------------------------- |
| bundleName | string | 是 | 表示数据所属的APP。 |
**返回值:**
| 类型 | 说明 |
| ---------------- | ------------------------------------------------------------ |
| Promise&lt;Array&lt;[PublishedItem](#publisheditem10)&gt;&gt; | Promise对象。返回给定的APP和模板指定的数据。|
**错误码:**
以下错误码的详细介绍请参见[数据共享错误码](../errorcodes/errorcode-datashare.md)
| 错误码ID | 错误信息 |
| -------- | -------------------------- |
| 15700012 | The data area is not exist.|
**示例:**
```ts
let publishedData:Array<dataShare.PublishedItem> = dataShareHelper.getPublishedData("com.acts.ohos.data.datasharetest");
```
### insert
insert(uri: string, value: ValuesBucket, callback: AsyncCallback&lt;number&gt;): void
......@@ -221,8 +774,6 @@ insert(uri: string, value: ValuesBucket, callback: AsyncCallback&lt;number&gt;):
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
const valueBucket = {
"name": "rose",
......@@ -231,7 +782,7 @@ const valueBucket = {
}
try {
dataShareHelper.insert(uri, valueBucket, (err, data) => {
if (err != undefined) {
if (err !== undefined) {
console.error(`insert error: code: ${err.code}, message: ${err.message} `);
return;
}
......@@ -266,8 +817,6 @@ insert(uri: string, value: ValuesBucket): Promise&lt;number&gt;
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
const valueBucket = {
"name": "rose1",
......@@ -304,7 +853,6 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates, callbac
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
......@@ -312,7 +860,7 @@ let da = new dataSharePredicates.DataSharePredicates();
da.equalTo("name", "ZhangSan");
try {
dataShareHelper.delete(uri, da, (err, data) => {
if (err != undefined) {
if (err !== undefined) {
console.error(`delete error: code: ${err.code}, message: ${err.message} `);
return;
}
......@@ -347,7 +895,6 @@ delete(uri: string, predicates: dataSharePredicates.DataSharePredicates): Promis
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
......@@ -384,7 +931,6 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
......@@ -393,7 +939,7 @@ let da = new dataSharePredicates.DataSharePredicates();
da.equalTo("name", "ZhangSan");
try {
dataShareHelper.query(uri, da, columns, (err, data) => {
if (err != undefined) {
if (err !== undefined) {
console.error(`query error: code: ${err.code}, message: ${err.message} `);
return;
}
......@@ -429,7 +975,6 @@ query(uri: string, predicates: dataSharePredicates.DataSharePredicates, columns:
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
......@@ -467,7 +1012,6 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
......@@ -481,7 +1025,7 @@ const va = {
}
try {
dataShareHelper.update(uri, da, va, (err, data) => {
if (err != undefined) {
if (err !== undefined) {
console.error(`update error: code: ${err.code}, message: ${err.message} `);
return;
}
......@@ -517,7 +1061,6 @@ update(uri: string, predicates: dataSharePredicates.DataSharePredicates, value:
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
import dataSharePredicates from '@ohos.data.dataSharePredicates';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
......@@ -559,15 +1102,13 @@ batchInsert(uri: string, values: Array&lt;ValuesBucket&gt;, callback: AsyncCallb
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let vbs = new Array({"name": "roe11", "age": 21, "salary": 20.5,},
{"name": "roe12", "age": 21, "salary": 20.5,},
{"name": "roe13", "age": 21, "salary": 20.5,})
try {
dataShareHelper.batchInsert(uri, vbs, (err, data) => {
if (err != undefined) {
if (err !== undefined) {
console.error(`batchInsert error: code: ${err.code}, message: ${err.message} `);
return;
}
......@@ -602,8 +1143,6 @@ batchInsert(uri: string, values: Array&lt;ValuesBucket&gt;): Promise&lt;number&g
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let vbs = new Array({"name": "roe11", "age": 21, "salary": 20.5,},
{"name": "roe12", "age": 21, "salary": 20.5,},
......@@ -637,11 +1176,9 @@ normalizeUri(uri: string, callback: AsyncCallback&lt;string&gt;): void
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.normalizeUri(uri, (err, data) => {
if (err != undefined) {
if (err !== undefined) {
console.log("normalizeUri failed, error message : " + err);
}else{
console.log("normalizeUri = " + data);
......@@ -672,8 +1209,6 @@ normalizeUri(uri: string): Promise&lt;string&gt;
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.normalizeUri(uri).then((data) => {
console.log("normalizeUri = " + data);
......@@ -700,11 +1235,9 @@ denormalizeUri(uri: string, callback: AsyncCallback&lt;string&gt;): void
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.denormalizeUri(uri, (err, data) => {
if (err != undefined) {
if (err !== undefined) {
console.log("denormalizeUri failed, error message : " + err);
}else{
console.log("denormalizeUri = " + data);
......@@ -735,8 +1268,6 @@ denormalizeUri(uri: string): Promise&lt;string&gt;
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.denormalizeUri(uri).then((data) => {
console.log("denormalizeUri = " + data);
......@@ -763,8 +1294,6 @@ notifyChange(uri: string, callback: AsyncCallback&lt;void&gt;): void
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.notifyChange(uri, () => {
console.log("***** notifyChange *****");
......@@ -794,8 +1323,6 @@ notifyChange(uri: string): Promise&lt;void&gt;
**示例:**
```ts
import UIAbility from '@ohos.app.ability.UIAbility';
let uri = ("datashare:///com.samples.datasharetest.DataShare");
dataShareHelper.notifyChange(uri);
```
\ No newline at end of file
# @ohos.font(注册自定义字体)
# @ohos.font (注册自定义字体)
本模块提供注册自定义字体。
......@@ -22,16 +22,16 @@ registerFont(options: FontOptions): void
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | --------------------------- | ---- | ---------------------- |
| options | [FontOptions](#fontoptions) | 是 | 注册的自定义字体信息。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------- | --------------------------- | ---- | ----------- |
| options | [FontOptions](#fontoptions) | 是 | 注册的自定义字体信息。 |
## FontOptions
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ------------------------ |
| familyName | string | 是 | 设置注册的字体名称。 |
| familySrc | string | 是 | 设置注册字体文件的路径。 |
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ------------ |
| familyName | string | 是 | 设置注册的字体名称。 |
| familySrc | string | 是 | 设置注册字体文件的路径。 |
## 示例
......
......@@ -55,6 +55,8 @@ httpRequest.request(
// data.header为HTTP响应头,可根据业务需要进行解析
console.info('header:' + JSON.stringify(data.header));
console.info('cookies:' + JSON.stringify(data.cookies)); // 8+
// 当该请求使用完毕时,调用destroy方法主动销毁
httpRequest.destroy();
} else {
console.info('error:' + JSON.stringify(err));
// 取消订阅HTTP响应头事件
......
......@@ -19,9 +19,10 @@ debug(message: string, ...arguments: any[]): void
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| message | string | 是 | 表示要打印的文本信息。 |
| arguments | any | 否 | 表示其余要打印的信息或message的替换值。 |
| arguments | any[] | 否 | 表示其余要打印的信息或message的替换值。 |
**示例:**
```js
const number = 5;
console.debug('count: %d', number); // 格式化输出替换message中的文本。
......@@ -45,9 +46,10 @@ log(message: string, ...arguments: any[]): void
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| message | string | 是 | 表示要打印的文本信息。 |
| arguments | any | 否 |表示其余要打印的信息或message的替换值。 |
| arguments | any[] | 否 |表示其余要打印的信息或message的替换值。 |
**示例:**
```js
const number = 5;
console.log('count: %d', number); // 格式化输出替换message中的文本。
......@@ -71,9 +73,10 @@ info(message: string, ...arguments: any[]): void
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| message | string | 是 | 表示要打印的文本信息。 |
| arguments | any | 否 | 表示其余要打印的信息或message的替换值。 |
| arguments | any[] | 否 | 表示其余要打印的信息或message的替换值。 |
**示例:**
```js
const number = 5;
console.info('count: %d', number); // 格式化输出替换message中的文本。
......@@ -97,9 +100,10 @@ warn(message: string, ...arguments: any[]): void
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| message | string | 是 | 表示要打印的警告信息。 |
| arguments | any | 否 | 表示其余要打印的信息或message的替换值。 |
| arguments | any[] | 否 | 表示其余要打印的信息或message的替换值。 |
**示例:**
```js
const str = "name should be string";
console.warn('warn: %d', str); // 格式化输出替换message中的文本。
......@@ -123,10 +127,11 @@ error(message: string, ...arguments: any[]): void
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ----------- |
| message | string | 是 | 表示要打印的错误信息。 |
| arguments | any | 否 | 表示其余要打印的信息或message的替换值。 |
| arguments | any[] | 否 | 表示其余要打印的信息或message的替换值。 |
**示例:**
```js
const str = "value is not defined";
console.error('error: %d', str); // 格式化输出替换message中的文本。
......@@ -153,6 +158,7 @@ assert(value?: Object, ...arguments: Object[]): void
| arguments | Object | 否 | value为假(false)的后续错误消息打印。省略则不打印。|
**示例:**
```js
console.assert(true, 'does nothing'); // 表达式结果值为true, 无打印。
console.assert(2 % 1 == 0, 'does nothing'); // 表达式结果值为true, 无打印。
......@@ -180,6 +186,7 @@ count(label?: string): void
**示例:**
```js
console.count()
// default: 1
......@@ -210,6 +217,7 @@ countReset(label?: string): void
| label | string | 否 | 计数器标签名。默认值为'default'。|
**示例:**
```js
console.count('abc');
// abc: 1
......@@ -234,6 +242,7 @@ dir(dir?: Object): void
**示例:**
```js
let a = { foo: { bar: { baz: true } }};
console.dir(a);
......@@ -258,6 +267,7 @@ dirxml(...arguments: Object[]): void
| arguments | Object | 是 | 要打印的信息。 |
**示例:**
```js
const number = 5;
console.dirxml('count: %d', number);
......@@ -284,6 +294,7 @@ group(...arguments: Object[]): void
| arguments | Object | 否 | 要打印的信息。 |
**示例:**
```js
console.log("outter");
// outter
......@@ -313,6 +324,7 @@ groupCollapsed(...arguments: Object[]): void
**示例:**
```js
console.groupCollapsed("outter");
// outter
......@@ -335,6 +347,7 @@ groupEnd(): void
**示例:**
```js
console.log("outter");
// outter
......@@ -362,6 +375,7 @@ table(tableData?: Object): void
| tableData | Object | 否 | 要打印为表格形式的对象。省略则无任何打印。 |
**示例:**
```js
console.table([1, 2, 3]);
// ┌─────────┬────────┐
......@@ -382,6 +396,7 @@ console.table({ a: [1, 2, 3, 4, 5], b: 5, c: { e: 5 } });
// │ c │ │ │ │ │ │ 5 │ │
// └─────────┴───┴───┴───┴───┴───┴───┴────────┘
```
## console.time<sup>10+</sup>
time(label?: string): void
......@@ -397,6 +412,7 @@ time(label?: string): void
| label | string | 否 | 计时器标识。默认值为'default'。 |
**示例:**
```js
console.time('abc');
```
......@@ -416,6 +432,7 @@ timeEnd(label?: string): void
| label | string | 否 | 计时器标识。默认值为'default' |
**示例:**
```js
console.time('abc');
console.timeEnd('abc');
......@@ -438,6 +455,7 @@ timeLog(label?: string, ...arguments: Object[]): void
| arguments | Object | 否 | 需要打印的其他日志。 |
**示例:**
```js
console.time('timer1');
console.timeLog('timer1', 17);
......@@ -461,6 +479,7 @@ trace(...arguments: Object[]): void
| arguments | Object | 否 | 需要打印的其他日志。省略则仅打印堆栈信息。|
**示例:**
```js
console.trace();
// Trace:
......
......@@ -318,7 +318,7 @@ Codec MIME类型枚举。
| MD_KEY_BITRATE | 'bitrate' | 表示比特率,其对应键值类型为number,单位为比特率(bps)。 |
| MD_KEY_WIDTH | 'width' | 表示视频宽度,其对应键值类型为number,单位为像素(px)。 |
| MD_KEY_HEIGHT | 'height' | 表示视频高度,其对应键值类型为number,单位为像素(px)。 |
| MD_KEY_FRAME_RATE | 'frame_rate' | 表示视频帧率,其对应键值类型为number,单位为帧每秒(fps)。 |
| MD_KEY_FRAME_RATE | 'frame_rate' | 表示视频帧率,其对应键值类型为number,单位为100帧每秒(100fps)。 |
| MD_KEY_AUD_CHANNEL_COUNT | 'channel_count' | 表示声道数,其对应键值类型为number。 |
| MD_KEY_AUD_SAMPLE_RATE | 'sample_rate' | 表示采样率,其对应键值类型为number,单位为赫兹(Hz)。 |
......
......@@ -4,7 +4,7 @@
> **说明:**
>
> - 本模块首批接口从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
> - 本模块首批接口从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
## 导入模块
......@@ -18,10 +18,10 @@ Plugin组件模板参数。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
| 参数 | 类型 | 必填 | 描述 |
| ---------- | ------ | ---- | --------------------------- |
| source | string | 是 | 组件模板名。 |
| bundleName | string | 是 | 提供者Ability的bundleName。 |
| 参数 | 类型 | 必填 | 描述 |
| ---------- | ------ | ---- | ---------------------- |
| source | string | 是 | 组件模板名。 |
| bundleName | string | 是 | 提供者Ability的bundleName。 |
## PluginComponentManager
......@@ -33,14 +33,14 @@ Plugin组件模板参数。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
| 取值范围 | 说明 |
| --------------------- | ---------------------------------------- |
| 取值范围 | 说明 |
| --------------------- | -------------------- |
| [key: string] | 关键字,数据类型为字符串,可取空字符串。 |
| number | 键值,表示值类型为数字。 |
| number | 键值,表示值类型为数字。 |
| string | 键值,表示值类型为字符串,可取空字符串。 |
| boolean | 键值,表示值类型为布尔值。 |
| [] | 键值,可取值为[]。 |
| [KVObject](#kvobject) | 键值,表示值类型为KVObject。 |
| boolean | 键值,表示值类型为布尔值。 |
| [] | 键值,可取值为[]。 |
| [KVObject](#kvobject) | 键值,表示值类型为KVObject。 |
### PushParameters
......@@ -51,13 +51,13 @@ Plugin组件模板参数。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
| 名称 | 类型 | 必填 | 说明 |
| --------- | ----------------------------------- | ---- | -------------------------------------------------------------- |
| want | [Want](js-apis-application-want.md) | 是 | 组件使用者Ability信息。 |
| name | string | 是 | 组件名称。 |
| data | [KVObject](#kvobject) | 是 | 组件数据值。 |
| extraData | [KVObject](#kvobject) | 是 | 附加数据值。 |
| jsonPath | string | 否 | 存放模板路径的[external.json](#externaljson文件说明)件的路径。 |
| 名称 | 类型 | 必填 | 说明 |
| --------- | ----------------------------------- | ---- | ---------------------------------------- |
| want | [Want](js-apis-application-want.md) | 是 | 组件使用者Ability信息。 |
| name | string | 是 | 组件名称。 |
| data | [KVObject](#kvobject) | 是 | 组件数据值。 |
| extraData | [KVObject](#kvobject) | 是 | 附加数据值。 |
| jsonPath | string | 否 | 存放模板路径的[external.json](#externaljson文件说明)件的路径。 |
### PushParameterForStage
......@@ -69,14 +69,14 @@ Plugin组件模板参数。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
| 名称 | 类型 | 必填 | 说明 |
| --------- | ----------------------------------- | ---- | ---------------------------------------------------------------- |
| owner | [Want](js-apis-application-want.md) | 是 | 组件提供方Ability信息。 |
| target | [Want](js-apis-application-want.md) | 是 | 组件使用者Ability信息。 |
| name | string | 是 | 组件名称。 |
| data | [KVObject](#kvobject) | 是 | 组件数据值。 |
| extraData | [KVObject](#kvobject) | 是 | 附加数据值。 |
| jsonPath | string | 否 | 存放模板路径的[external.json](#externaljson文件说明)文件的路径。 |
| 名称 | 类型 | 必填 | 说明 |
| --------- | ----------------------------------- | ---- | ---------------------------------------- |
| owner | [Want](js-apis-application-want.md) | 是 | 组件提供方Ability信息。 |
| target | [Want](js-apis-application-want.md) | 是 | 组件使用者Ability信息。 |
| name | string | 是 | 组件名称。 |
| data | [KVObject](#kvobject) | 是 | 组件数据值。 |
| extraData | [KVObject](#kvobject) | 是 | 附加数据值。 |
| jsonPath | string | 否 | 存放模板路径的[external.json](#externaljson文件说明)文件的路径。 |
### RequestParameters
......@@ -86,12 +86,12 @@ Plugin组件模板参数。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | --------------------------------------------------------------------------------------------------------------------- |
| want | [Want](js-apis-application-want.md) | 是 | 组件提供者Ability信息。 |
| name | string | 是 | 请求组件名称。 |
| data | [KVObject](#kvobject) | 是 | 附加数据。 |
| jsonPath | string | 否 | 存放模板路径的[external.json](#externaljson文件说明)文件的路径。jsonPath字段不为空或者未设置的时候不触发Request通信。 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ---------------------------------------- |
| want | [Want](js-apis-application-want.md) | 是 | 组件提供者Ability信息。 |
| name | string | 是 | 请求组件名称。 |
| data | [KVObject](#kvobject) | 是 | 附加数据。 |
| jsonPath | string | 否 | 存放模板路径的[external.json](#externaljson文件说明)文件的路径。jsonPath字段不为空或者未设置的时候不触发Request通信。 |
### RequestParameterForStage
......@@ -103,13 +103,13 @@ Plugin组件模板参数。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | --------------------------------------------------------------------------------------------------------------------- |
| owner | [Want](js-apis-application-want.md) | 是 | 组件使用者Ability信息。 |
| target | [Want](js-apis-application-want.md) | 是 | 组件提供者Ability信息。 |
| name | string | 是 | 请求组件名称。 |
| data | [KVObject](#kvobject) | 是 | 附加数据。 |
| jsonPath | string | 否 | 存放模板路径的[external.json](#externaljson文件说明)文件的路径。jsonPath字段不为空或者未设置的时候不触发Request通信。 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ---------------------------------------- |
| owner | [Want](js-apis-application-want.md) | 是 | 组件使用者Ability信息。 |
| target | [Want](js-apis-application-want.md) | 是 | 组件提供者Ability信息。 |
| name | string | 是 | 请求组件名称。 |
| data | [KVObject](#kvobject) | 是 | 附加数据。 |
| jsonPath | string | 否 | 存放模板路径的[external.json](#externaljson文件说明)文件的路径。jsonPath字段不为空或者未设置的时候不触发Request通信。 |
### RequestCallbackParameters
......@@ -117,11 +117,11 @@ PluginManager.Request方法时候接收到的回调结果。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
| 名称 | 类型 | 必填 | 说明 |
| ----------------- | --------------------------------------------------- | ---- | ---------- |
| componentTemplate | [PluginComponentTemplate](#plugincomponenttemplate) | 是 | 组件模板。 |
| data | [KVObject](#kvobject) | 是 | 组件数据。 |
| extraData | [KVObject](#kvobject) | 是 | 附加数据。 |
| 名称 | 类型 | 必填 | 说明 |
| ----------------- | ---------------------------------------- | ---- | ----- |
| componentTemplate | [PluginComponentTemplate](#plugincomponenttemplate) | 是 | 组件模板。 |
| data | [KVObject](#kvobject) | 是 | 组件数据。 |
| extraData | [KVObject](#kvobject) | 是 | 附加数据。 |
### RequestEventResult
......@@ -129,11 +129,11 @@ PluginManager.Request方法时候接收到的回调结果。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
| 名称 | 类型 | 必填 | 说明 |
| --------- | --------------------- | ---- | ---------- |
| template | string | 否 | 组件模板。 |
| data | [KVObject](#kvobject) | 否 | 组件数据。 |
| extraData | [KVObject](#kvobject) | 否 | 附加数据。 |
| 名称 | 类型 | 必填 | 说明 |
| --------- | --------------------- | ---- | ----- |
| template | string | 否 | 组件模板。 |
| data | [KVObject](#kvobject) | 否 | 组件数据。 |
| extraData | [KVObject](#kvobject) | 否 | 附加数据。 |
### OnPushEventCallback
......@@ -144,12 +144,12 @@ OnPushEventCallback = (source: Want, template: PluginComponentTemplate, data: KV
**参数:**
| 参数 | 类型 | 必填 | 说明 |
| --------- | --------------------------------------------------- | ---- | ---------------------------------------- |
| source | [Want](js-apis-application-want.md) | 是 | Push请求发送方相关信息。 |
| template | [PluginComponentTemplate](#plugincomponenttemplate) | 是 | Push请求发送方相关信息请求组件模板名称。 |
| data | [KVObject](#kvobject) | 是 | 数据。 |
| extraData | [KVObject](#kvobject) | 是 | 附加数据。 |
| 参数 | 类型 | 必填 | 说明 |
| --------- | ---------------------------------------- | ---- | ---------------------- |
| source | [Want](js-apis-application-want.md) | 是 | Push请求发送方相关信息。 |
| template | [PluginComponentTemplate](#plugincomponenttemplate) | 是 | Push请求发送方相关信息请求组件模板名称。 |
| data | [KVObject](#kvobject) | 是 | 数据。 |
| extraData | [KVObject](#kvobject) | 是 | 附加数据。 |
**示例:**
......@@ -172,11 +172,11 @@ OnRequestEventCallback = (source: Want, name: string, data: KVObject) => Request
**参数:**
| 参数 | 类型 | 必填 | 说明 |
| --------- | ----------------------------------- | ---- | --------------------------- |
| source | [Want](js-apis-application-want.md) | 是 | request请求发送方相关信息。 |
| name | string | 是 | 模板名称。 |
| extraData | [KVObject](#kvobject) | 是 | 附加数据。 |
| 参数 | 类型 | 必填 | 说明 |
| --------- | ----------------------------------- | ---- | ----------------- |
| source | [Want](js-apis-application-want.md) | 是 | request请求发送方相关信息。 |
| name | string | 是 | 模板名称。 |
| extraData | [KVObject](#kvobject) | 是 | 附加数据。 |
**示例:**
......@@ -200,10 +200,10 @@ push(param: PushParameters , callback: AsyncCallback&lt;void&gt;): void
**模型约束:** 此接口仅适用于FA模型。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------- | ---- | ------------------------ |
| param | [PushParameters](#pushparameters) | 是 | 组件使用者的详细信息。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 此次接口调用的异步回调。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------- | ---- | ------------ |
| param | [PushParameters](#pushparameters) | 是 | 组件使用者的详细信息。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 此次接口调用的异步回调。 |
**示例:**
......@@ -241,10 +241,10 @@ push(param: PushParameterForStage, callback: AsyncCallback&lt;void&gt;): void
**模型约束:** 此接口仅适用于Stage模型。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------- | ---- | ------------------------ |
| param | [PushParameterForStage](#pushparameterforstage) | 是 | 组件使用者的详细信息。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 此次接口调用的异步回调。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------ |
| param | [PushParameterForStage](#pushparameterforstage) | 是 | 组件使用者的详细信息。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 此次接口调用的异步回调。 |
**示例:**
......@@ -289,10 +289,10 @@ request(param: RequestParameters, callback: AsyncCallback&lt;RequestCallbackPara
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------- |
| param | [RequestParameters](#requestparameters) | 是 | 组件模板的详细请求信息。 |
| callback | AsyncCallback&lt;[RequestCallbackParameters](#requestcallbackparameters)&nbsp;\|&nbsp;void&gt; | 是 | 此次请求的异步回调,&nbsp;通过回调接口的参数返回接受请求的数据。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ----------------------------------- |
| param | [RequestParameters](#requestparameters) | 是 | 组件模板的详细请求信息。 |
| callback | AsyncCallback&lt;[RequestCallbackParameters](#requestcallbackparameters)&nbsp;\|&nbsp;void&gt; | 是 | 此次请求的异步回调,&nbsp;通过回调接口的参数返回接受请求的数据。 |
**示例:**
......@@ -332,10 +332,10 @@ request(param: RequestParameterForStage, callback: AsyncCallback&lt;RequestCallb
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------- |
| param | [RequestParameterForStage](#requestparameterforstage) | 是 | 组件模板的详细请求信息。 |
| callback | AsyncCallback&lt;[RequestCallbackParameters](#requestcallbackparameters)&nbsp;\|&nbsp;void&gt; | 是 | 此次请求的异步回调,&nbsp;通过回调接口的参数返回接受请求的数据。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ----------------------------------- |
| param | [RequestParameterForStage](#requestparameterforstage) | 是 | 组件模板的详细请求信息。 |
| callback | AsyncCallback&lt;[RequestCallbackParameters](#requestcallbackparameters)&nbsp;\|&nbsp;void&gt; | 是 | 此次请求的异步回调,&nbsp;通过回调接口的参数返回接受请求的数据。 |
**示例:**
......@@ -371,10 +371,10 @@ on(eventType: string, callback: OnPushEventCallback | OnRequestEventCallback ):
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ---------------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| eventType | string | 是 | 监听的事件类型,&nbsp;可选值为:"push"&nbsp;、"request"。<br/>"push”:指组件提供者向使用者主动推送数据。<br/>"request”:指组件使用者向提供者主动请求数据。 |
| callback | [OnPushEventCallback](#onpusheventcallback)&nbsp;\|&nbsp;[OnRequestEventCallback](#onrequesteventcallback) | 是 | 对应监听回调,push事件对应回调类型为[OnPushEventCallback](#onpusheventcallback),request事件对应回调类型为[OnRequestEventCallback](#onrequesteventcallback) 。 |
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ---------------------------------------- | ---- | ---------------------------------------- |
| eventType | string | 是 | 监听的事件类型,&nbsp;可选值为:"push"&nbsp;、"request"。<br/>"push”:指组件提供者向使用者主动推送数据。<br/>"request”:指组件使用者向提供者主动请求数据。 |
| callback | [OnPushEventCallback](#onpusheventcallback)&nbsp;\|&nbsp;[OnRequestEventCallback](#onrequesteventcallback) | 是 | 对应监听回调,push事件对应回调类型为[OnPushEventCallback](#onpusheventcallback),request事件对应回调类型为[OnRequestEventCallback](#onrequesteventcallback) 。 |
**示例:**
......
......@@ -20,25 +20,23 @@ import reminderAgent from'@ohos.reminderAgent';
## reminderAgent.publishReminder<sup>(deprecated)</sup>
```ts
publishReminder(reminderReq: ReminderRequest, callback: AsyncCallback\<number>): void
```
发布一个后台代理提醒,使用回调的方式实现异步调用,该方法需要申请通知弹窗权限[Notification.requestEnableNotification](js-apis-notification.md#notificationrequestenablenotification8)后才能调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.publishReminder](js-apis-reminderAgentManager.md#reminderagentmanagerpublishreminder)替代。
**需要权限**`ohos.permission.PUBLISH_AGENT_REMINDER`
**需要权限**ohos.permission.PUBLISH_AGENT_REMINDER
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| reminderReq | [ReminderRequest](#reminderrequest) | 是 | 需要发布的提醒实例。 |
| callback | AsyncCallback\<number\> | 是 | 异步回调,返回当前发布的提醒的id。 |
| callback | AsyncCallback\<number> | 是 | 异步回调,返回当前发布的提醒的id。 |
**示例**
```ts
......@@ -55,18 +53,16 @@ publishReminder(reminderReq: ReminderRequest, callback: AsyncCallback\<number>):
## reminderAgent.publishReminder<sup>(deprecated)</sup>
```ts
publishReminder(reminderReq: ReminderRequest): Promise\<number>
```
发布一个后台代理提醒,使用Promise方式实现异步调用,该方法需要申请通知弹窗权限[Notification.requestEnableNotification](js-apis-notification.md#notificationrequestenablenotification8)后才能调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.publishReminder](js-apis-reminderAgentManager.md#reminderagentmanagerpublishreminder-1)替代。
**需要权限**`ohos.permission.PUBLISH_AGENT_REMINDER`
**需要权限**ohos.permission.PUBLISH_AGENT_REMINDER
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**参数**
| 参数名 | 类型 | 必填 | 说明 |
......@@ -76,7 +72,7 @@ publishReminder(reminderReq: ReminderRequest): Promise\<number>
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise\<number\> | 返回提醒的Id。 |
| Promise\<number> | 返回提醒的Id。 |
**示例**
```ts
......@@ -93,23 +89,21 @@ publishReminder(reminderReq: ReminderRequest): Promise\<number>
## reminderAgent.cancelReminder<sup>(deprecated)</sup>
```ts
cancelReminder(reminderId: number, callback: AsyncCallback\<void>): void
```
取消指定id的提醒,使用回调的方式实现异步调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.cancelReminder](js-apis-reminderAgentManager.md#reminderagentmanagercancelreminder)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| reminderId | number | 是 | 目标reminder的id号,[publishReminder](#reminderagentpublishreminder)方法调用成功后获得。 |
| callback | AsyncCallback\<void\> | 是 | 异步回调。 |
| callback | AsyncCallback\<void> | 是 | 异步回调。 |
**示例**
......@@ -122,16 +116,14 @@ reminderAgent.cancelReminder(1, (err, data) => {
## reminderAgent.cancelReminder<sup>(deprecated)</sup>
```ts
cancelReminder(reminderId: number): Promise\<void>
```
取消指定id的提醒,使用Promise方式实现异步调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.cancelReminder](js-apis-reminderAgentManager.md#reminderagentmanagercancelreminder-1)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**参数**
......@@ -143,7 +135,7 @@ cancelReminder(reminderId: number): Promise\<void>
| 类型 | 说明 |
| -------- | -------- |
| Promise\<void\> | Promise类型异步回调。 |
| Promise\<void> | Promise类型异步回调。 |
**示例**
......@@ -155,22 +147,20 @@ reminderAgent.cancelReminder(1).then(() => {
## reminderAgent.getValidReminders<sup>(deprecated)</sup>
```ts
getValidReminders(callback: AsyncCallback\<Array\<ReminderRequest>>): void
```
获取当前应用已设置的所有有效(未过期)的提醒,使用回调的方式实现异步调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.getValidReminders](js-apis-reminderAgentManager.md#reminderagentmanagergetvalidreminders)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback\<Array\<[ReminderRequest](#reminderrequest)\>\> | 是 | 异步回调,返回当前应用已设置的所有有效(未过期)的提醒。 |
| callback | AsyncCallback\<Array\<[ReminderRequest](#reminderrequest)>> | 是 | 异步回调,返回当前应用已设置的所有有效(未过期)的提醒。 |
**示例**
......@@ -204,22 +194,20 @@ reminderAgent.getValidReminders((err, reminders) => {
## reminderAgent.getValidReminders<sup>(deprecated)</sup>
```ts
getValidReminders(): Promise\<Array\<ReminderRequest>>
```
获取当前应用已设置的所有有效(未过期)的提醒,使用Promise方式实现异步调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.getValidReminders](js-apis-reminderAgentManager.md#reminderagentmanagergetvalidreminders-1)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise\<Array\<[ReminderRequest](#reminderrequest)\>\> | 返回当前应用已设置的所有有效(未过期)的提醒。 |
| Promise\<Array\<[ReminderRequest](#reminderrequest)>> | 返回当前应用已设置的所有有效(未过期)的提醒。 |
**示例**
......@@ -253,22 +241,20 @@ reminderAgent.getValidReminders().then((reminders) => {
## reminderAgent.cancelAllReminders<sup>(deprecated)</sup>
```ts
cancelAllReminders(callback: AsyncCallback\<void>): void
```
取消当前应用所有的提醒,使用回调的方式实现异步调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.cancelAllReminders](js-apis-reminderAgentManager.md#reminderagentmanagercancelallreminders)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback\<void\> | 是 | 异步回调。 |
| callback | AsyncCallback\<void> | 是 | 异步回调。 |
**示例**
......@@ -281,22 +267,20 @@ reminderAgent.cancelAllReminders((err, data) =>{
## reminderAgent.cancelAllReminders<sup>(deprecated)</sup>
```ts
cancelAllReminders(): Promise\<void>
```
取消当前应用所有的提醒,使用Promise方式实现异步调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.cancelAllReminders](js-apis-reminderAgentManager.md#reminderagentmanagercancelallreminders-1)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**返回值**
| 类型 | 说明 |
| -------- | -------- |
| Promise\<void\> | Promise类型异步回调。 |
| Promise\<void> | Promise类型异步回调。 |
**示例**
......@@ -308,23 +292,21 @@ reminderAgent.cancelAllReminders().then(() => {
## reminderAgent.addNotificationSlot<sup>(deprecated)</sup>
```ts
addNotificationSlot(slot: NotificationSlot, callback: AsyncCallback\<void>): void
```
添加一个NotificationSlot,使用回调的方式实现异步调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.addNotificationSlot](js-apis-reminderAgentManager.md#reminderagentmanageraddnotificationslot)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| slot | [NotificationSlot](js-apis-notification.md#notificationslot) | 是 | notification\.slot实例,仅支持设置其type属性。 |
| callback | AsyncCallback\<void\> | 是 | 异步回调。 |
| callback | AsyncCallback\<void> | 是 | 异步回调。 |
**示例**
......@@ -342,16 +324,14 @@ reminderAgent.addNotificationSlot(mySlot, (err, data) => {
## reminderAgent.addNotificationSlot<sup>(deprecated)</sup>
```ts
addNotificationSlot(slot: NotificationSlot): Promise\<void>
```
添加一个NotificationSlot,使用Promise方式实现异步调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.addNotificationSlot](js-apis-reminderAgentManager.md#reminderagentmanageraddnotificationslot-1)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**参数**
......@@ -363,7 +343,7 @@ addNotificationSlot(slot: NotificationSlot): Promise\<void>
| 类型 | 说明 |
| -------- | -------- |
| Promise\<void\> | Promise类型异步回调。 |
| Promise\<void> | Promise类型异步回调。 |
**示例**
......@@ -381,23 +361,21 @@ reminderAgent.addNotificationSlot(mySlot).then(() => {
## reminderAgent.removeNotificationSlot<sup>(deprecated)</sup>
```ts
removeNotificationSlot(slotType: notification.SlotType, callback: AsyncCallback<void>): void
```
删除目标NotificationSlot,使用callback方式实现异步调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.removeNotificationSlot](js-apis-reminderAgentManager.md#reminderagentmanagerremovenotificationslot)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| slotType | [notification.SlotType](js-apis-notification.md#slottype) | 是 | 目标notification\.slot的类型。 |
| callback | AsyncCallback\<void\> | 是 | 异步回调。 |
| callback | AsyncCallback\<void> | 是 | 异步回调。 |
**示例**
......@@ -412,16 +390,14 @@ reminderAgent.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION,
## reminderAgent.removeNotificationSlot<sup>(deprecated)</sup>
```ts
removeNotificationSlot(slotType: notification.SlotType): Promise<void>
```
删除目标NotificationSlot,使用Promise方式实现异步调用。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.removeNotificationSlot](js-apis-reminderAgentManager.md#reminderagentmanagerremovenotificationslot-1)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
**参数**
......@@ -433,7 +409,7 @@ removeNotificationSlot(slotType: notification.SlotType): Promise<void>
| 类型 | 说明 |
| -------- | -------- |
| Promise\<void\> | Promise类型异步回调。 |
| Promise\<void> | Promise类型异步回调。 |
**示例**
......@@ -453,7 +429,7 @@ reminderAgent.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION).
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.ActionButtonType](js-apis-reminderAgentManager.md#ActionButtonType)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
......@@ -468,7 +444,7 @@ reminderAgent.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION).
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.ReminderType](js-apis-reminderAgentManager.md#ReminderType)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
| 名称 | 值 | 说明 |
| -------- | -------- | -------- |
......@@ -484,7 +460,7 @@ reminderAgent.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION).
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.ActionButton](js-apis-reminderAgentManager.md#ActionButton)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -499,7 +475,7 @@ reminderAgent.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION).
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.WantAgent](js-apis-reminderAgentManager.md#WantAgent)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -514,7 +490,7 @@ reminderAgent.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION).
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.MaxScreenWantAgent](js-apis-reminderAgentManager.md#MaxScreenWantAgent)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -529,7 +505,7 @@ reminderAgent.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION).
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.ReminderRequest](js-apis-reminderAgentManager.md#ReminderRequest)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**`SystemCapability.Notification.ReminderAgent
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -550,50 +526,46 @@ reminderAgent.removeNotificationSlot(notification.SlotType.CONTENT_INFORMATION).
## ReminderRequestCalendar<sup>(deprecated)</sup>
ReminderRequestCalendar extends ReminderRequest
日历实例对象,用于设置提醒的时间。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.ReminderRequestCalendar](js-apis-reminderAgentManager.md#ReminderRequestCalendar)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| dateTime | [LocalDateTime](#localdatetime) | 是 | 指明提醒的目标时间。 |
| repeatMonths | Array\<number\> | 否 | 指明重复提醒的月份。 |
| repeatDays | Array\<number\> | 否 | 指明重复提醒的日期。 |
| repeatMonths | Array\<number> | 否 | 指明重复提醒的月份。 |
| repeatDays | Array\<number> | 否 | 指明重复提醒的日期。 |
## ReminderRequestAlarm<sup>(deprecated)</sup>
ReminderRequestAlarm extends ReminderRequest
闹钟实例对象,用于设置提醒的时间。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.ReminderRequestAlarm](js-apis-reminderAgentManager.md#ReminderRequestAlarm)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| hour | number | 是 | 指明提醒的目标时刻。 |
| minute | number | 是 | 指明提醒的目标分钟。 |
| daysOfWeek | Array\<number\> | 否 | 指明每周哪几天需要重复提醒。范围为周一到周末,对应数字为1到7。 |
| daysOfWeek | Array\<number> | 否 | 指明每周哪几天需要重复提醒。范围为周一到周末,对应数字为1到7。 |
## ReminderRequestTimer<sup>(deprecated)</sup>
ReminderRequestTimer extends ReminderRequest
倒计时实例对象,用于设置提醒的时间。
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.ReminderRequestTimer](js-apis-reminderAgentManager.md#ReminderRequestTimer)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......@@ -607,7 +579,7 @@ ReminderRequestTimer extends ReminderRequest
> **说明:**
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[reminderAgentManager.LocalDateTime](js-apis-reminderAgentManager.md#LocalDateTime)替代。
**系统能力**`SystemCapability.Notification.ReminderAgent`
**系统能力**SystemCapability.Notification.ReminderAgent
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......
......@@ -170,7 +170,7 @@ cancelReminder(reminderId: number): Promise\<void>
| 类型 | 说明 |
| -------- | -------- |
| PPromise\<void> | Promise类型异步回调。 |
| Promise\<void> | Promise类型异步回调。 |
**错误码:**
......
......@@ -2,9 +2,9 @@
任务池(taskpool)作用是为应用程序提供一个多线程的运行环境,降低整体资源的消耗、提高系统的整体性能,且您无需关心线程实例的生命周期。您可以使用任务池API创建后台任务(Task),并对所创建的任务进行如任务执行、任务取消的操作。理论上您可以使用任务池API创建数量不受限制的任务,但是出于内存因素不建议您这样做。此外,不建议您在任务中执行阻塞操作,特别是无限期阻塞操作,长时间的阻塞操作占据工作线程,可能会阻塞其他任务调度,影响您的应用性能。
您所创建的同一优先级任务的执行顺序可以由您决定,任务真实执行的顺序与您调用任务池API提供的任务执行接口顺序一致。任务默认优先级是MEDIUM。(任务优先级机制暂未支持)
您所创建的同一优先级任务的执行顺序可以由您决定,任务真实执行的顺序与您调用任务池API提供的任务执行接口顺序一致。任务默认优先级是MEDIUM。
当同一时间待执行的任务数量大于任务池工作线程数量,任务池会根据负载均衡机制进行扩容,增加工作线程数量,减少整体等待时长。同样,当执行的任务数量减少,工作线程数量大于执行任务数量,部分工作线程处于空闲状态,任务池会根据负载均衡机制进行缩容,减少工作线程数量。(负载均衡机制暂未支持)
当同一时间待执行的任务数量大于任务池工作线程数量,任务池会根据负载均衡机制进行扩容,增加工作线程数量,减少整体等待时长。同样,当执行的任务数量减少,工作线程数量大于执行任务数量,部分工作线程处于空闲状态,任务池会根据负载均衡机制进行缩容,减少工作线程数量。
任务池API以数字形式返回错误码。有关各个错误码的更多信息,请参阅文档[语言基础类库错误码](../errorcodes/errorcode-utils.md)
......@@ -32,13 +32,13 @@ import taskpool from '@ohos.taskpool';
**示例:**
```ts
function func(args) {
"use concurrent";
console.log("func: " + args);
@Concurrent
function printArgs(args) {
console.log("printArgs: " + args);
return args;
}
async function taskpoolTest() {
let task = new taskpool.Task(func, 100);
async function taskpoolPriority() {
let task = new taskpool.Task(printArgs, 100);
let highCount = 0;
let mediumCount = 0;
......@@ -65,7 +65,7 @@ async function taskpoolTest() {
})
}
}
taskpoolTest();
taskpoolPriority();
```
## Task
......@@ -99,12 +99,12 @@ Task的构造函数。
```ts
@Concurrent
function func(args) {
console.log("func: " + args);
function printArgs(args) {
console.log("printArgs: " + args);
return args;
}
let task = new taskpool.Task(func, "this is my first Task");
let task = new taskpool.Task(printArgs, "this is my first Task");
```
### 属性
......@@ -151,17 +151,17 @@ execute(func: Function, ...args: unknown[]): Promise\<unknown>
```ts
@Concurrent
function func(args) {
console.log("func: " + args);
function printArgs(args) {
console.log("printArgs: " + args);
return args;
}
async function taskpoolTest() {
let value = await taskpool.execute(func, 100);
async function taskpoolExecute() {
let value = await taskpool.execute(printArgs, 100);
console.log("taskpool result: " + value);
}
taskpoolTest();
taskpoolExecute();
```
## taskpool.execute
......@@ -199,18 +199,18 @@ execute(task: Task, priority?: Priority): Promise\<unknown>
```ts
@Concurrent
function func(args) {
console.log("func: " + args);
function printArgs(args) {
console.log("printArgs: " + args);
return args;
}
async function taskpoolTest() {
let task = new taskpool.Task(func, 100);
async function taskpoolExecute() {
let task = new taskpool.Task(printArgs, 100);
let value = await taskpool.execute(task);
console.log("taskpool result: " + value);
}
taskpoolTest();
taskpoolExecute();
```
## taskpool.cancel
......@@ -239,14 +239,14 @@ cancel(task: Task): void
**任务取消成功示例:**
```ts
function func(args) {
"use concurrent";
console.log("func: " + args);
@Concurrent
function printArgs(args) {
console.log("printArgs: " + args);
return args;
}
async function taskpoolTest() {
let task = new taskpool.Task(func, 100);
async function taskpoolCancel() {
let task = new taskpool.Task(printArgs, 100);
taskpool.execute(task);
try {
taskpool.cancel(task);
......@@ -255,20 +255,20 @@ async function taskpoolTest() {
}
}
taskpoolTest();
taskpoolCancel();
```
**已执行的任务取消失败示例:**
```ts
function func(args) {
"use concurrent";
console.log("func: " + args);
@Concurrent
function printArgs(args) {
console.log("printArgs: " + args);
return args;
}
async function taskpoolTest() {
let task = new taskpool.Task(func, 100);
async function taskpoolCancel() {
let task = new taskpool.Task(printArgs, 100);
let value = taskpool.execute(task);
let start = new Date().getTime();
while (new Date().getTime() - start < 1000) { // 延时1s,确保任务已执行
......@@ -282,25 +282,25 @@ async function taskpoolTest() {
}
}
taskpoolTest();
taskpoolCancel();
```
**正在执行的任务取消失败示例:**
```ts
function func(args) {
"use concurrent";
console.log("func: " + args);
@Concurrent
function printArgs(args) {
console.log("printArgs: " + args);
return args;
}
async function taskpoolTest() {
let task1 = new taskpool.Task(func, 100);
let task2 = new taskpool.Task(func, 200);
let task3 = new taskpool.Task(func, 300);
let task4 = new taskpool.Task(func, 400);
let task5 = new taskpool.Task(func, 500);
let task6 = new taskpool.Task(func, 600);
async function taskpoolCancel() {
let task1 = new taskpool.Task(printArgs, 100);
let task2 = new taskpool.Task(printArgs, 200);
let task3 = new taskpool.Task(printArgs, 300);
let task4 = new taskpool.Task(printArgs, 400);
let task5 = new taskpool.Task(printArgs, 500);
let task6 = new taskpool.Task(printArgs, 600);
let res1 = taskpool.execute(task1);
let res2 = taskpool.execute(task2);
......@@ -315,7 +315,7 @@ async function taskpoolTest() {
}
}
taskpoolTest();
taskpoolCancel();
```
## 其他说明
......@@ -327,7 +327,7 @@ taskpoolTest();
- 仅支持在Stage模型且module的compileMode为esmodule的project中使用taskpool api。确认module的compileMode方法:查看当前module的build-profile.json5,在buildOption中补充"compileMode": "esmodule"。
- taskpool任务只支持引用入参传递或者import的变量,不支持使用闭包变量,使用装饰器@Concurrent进行拦截。
- taskpool任务只支持普通函数或者async函数,不支持类成员函数或者匿名函数,使用装饰器@Concurrent进行拦截。
- 装饰器@Concurrent仅支持在ets文件使用,在ts文件中创建taskpool任务需使用"use concurrent"
- 装饰器@Concurrent仅支持在ets文件使用。
### 简单使用
......@@ -336,23 +336,23 @@ taskpoolTest();
```ts
// 支持普通函数、引用入参传递
@Concurrent
function func(args) {
function printArgs(args) {
console.log("func: " + args);
return args;
}
async function taskpoolTest() {
async function taskpoolExecute() {
// taskpool.execute(task)
let task = new taskpool.Task(func, "create task, then execute");
let task = new taskpool.Task(printArgs, "create task, then execute");
let val1 = await taskpool.execute(task);
console.log("taskpool.execute(task) result: " + val1);
// taskpool.execute(function)
let val2 = await taskpool.execute(func, "execute task by func");
let val2 = await taskpool.execute(printArgs, "execute task by func");
console.log("taskpool.execute(function) result: " + val2);
}
taskpoolTest();
taskpoolExecute();
```
**示例二**
......@@ -367,24 +367,24 @@ export var c = 2000;
import { c } from "./b";
@Concurrent
function test(a) {
function printArgs(a) {
console.log(a);
console.log(c);
return a;
}
async function taskpoolTest() {
async function taskpoolExecute() {
// taskpool.execute(task)
let task = new taskpool.Task(test, "create task, then execute");
let task = new taskpool.Task(printArgs, "create task, then execute");
let val1 = await taskpool.execute(task);
console.log("taskpool.execute(task) result: " + val1);
// taskpool.execute(function)
let val2 = await taskpool.execute(test, "execute task by func");
let val2 = await taskpool.execute(printArgs, "execute task by func");
console.log("taskpool.execute(function) result: " + val2);
}
taskpoolTest();
taskpoolExecute();
```
**示例三**
......@@ -392,57 +392,52 @@ taskpoolTest();
```ts
// 支持async函数
@Concurrent
async function task() {
async function delayExcute() {
let ret = await Promise.all([
new Promise(resolve => setTimeout(resolve, 1000, "resolved"))
]);
return ret;
}
async function taskpoolTest() {
taskpool.execute(task).then((result) => {
async function taskpoolExecute() {
taskpool.execute(delayExcute).then((result) => {
console.log("TaskPoolTest task result: " + result);
});
}
taskpoolTest();
taskpoolExecute();
```
**示例四**
```ts
// 在ts文件中创建taskpool任务需使用"use concurrent"
// c.ts
function test1(n) {
"use concurrent"
return n;
// c.ets
@Concurrent
function strSort(inPutArr) {
let newArr = inPutArr.sort();
return newArr;
}
export async function taskpoolTest1() {
console.log("taskpoolTest1 start");
var task = new taskpool.Task(test1, 100);
export async function func1() {
console.log("taskpoolTest start");
let strArray = ['c test string', 'b test string', 'a test string'];
var task = new taskpool.Task(strSort, strArray);
var result = await taskpool.execute(task);
console.log("taskpoolTest1 result:" + result);
console.log("func1 result:" + result);
}
async function test2() {
"use concurrent"
var ret = await Promise.all([
new Promise(resolve => setTimeout(resolve, 1000, "resolved"))
]);
return ret;
}
export async function taskpoolTest2() {
export async function func2() {
console.log("taskpoolTest2 start");
taskpool.execute(test2).then((result) => {
console.log("TaskPoolTest2 result: " + result);
let strArray = ['c test string', 'b test string', 'a test string'];
taskpool.execute(strSort, strArray).then((result) => {
console.log("func2 result: " + result);
});
}
```
```ts
// a.ets(与c.ts在同一目录中)
// a.ets(与c.ets在同一目录中)
import { taskpoolTest1, taskpoolTest2 } from "./c";
taskpoolTest1();
taskpoolTest2();
func1();
func2();
```
\ No newline at end of file
......@@ -20,7 +20,7 @@ setTimeout(handler: Function | string, delay?: number, ...arguments: any[]): num
| -------- | -------- | -------- | -------- |
| handler | Function \| string | 是 | 定时器到期后执行函数。类型为string则打印Error信息,不进行其他处理。 |
| delay | number | 否 | 延迟的毫秒数,函数的调用会在该延迟之后发生。如果省略该参数,delay取默认值0,意味着“马上”执行,或尽快执行。 |
| ...arguments | Array&lt;any&gt; | 否 | 附加参数,一旦定时器到期,它们会作为参数传递给handler。 |
| ...arguments | any[] | 否 | 附加参数,一旦定时器到期,它们会作为参数传递给handler。 |
**返回值:**
......@@ -41,7 +41,7 @@ setTimeout(handler: Function | string, delay?: number, ...arguments: any[]): num
clearTimeout(timeoutID?: number): void
取消了先前通过调用setTimeout()建立的定时器。
可取消通过调用setTimeout()建立的定时器。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
......@@ -75,7 +75,7 @@ setInterval(handler: Function | string, delay: number, ...arguments: any[]): num
| -------- | -------- | -------- | -------- |
| handler | Function \| string | 是 | 要重复调用的函数。类型为string则打印Error信息,不进行其他处理。|
| delay | number | 是 | 延迟的毫秒数,函数的调用会在该延迟之后发生。 |
| ...arguments | Array&lt;any&gt; | 否 | 附加参数,一旦定时器到期,他们会作为参数传递给handler。 |
| ...arguments | any[] | 否 | 附加参数,一旦定时器到期,他们会作为参数传递给handler。 |
**返回值:**
......@@ -96,7 +96,7 @@ setInterval(handler: Function | string, delay: number, ...arguments: any[]): num
clearInterval(intervalID?: number): void
可取消先前通过setInterval()设置的重复定时任务。
可取消通过setInterval()设置的重复定时任务。
**系统能力:** SystemCapability.ArkUI.ArkUI.Full
......
......@@ -19,7 +19,7 @@ getUserFileMgr(context: Context): UserFileManager
获取用户数据管理模块的实例,用于访问和修改用户等用户公共媒体数据信息(如音频、视频、图片、文档等)。
**模型约束:** 此接口仅可在Stage模型下使用。
**模型约束** 此接口仅可在Stage模型下使用。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
......@@ -27,13 +27,13 @@ getUserFileMgr(context: Context): UserFileManager
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------- | ---- | -------------------------- |
| context | [Context](js-apis-inner-app-context.md) | 是 | 传入Ability实例的Context |
| context | [Context](js-apis-inner-app-context.md) | 是 | 传入Ability实例的Context |
**返回值:**
| 类型 | 说明 |
| ----------------------------- | :---- |
| [UserFileManager](#userfilemanager) | 媒体库实例 |
| [UserFileManager](#userfilemanager) | 媒体库实例 |
**示例:**
......@@ -59,8 +59,8 @@ getPhotoAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| options | [FetchOptions](#fetchoptions) | 是 | 图片和视频检索选项 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是 | callback 返回图片和视频检索结果集 |
| options | [FetchOptions](#fetchoptions) | 是 | 图片和视频检索选项 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是 | callback返回图片和视频检索结果集。 |
**示例:**
......@@ -80,7 +80,7 @@ async function example() {
console.info('fetchResult success');
let fileAsset = await fetchResult.getFirstObject();
if (fileAsset != undefined) {
console.info("fileAsset.displayName : " + fileAsset.displayName);
console.info('fileAsset.displayName : ' + fileAsset.displayName);
}
} else {
console.error('fetchResult fail' + err);
......@@ -103,13 +103,13 @@ getPhotoAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&g
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------- | ---- | ---------------- |
| options | [FetchOptions](#fetchoptions) | 是 | 图片和视频检索选项 |
| options | [FetchOptions](#fetchoptions) | 是 | 图片和视频检索选项 |
**返回值:**
| 类型 | 说明 |
| --------------------------- | -------------- |
| Promise&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 图片和视频数据结果集 |
| Promise&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | Promise对象,返回图片和视频数据结果集。 |
**示例:**
......@@ -129,7 +129,7 @@ async function example() {
console.info('fetchResult success');
let fileAsset = await fetchResult.getFirstObject();
if (fileAsset != undefined) {
console.info("fileAsset.displayName :" + fileAsset.displayName);
console.info('fileAsset.displayName :' + fileAsset.displayName);
}
}
} catch (err) {
......@@ -137,12 +137,11 @@ async function example() {
}
}
```
### createPhotoAsset
createPhotoAsset(displayName: string, albumUri: string, callback: AsyncCallback&lt;FileAsset&gt;): void;
创建图片或视频资源,使用callback方式返回结果。
指定待创建的图片或者视频的文件名和所在相册的uri,创建图片或视频资源,使用callback方式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
......@@ -152,9 +151,9 @@ createPhotoAsset(displayName: string, albumUri: string, callback: AsyncCallback&
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| displayName | string | 是 | 创建的图片或者视频文件名 |
| albumUri | string | 是 | 创建的图片或者视频所在相册的uri |
| callback | AsyncCallback&lt;[FileAsset](#fileasset)&gt; | 是 | callback 返回创建的图片和视频结果 |
| displayName | string | 是 | 创建的图片或者视频文件名 |
| albumUri | string | 是 | 创建的图片或者视频所在相册的uri |
| callback | AsyncCallback&lt;[FileAsset](#fileasset)&gt; | 是 | callback返回创建的图片和视频结果。 |
**示例:**
......@@ -169,7 +168,7 @@ async function example() {
};
let albums = await mgr.getPhotoAlbums(fetchOptions);
let album = await albums.getFirstObject();
let testFileName = "testFile" + Date.now() + ".jpg";
let testFileName = 'testFile' + Date.now() + '.jpg';
mgr.createPhotoAsset(testFileName, album.albumUri, (err, fileAsset) => {
if (fileAsset != undefined) {
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
......@@ -185,7 +184,7 @@ async function example() {
createPhotoAsset(displayName: string, callback: AsyncCallback&lt;FileAsset&gt;): void;
创建图片或视频资源,使用callback方式返回结果。
指定待创建的图片或者视频的文件名,创建图片或视频资源,使用callback方式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
......@@ -195,15 +194,15 @@ createPhotoAsset(displayName: string, callback: AsyncCallback&lt;FileAsset&gt;):
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| displayName | string | 是 | 创建的图片或者视频文件名 |
| callback | AsyncCallback&lt;[FileAsset](#fileasset)&gt; | 是 | callback 返回创建的图片和视频结果 |
| displayName | string | 是 | 创建的图片或者视频文件名 |
| callback | AsyncCallback&lt;[FileAsset](#fileasset)&gt; | 是 | callback返回创建的图片和视频结果。 |
**示例:**
```ts
async function example() {
console.info('createPhotoAssetDemo');
let testFileName = "testFile" + Date.now() + ".jpg";
let testFileName = 'testFile' + Date.now() + '.jpg';
mgr.createPhotoAsset(testFileName, (err, fileAsset) => {
if (fileAsset != undefined) {
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
......@@ -219,7 +218,7 @@ async function example() {
createPhotoAsset(displayName: string, albumUri?: string): Promise&lt;FileAsset&gt;;
创建图片或视频资源,使用Promise方式返回结果。
指定待创建的图片或者视频的文件名和所在相册的uri,创建图片或视频资源,使用Promise方式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
......@@ -229,14 +228,14 @@ createPhotoAsset(displayName: string, albumUri?: string): Promise&lt;FileAsset&g
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| displayName | string | 是 | 创建的图片或者视频文件名 |
| albumUri | string | 否 | 创建的图片或者视频所在相册的uri |
| displayName | string | 是 | 创建的图片或者视频文件名 |
| albumUri | string | 否 | 创建的图片或者视频所在相册的uri |
**返回值:**
| 类型 | 说明 |
| --------------------------- | -------------- |
| Promise&lt;[FileAsset](#fileasset)&gt; | 返回创建的图片和视频结果 |
| Promise&lt;[FileAsset](#fileasset)&gt; | Promise对象,返回创建的图片和视频结果。 |
**示例:**
......@@ -244,7 +243,7 @@ createPhotoAsset(displayName: string, albumUri?: string): Promise&lt;FileAsset&g
async function example() {
console.info('createPhotoAssetDemo');
try {
let testFileName = "testFile" + Date.now() + ".jpg";
let testFileName = 'testFile' + Date.now() + '.jpg';
let fileAsset = await mgr.createPhotoAsset(testFileName);
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
console.info('createPhotoAsset successfully');
......@@ -254,10 +253,163 @@ async function example() {
}
```
### createPhotoAsset
createPhotoAsset(displayName: string, createOption: PhotoCreateOptions, callback: AsyncCallback&lt;FileAsset&gt;): void;
指定待创建的图片或者视频的文件名和创建选项,创建图片或视频资源,使用callback方式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| displayName | string | 是 | 创建的图片或者视频文件名。 |
| createOption | [PhotoCreateOptions](#photocreateoptions10) | 是 | 图片或视频的创建选项。 |
| callback | AsyncCallback&lt;[FileAsset](#fileasset)&gt; | 是 | callback返回创建的图片和视频结果。 |
**示例:**
```ts
async function example() {
console.info('createPhotoAssetDemo');
let testFileName = 'testFile' + Date.now() + '.jpg';
let createOption = {
subType: userFileManager.PhotoSubType.DEFAULT
}
mgr.createPhotoAsset(testFileName, createOption, (err, fileAsset) => {
if (fileAsset != undefined) {
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
console.info('createPhotoAsset successfully');
} else {
console.error('createPhotoAsset failed, message = ', err);
}
});
}
```
### createPhotoAsset
createPhotoAsset(displayName: string, createOption: PhotoCreateOptions): Promise&lt;FileAsset&gt;;
指定待创建的图片或者视频的文件名和创建选项,创建图片或视频资源,使用Promise方式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| displayName | string | 是 | 创建的图片或者视频文件名。 |
| createOption | [PhotoCreateOptions](#photocreateoptions10) | 是 | 图片或视频的创建选项。 |
**返回值:**
| 类型 | 说明 |
| --------------------------- | -------------- |
| Promise&lt;[FileAsset](#fileasset)&gt; | Promise对象,返回创建的图片和视频结果。 |
**示例:**
```ts
async function example() {
console.info('createPhotoAssetDemo');
try {
let testFileName = 'testFile' + Date.now() + '.jpg';
let createOption = {
subType: userFileManager.PhotoSubType.DEFAULT
}
let fileAsset = await mgr.createPhotoAsset(testFileName, createOption);
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
console.info('createPhotoAsset successfully');
} catch (err) {
console.error('createPhotoAsset failed, message = ', err);
}
}
```
### createAudioAsset<sup>10+</sup>
createAudioAsset(displayName: string, callback: AsyncCallback&lt;FileAsset&gt;): void;
创建音频文件资源,使用callback方式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| displayName | string | 是 | 创建的音频文件名。 |
| callback | AsyncCallback&lt;[FileAsset](#fileasset)&gt; | 是 | callback返回创建的音频资源结果。 |
**示例:**
```ts
async function example() {
console.info('createAudioAssetDemo');
let testFileName = 'testFile' + Date.now() + '.mp3';
mgr.createAudioAsset(testFileName, (err, fileAsset) => {
if (fileAsset != undefined) {
console.info('createAudioAsset file displayName' + fileAsset.displayName);
console.info('createAudioAsset successfully');
} else {
console.error('createAudioAsset failed, message = ', err);
}
});
}
```
### createAudioAsset<sup>10+</sup>
createAudioAsset(displayName: string): Promise&lt;FileAsset&gt;;
创建音频文件资源,使用Promise方式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| displayName | string | 是 | 创建的音频文件名。 |
**返回值:**
| 类型 | 说明 |
| --------------------------- | -------------- |
| Promise&lt;[FileAsset](#fileasset)&gt; | Promise对象,返回创建的音频资源结果。 |
**示例:**
```ts
async function example() {
console.info('createAudioAssetDemo');
try {
let testFileName = 'testFile' + Date.now() + '.mp3';
let fileAsset = await mgr.createAudioAsset(testFileName);
console.info('createAudioAsset file displayName' + fileAsset.displayName);
console.info('createAudioAsset successfully');
} catch (err) {
console.error('createAudioAsset failed, message = ', err);
}
}
```
### getPhotoAlbums
getPhotoAlbums(options: AlbumFetchOptions, callback: AsyncCallback&lt;FetchResult&lt;Album&gt;&gt;): void;
获取相册,使用callback方式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
......@@ -268,8 +420,8 @@ getPhotoAlbums(options: AlbumFetchOptions, callback: AsyncCallback&lt;FetchResul
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| options | [AlbumFetchOptions](#albumfetchoptions) | 是 | 相册检索选项 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | 是 | callback 返回相册检索结果 |
| options | [AlbumFetchOptions](#albumfetchoptions) | 是 | 相册检索选项 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | 是 | callback返回相册检索结果。 |
**示例:**
......@@ -314,13 +466,13 @@ getPhotoAlbums(options: AlbumFetchOptions): Promise&lt;FetchResult&lt;Album&gt;&
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| options | [AlbumFetchOptions](#albumfetchoptions) | 是 | 相册检索选项 |
| options | [AlbumFetchOptions](#albumfetchoptions) | 是 | 相册检索选项 |
**返回值:**
| 类型 | 说明 |
| --------------------------- | -------------- |
| Promise&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | Promise 返回相册检索结果 |
| Promise&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | Promise对象,返回相册检索结果。 |
**示例:**
......@@ -344,259 +496,574 @@ async function example() {
}
```
### getPrivateAlbum
### createAlbum<sup>10+</sup>
getPrivateAlbum(type: PrivateAlbumType, callback: AsyncCallback&lt;FetchResult&lt;PrivateAlbum&gt;&gt;): void;
createAlbum(name: string, callback: AsyncCallback&lt;Album&gt;): void;
获取系统相册,使用 callback 方式返回系统相册的数组。
创建相册,使用callback方式返回结果。
待创建的相册名参数规格为:
- 相册名字符串长度为1~255。
- 不允许出现的非法英文字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
- 英文字符大小写不敏感。
- 相册名不允许重名。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.READ_IMAGEVIDEO
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| type | [PrivateAlbumType](#privatealbumtype) | 是 | 系统相册类型 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[PrivateAlbum](#privatealbum)&gt;&gt; | 是 | callback 返回相册检索结果 |
| name | string | 是 | 待创建相册的相册名。 |
| callback | AsyncCallback&lt;[Album](#album)&gt; | 是 | callback返回创建的相册实例。 |
**示例:**
```ts
async function example() {
console.info('getPrivateAlbumDemo');
mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH, async (err, fetchResult) => {
if (fetchResult != undefined) {
let trashAlbum = await fetchResult.getFirstObject();
console.info('first album.albumName = ' + trashAlbum.albumName);
} else {
console.error('getPrivateAlbum failed. message = ', err);
console.info('createAlbumDemo');
let albumName = 'newAlbumName' + new Date().getTime();
mgr.createAlbum(albumName, (err, album) => {
if (err) {
console.error('createAlbumCallback failed with err: ' + err);
return;
}
console.info('createAlbumCallback successfully, album: ' + album.albumName + ' album uri: ' + album.albumUri);
});
}
```
### getPrivateAlbum
### createAlbum<sup>10+</sup>
getPrivateAlbum(type: PrivateAlbumType): Promise&lt;FetchResult&lt;PrivateAlbum&gt;&gt;;
createAlbum(name: string): Promise&lt;Album&gt;;
创建相册,使用Promise方式返回结果。
获取系统相册,使用Promise方式返回结果。
待创建的相册名参数规格为:
- 相册名字符串长度为1~255。
- 不允许出现的非法英文字符,包括:<br> . .. \ / : * ? " ' ` < > | { } [ ]
- 英文字符大小写不敏感。
- 相册名不允许重名。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.READ_IMAGEVIDEO
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| type | [PrivateAlbumType](#privatealbumtype) | 是 | 系统相册类型 |
| name | string | 是 | 待创建相册的相册名。 |
**返回值:**
| 类型 | 说明 |
| --------------------------- | -------------- |
| Promise&lt;[FetchResult](#fetchresult)&lt;[PrivateAlbum](#privatealbum)&gt;&gt; | Promise 返回相册检索结果 |
| Promise&lt;[Album](#album)&gt; | Promise对象,返回创建的相册实例。 |
**示例:**
```ts
async function example() {
console.info('getPrivateAlbumDemo');
try {
let fetchResult = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
let trashAlbum = await fetchResult.getFirstObject();
console.info('first album.albumName = ' + trashAlbum.albumName);
} catch (err) {
console.error('getPrivateAlbum failed. message = ', err);
}
console.info('createAlbumDemo');
let albumName = 'newAlbumName' + new Date().getTime();
mgr.createAlbum(albumName).then((album) => {
console.info('createAlbumPromise successfully, album: ' + album.albumName + ' album uri: ' + album.albumUri);
}).catch((err) => {
console.error('createAlbumPromise failed with err: ' + err);
});
}
```
### getAudioAssets
### deleteAlbums<sup>10+</sup>
getAudioAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;FileAsset&gt;&gt;): void;
deleteAlbums(albums: Array&lt;Album&gt;, callback: AsyncCallback&lt;void&gt;): void;
获取音频文件,使用callback方式返回结果。
删除相册,使用callback方式返回结果。
删除相册前需先确保相册存在,只能删除用户相册。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.READ_AUDIO
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是 | callback 返回音频检索结果 |
| albums | Array&lt;[Album](#album)&gt; | 是 | 待删除相册的数组。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getAudioAssets');
// 示例代码为删除名称包含newAlbumName的第一个相册。
console.info('deleteAlbumsDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
predicates.like('album_name', '%newAlbumName%');
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
mgr.getAudioAssets(fetchOptions, async (err, fetchResult) => {
if (fetchResult != undefined) {
console.info('fetchFileResult success');
let fileAsset = await fetchResult.getFirstObject();
if (fileAsset != undefined) {
console.info("fileAsset.displayName :" + fileAsset.displayName);
}
} else {
console.error('fetchFileResult fail' + err);
let fetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions);
let album = await fetchResult.getFirstObject();
mgr.deleteAlbums([album], (err) => {
if (err) {
console.error('deletePhotoAlbumsCallback failed with err: ' + err);
return;
}
console.info('deletePhotoAlbumsCallback successfully');
});
fetchResult.close();
}
```
### getAudioAssets
### deleteAlbums<sup>10+</sup>
getAudioAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&gt;;
deleteAlbums(albums: Array&lt;Album&gt;): Promise&lt;void&gt;;
获取音频文件,使用callback方式返回结果。
删除相册,使用Promise方式返回结果。
删除相册前需先确保相册存在,只能删除用户相册。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.READ_AUDIO
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 |
| albums | Array&lt;[Album](#album)&gt; | 是 | 待删除相册的数组。 |
**返回值:**
| 类型 | 说明 |
| --------------------------- | -------------- |
| Promise&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | Promise 返回音频检索结果 |
| Promise&lt;void&gt; | Promise对象,返回void。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getAudioAssets');
// 示例代码为删除名称包含newAlbumName的第一个相册。
console.info('deleteAlbumsDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
predicates.like('album_name', '%newAlbumName%');
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
var fetchResult = await mgr.getAudioAssets(fetchOptions);
} catch (err) {
console.error('getAudioAssets failed, message = ', err);
}
if (fetchResult != undefined) {
console.info('fetchFileResult success');
let fileAsset = await fetchResult.getFirstObject();
if (fileAsset != undefined) {
console.info("fileAsset.displayName :" + fileAsset.displayName);
}
}
let fetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions);
let album = await fetchResult.getFirstObject();
mgr.deleteAlbums([album]).then(() => {
console.info('deletePhotoAlbumsPromise successfully');
}).catch((err) => {
console.error('deletePhotoAlbumsPromise failed with err: ' + err);
});
fetchResult.close();
}
```
### delete
### getAlbums<sup>10+</sup>
delete(uri: string, callback: AsyncCallback&lt;void&gt;): void;
getAlbums(type: AlbumType, subType: AlbumSubType, options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;Album&gt;&gt;): void;
删除媒体文件,删除的文件进入到回收站
根据检索选项和相册类型获取相册,使用callback方式返回结果
**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
获取相册前需先保证相册存在。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**需要权限**:ohos.permission.READ_IMAGEVIDEO
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是 | 媒体文件uri |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调返回空 |
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| type | [AlbumType](#albumtype10) | 是 | 相册类型。 |
| subType | [AlbumSubType](#albumsubtype10) | 是 | 相册子类型。 |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项。 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | 是 | callback返回获取相册的结果集。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('deleteAssetDemo');
// 示例代码中为获取相册名中包含newAlbumName的第一个相册。
console.info('getAlbumsDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
predicates.like('album_name', '%newAlbumName%');
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
const fetchResult = await mgr.getPhotoAssets(fetchOptions);
var asset = await fetchResult.getFirstObject();
} catch (err) {
console.info('fetch failed, message =', err);
}
mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions, async (err, fetchResult) => {
if (err) {
console.error('getAlbumsCallback failed with err: ' + err);
return;
}
if (fetchResult == undefined) {
console.error('getAlbumsCallback fetchResult is undefined');
return;
}
let album = await fetchResult.getFirstObject();
console.info('getAlbumsCallback successfully, albumName: ' + album.albumName);
fetchResult.close();
});
}
```
if (asset == undefined) {
console.error('asset not exist');
return;
}
mgr.delete(asset.uri, (err) => {
if (err == undefined) {
console.info("delete successfully");
} else {
console.error("delete failed with error: " + err);
### getAlbums<sup>10+</sup>
getAlbums(type: AlbumType, subType: AlbumSubType, callback: AsyncCallback&lt;FetchResult&lt;Album&gt;&gt;): void;
根据相册类型获取相册,使用callback方式返回结果。
获取相册前需先保证相册存在。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.READ_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| type | [AlbumType](#albumtype10) | 是 | 相册类型。 |
| subType | [AlbumSubType](#albumsubtype10) | 是 | 相册子类型。 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | 是 | callback返回获取相册的结果集。 |
**示例:**
```ts
async function example() {
// 示例代码中为获取统相册VIDEO,默认已预置。
console.info('getAlbumsDemo');
mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.VIDEO, async (err, fetchResult) => {
if (err) {
console.error('getAlbumsCallback failed with err: ' + err);
return;
}
if (fetchResult == undefined) {
console.error('getAlbumsCallback fetchResult is undefined');
return;
}
let album = await fetchResult.getFirstObject();
console.info('getAlbumsCallback successfully, albumUri: ' + album.albumUri);
fetchResult.close();
});
}
```
### delete
### getAlbums<sup>10+</sup>
delete(uri: string): Promise&lt;void&gt;;
getAlbums(type: AlbumType, subType: AlbumSubType, options?: FetchOptions): Promise&lt;FetchResult&lt;Album&gt;&gt;;
删除媒体文件,删除的文件进入到回收站
根据检索选项和相册类型获取相册,使用Promise方式返回结果
**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
获取相册前需先保证相册存在。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**需要权限**:ohos.permission.READ_IMAGEVIDEO
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是 | 媒体文件uri |
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| type | [AlbumType](#albumtype10) | 是 | 相册类型。 |
| subType | [AlbumSubType](#albumsubtype10) | 是 | 相册子类型。 |
| options | [FetchOptions](#fetchoptions) | 否 | 检索选项,不填时默认根据相册类型检索。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise&lt;void&gt;| 回调返回空 |
| 类型 | 说明 |
| --------------------------- | -------------- |
| Promise&lt;[FetchResult](#fetchresult)&lt;[Album](#album)&gt;&gt; | Promise对象,返回获取相册的结果集。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('deleteDemo');
// 示例代码中为获取相册名中包含newAlbumName的第一个相册。
console.info('getAlbumsDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
predicates.like('album_name', '%newAlbumName%');
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
const fetchResult = await mgr.getPhotoAssets(fetchOptions);
var asset = await fetchResult.getFirstObject();
} catch (err) {
mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC, fetchOptions).then( async (fetchResult) => {
if (fetchResult == undefined) {
console.error('getAlbumsPromise fetchResult is undefined');
return;
}
let album = await fetchResult.getFirstObject();
console.info('getAlbumsPromise successfully, albumName: ' + album.albumName);
fetchResult.close();
}).catch((err) => {
console.error('getAlbumsPromise failed with err: ' + err);
});
}
```
### getPrivateAlbum
getPrivateAlbum(type: PrivateAlbumType, callback: AsyncCallback&lt;FetchResult&lt;PrivateAlbum&gt;&gt;): void;
获取系统相册,使用 callback 方式返回系统相册的数组。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.READ_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| type | [PrivateAlbumType](#privatealbumtype) | 是 | 系统相册类型。 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[PrivateAlbum](#privatealbum)&gt;&gt; | 是 | callback返回相册检索结果。 |
**示例:**
```ts
async function example() {
console.info('getPrivateAlbumDemo');
mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH, async (err, fetchResult) => {
if (fetchResult != undefined) {
let trashAlbum = await fetchResult.getFirstObject();
console.info('first album.albumName = ' + trashAlbum.albumName);
} else {
console.error('getPrivateAlbum failed. message = ', err);
}
});
}
```
### getPrivateAlbum
getPrivateAlbum(type: PrivateAlbumType): Promise&lt;FetchResult&lt;PrivateAlbum&gt;&gt;;
获取系统相册,使用Promise方式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.READ_IMAGEVIDEO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| type | [PrivateAlbumType](#privatealbumtype) | 是 | 系统相册类型。 |
**返回值:**
| 类型 | 说明 |
| --------------------------- | -------------- |
| Promise&lt;[FetchResult](#fetchresult)&lt;[PrivateAlbum](#privatealbum)&gt;&gt; | Promise对象,返回相册检索结果。 |
**示例:**
```ts
async function example() {
console.info('getPrivateAlbumDemo');
try {
let fetchResult = await mgr.getPrivateAlbum(userFileManager.PrivateAlbumType.TYPE_TRASH);
let trashAlbum = await fetchResult.getFirstObject();
console.info('first album.albumName = ' + trashAlbum.albumName);
} catch (err) {
console.error('getPrivateAlbum failed. message = ', err);
}
}
```
### getAudioAssets
getAudioAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;FileAsset&gt;&gt;): void;
获取音频文件,使用callback方式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.READ_AUDIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项。 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是 | callback返回音频检索结果。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getAudioAssets');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
mgr.getAudioAssets(fetchOptions, async (err, fetchResult) => {
if (fetchResult != undefined) {
console.info('fetchFileResult success');
let fileAsset = await fetchResult.getFirstObject();
if (fileAsset != undefined) {
console.info('fileAsset.displayName :' + fileAsset.displayName);
}
} else {
console.error('fetchFileResult fail' + err);
}
});
}
```
### getAudioAssets
getAudioAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&gt;;
获取音频文件,使用callback方式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**需要权限**:ohos.permission.READ_AUDIO
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ------------------------- |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项。 |
**返回值:**
| 类型 | 说明 |
| --------------------------- | -------------- |
| Promise&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | Promise对象,返回音频检索结果。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getAudioAssets');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
var fetchResult = await mgr.getAudioAssets(fetchOptions);
} catch (err) {
console.error('getAudioAssets failed, message = ', err);
}
if (fetchResult != undefined) {
console.info('fetchFileResult success');
let fileAsset = await fetchResult.getFirstObject();
if (fileAsset != undefined) {
console.info('fileAsset.displayName :' + fileAsset.displayName);
}
}
}
```
### delete
delete(uri: string, callback: AsyncCallback&lt;void&gt;): void;
删除媒体文件,删除的文件进入到回收站。
**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是 | 媒体文件uri。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('deleteAssetDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
const fetchResult = await mgr.getPhotoAssets(fetchOptions);
var asset = await fetchResult.getFirstObject();
} catch (err) {
console.info('fetch failed, message =', err);
}
if (asset == undefined) {
console.error('asset not exist');
return;
}
mgr.delete(asset.uri, (err) => {
if (err == undefined) {
console.info('delete successfully');
} else {
console.error('delete failed with error: ' + err);
}
});
}
```
### delete
delete(uri: string): Promise&lt;void&gt;;
删除媒体文件,删除的文件进入到回收站。
**需要权限**:ohos.permission.READ_IMAGEVIDEO 和 ohos.permission.WRITE_IMAGEVIDEO 或 ohos.permission.READ_AUDIO 和 ohos.permission.WRITE_AUDIO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是 | 媒体文件uri。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise&lt;void&gt;| Promise对象,返回void。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('deleteDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOptions = {
fetchColumns: [],
predicates: predicates
};
try {
const fetchResult = await mgr.getPhotoAssets(fetchOptions);
var asset = await fetchResult.getFirstObject();
} catch (err) {
console.info('fetch failed, message =', err);
}
......@@ -606,9 +1073,9 @@ async function example() {
}
try {
await mgr.delete(asset.uri);
console.info("delete successfully");
console.info('delete successfully');
} catch (err) {
console.error("delete failed with error: " + err);
console.error('delete failed with error: ' + err);
}
}
```
......@@ -628,7 +1095,7 @@ on(type: ChangeEvent, callback: Callback&lt;void&gt;): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------------------------------------------ |
| type | [ChangeEvent](#changeevent) | 是 | 媒体类型 <br/>'deviceChange':&nbsp;注册设备变更 <br/>'albumChange':&nbsp;相册变更<br/>'imageChange':&nbsp;图片文件变更<br/>'audioChange': &nbsp;音频文件变更<br/>'videoChange': &nbsp;视频文件变更<br/>'remoteFileChange':&nbsp;注册设备上文件变更 |
| callback | Callback&lt;void&gt; | 是 | 回调返回空 |
| callback | Callback&lt;void&gt; | 是 | callback返回void |
**示例:**
......@@ -641,7 +1108,7 @@ async function example() {
// image file had changed, do something
});
try {
let testFileName = "testFile" + Date.now() + ".jpg";
let testFileName = 'testFile' + Date.now() + '.jpg';
let fileAsset = await mgr.createPhotoAsset(testFileName);
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
console.info('createPhotoAsset successfully');
......@@ -650,9 +1117,9 @@ async function example() {
}
//sleep 1s
if (count > 0) {
console.info("onDemo success");
console.info('onDemo success');
} else {
console.error("onDemo fail");
console.error('onDemo fail');
}
mgr.off('imageChange', () => {
// stop listening success
......@@ -674,8 +1141,8 @@ off(type: ChangeEvent, callback?: Callback&lt;void&gt;): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ------------------------------------------------------------ |
| type | [ChangeEvent](#changeevent) | 是 | 媒体类型 <br/>'deviceChange':&nbsp;注册设备变更 <br/>'albumChange':&nbsp;相册变更<br/>'imageChange':&nbsp;图片文件变更<br/>'audioChange': &nbsp;音频文件变更<br/>'videoChange': &nbsp;视频文件变更<br/>'remoteFileChange':&nbsp;注册设备上文件变更 |
| callback | Callback&lt;void&gt; | 否 | 回调返回空 |
| type | [ChangeEvent](#changeevent) | 是 | 媒体类型 <br/>'deviceChange':&nbsp;注册设备变更 <br/>'albumChange':&nbsp;相册变更<br/>'imageChange':&nbsp;图片文件变更<br/>'audioChange': &nbsp;音频文件变更<br/>'videoChange': &nbsp;视频文件变更<br/>'remoteFileChange':&nbsp;注册设备上文件变更 |
| callback | Callback&lt;void&gt; | 否 | callback返回void。 |
**示例:**
......@@ -693,7 +1160,7 @@ async function example() {
});
try {
let testFileName = "testFile" + Date.now() + ".jpg";
let testFileName = 'testFile' + Date.now() + '.jpg';
let fileAsset = await mgr.createPhotoAsset(testFileName);
console.info('createPhotoAsset file displayName' + fileAsset.displayName);
console.info('createPhotoAsset successfully');
......@@ -702,9 +1169,9 @@ async function example() {
}
//sleep 1s
if (count == 0) {
console.info("offDemo success");
console.info('offDemo success');
} else {
console.error("offDemo fail");
console.error('offDemo fail');
}
}
```
......@@ -721,7 +1188,7 @@ getActivePeers(callback: AsyncCallback&lt;Array&lt;PeerInfo&gt;&gt;): void;
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------- | ---- | ------------ |
| callback | AsyncCallback&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | 是 | 返回在线设备列表 |
| callback | AsyncCallback&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | 是 | 返回在线设备列表 |
**示例:**
......@@ -753,7 +1220,7 @@ getActivePeers(): Promise&lt;Array&lt;PeerInfo&gt;&gt;;
| 类型 | 说明 |
| --------------------------- | ----------------------------- |
| Promise&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | Promise实例,返回在线设备列表 |
| Promise&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | Promise对象,返回在线设备列表。 |
**示例:**
......@@ -788,7 +1255,7 @@ getAllPeers(callback: AsyncCallback&lt;Array&lt;PeerInfo&gt;&gt;): void;
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------- | ---- | ------------ |
| callback | AsyncCallback&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | 是 | 返回在线设备列表 |
| callback | AsyncCallback&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | 是 | 返回在线设备列表 |
**示例:**
......@@ -820,7 +1287,7 @@ getAllPeers(): Promise&lt;Array&lt;PeerInfo&gt;&gt;;
| 类型 | 说明 |
| --------------------------- | ----------------------------- |
| Promise&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | Promise实例,返回所有设备列表 |
| Promise&lt;Array&lt;[PeerInfo](#peerinfo)&gt;&gt; | Promise对象,返回所有设备列表。 |
**示例:**
......@@ -856,7 +1323,7 @@ release(callback: AsyncCallback&lt;void&gt;): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | -------------------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调表示成功还是失败 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调表示成功还是失败 |
**示例:**
......@@ -886,7 +1353,7 @@ release(): Promise&lt;void&gt;
| 类型 | 说明 |
| ------------------- | --------------------------------- |
| Promise&lt;void&gt; | Promise实例,用于获取异步返回结果 |
| Promise&lt;void&gt; | Promise对象,返回void。 |
**示例:**
......@@ -1014,14 +1481,13 @@ async function example() {
### 属性
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力**SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------------------- | ------------------------ | ---- | ---- | ------------------------------------------------------ |
| uri | string | 是 | 否 | 文件资源uri(如:dataability:///media/image/2) |
| uri | string | 是 | 否 | 文件资源uri(如:file://media/image/2)。 |
| fileType | [FileType](#filetype) | 是 | 否 | 媒体文件类型 |
| displayName | string | 是 | 是 | 显示文件名,包含后缀名 |
| displayName | string | 是 | 是 | 显示文件名,包含后缀名。 |
### get
......@@ -1035,7 +1501,7 @@ get(member: string): MemberType;
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ----- |
| member | string | 是 | 成员参数名称例如:ImageVideoKey.URI |
| member | string | 是 | 成员参数名称例如:ImageVideoKey.URI |
**示例:**
......@@ -1047,7 +1513,7 @@ async function example() {
try {
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
fetchColumns: ['title'],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
......@@ -1073,8 +1539,8 @@ set(member: string, value: string): void;
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ----- |
| member | string | 是 | 成员参数名称例如:ImageVideoKey.URI |
| value | string | 是 | 设置成员参数名称,只能修改ImageVideoKey.TITLE的值 |
| member | string | 是 | 成员参数名称例如:ImageVideoKey.URI |
| value | string | 是 | 设置成员参数名称,只能修改ImageVideoKey.DISPLAY_NAME的值。 |
**示例:**
......@@ -1091,8 +1557,8 @@ async function example() {
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getFirstObject();
let title = userFileManager.ImageVideoKey.TITLE;
fileAsset.set(title.toString(), "newTitle");
let displayName = userFileManager.ImageVideoKey.DISPLAY_NAME;
fileAsset.set(displayName, 'newDisplayName1');
} catch (err) {
console.error('release failed. message = ', err);
}
......@@ -1113,7 +1579,7 @@ commitModify(callback: AsyncCallback&lt;void&gt;): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ----- |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调返回空 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例:**
......@@ -1129,14 +1595,14 @@ async function example() {
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getFirstObject();
let title = userFileManager.ImageVideoKey.TITLE;
let fileAssetTitle = fileAsset.get(title.toString());
console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
fileAsset.set(title.toString(), "newTitle");
let displayName = userFileManager.ImageVideoKey.DISPLAY_NAME;
let fileAssetDisplayName = fileAsset.get(displayName);
console.info('fileAsset get fileAssetDisplayName = ', fileAssetDisplayName);
fileAsset.set(displayName, 'newDisplayName2');
fileAsset.commitModify((err) => {
if (err == undefined) {
let newFileAssetTitle = fileAsset.get(title.toString());
console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle);
let newFileAssetDisplayName = fileAsset.get(displayName);
console.info('fileAsset get newFileAssetDisplayName = ', newFileAssetDisplayName);
} else {
console.error('commitModify failed, message =', err);
}
......@@ -1158,7 +1624,7 @@ commitModify(): Promise&lt;void&gt;
| 类型 | 说明 |
| ------------------- | ---------- |
| Promise&lt;void&gt; | Promise返回空 |
| Promise&lt;void&gt; | Promise对象,返回void。 |
**示例:**
......@@ -1174,14 +1640,14 @@ async function example() {
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getFirstObject();
let title = userFileManager.ImageVideoKey.TITLE;
let fileAssetTitle = fileAsset.get(title.toString());
console.info('fileAsset Get fileAssetTitle = ', fileAssetTitle);
fileAsset.set(title.toString(), "newTitle");
let displayName = userFileManager.ImageVideoKey.DISPLAY_NAME;
let fileAssetDisplayName = fileAsset.get(displayName);
console.info('fileAsset get fileAssetDisplayName = ', fileAssetDisplayName);
fileAsset.set(displayName, 'newDisplayName3');
try {
await fileAsset.commitModify();
let newFileAssetTitle = fileAsset.get(title.toString());
console.info('fileAsset Get newFileAssetTitle = ', newFileAssetTitle);
let newFileAssetDisplayName = fileAsset.get(displayName);
console.info('fileAsset get newFileAssetDisplayName = ', newFileAssetDisplayName);
} catch (err) {
console.error('release failed. message = ', err);
}
......@@ -1200,19 +1666,19 @@ open(mode: string, callback: AsyncCallback&lt;number&gt;): void
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | ----------------------------------- |
| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调返回文件描述符 |
| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |
| callback | AsyncCallback&lt;number&gt; | 是 | callback返回文件描述符。 |
**示例:**
```ts
async function example() {
console.info('openDemo');
let testFileName = "testFile" + Date.now() + ".jpg";
let testFileName = 'testFile' + Date.now() + '.jpg';
const fileAsset = await mgr.createPhotoAsset(testFileName);
fileAsset.open('rw', (err, fd) => {
if (fd != undefined) {
......@@ -1241,13 +1707,13 @@ open(mode: string): Promise&lt;number&gt;
| 参数名 | 类型 | 必填 | 说明 |
| ---- | ------ | ---- | ----------------------------------- |
| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |
| mode | string | 是 | 打开文件方式,如:'r'(只读), 'w'(只写), 'rw'(读写) |
**返回值:**
| 类型 | 说明 |
| --------------------- | ------------- |
| Promise&lt;number&gt; | Promise返回文件描述符 |
| Promise&lt;number&gt; | Promise对象,返回文件描述符。 |
**示例:**
......@@ -1255,7 +1721,7 @@ open(mode: string): Promise&lt;number&gt;
async function example() {
console.info('openDemo');
try {
let testFileName = "testFile" + Date.now() + ".jpg";
let testFileName = 'testFile' + Date.now() + '.jpg';
const fileAsset = await mgr.createPhotoAsset(testFileName);
let fd = await fileAsset.open('rw');
if (fd != undefined) {
......@@ -1282,8 +1748,8 @@ close(fd: number, callback: AsyncCallback&lt;void&gt;): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ----- |
| fd | number | 是 | 文件描述符 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调返回空 |
| fd | number | 是 | 文件描述符 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例:**
......@@ -1327,13 +1793,13 @@ close(fd: number): Promise&lt;void&gt;
| 参数名 | 类型 | 必填 | 说明 |
| ---- | ------ | ---- | ----- |
| fd | number | 是 | 文件描述符 |
| fd | number | 是 | 文件描述符 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------- |
| Promise&lt;void&gt; | Promise返回空 |
| Promise&lt;void&gt; | Promise对象,返回void。 |
**示例:**
......@@ -1374,7 +1840,7 @@ getThumbnail(callback: AsyncCallback&lt;image.PixelMap&gt;): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ---------------- |
| callback | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是 | 回调返回缩略图的PixelMap |
| callback | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是 | callback返回缩略图的PixelMap。 |
**示例:**
......@@ -1415,8 +1881,8 @@ getThumbnail(size: image.Size, callback: AsyncCallback&lt;image.PixelMap&gt;): v
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ---------------- |
| size | [image.Size](js-apis-image.md#size) | 是 | 缩略图尺寸 |
| callback | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是 | 回调返回缩略图的PixelMap |
| size | [image.Size](js-apis-image.md#size) | 是 | 缩略图尺寸 |
| callback | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是 | callback返回缩略图的PixelMap。 |
**示例:**
......@@ -1458,13 +1924,13 @@ getThumbnail(size?: image.Size): Promise&lt;image.PixelMap&gt;
| 参数名 | 类型 | 必填 | 说明 |
| ---- | -------------- | ---- | ----- |
| size | [image.Size](js-apis-image.md#size) | 否 | 缩略图尺寸 |
| size | [image.Size](js-apis-image.md#size) | 否 | 缩略图尺寸 |
**返回值:**
| 类型 | 说明 |
| ----------------------------- | --------------------- |
| Promise&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | Promise返回缩略图的PixelMap |
| Promise&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | Promise对象,返回缩略图的PixelMap。 |
**示例:**
......@@ -1504,8 +1970,8 @@ favorite(isFavorite: boolean, callback: AsyncCallback&lt;void&gt;): void
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | ---- | ---------------------------------- |
| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调返回空 |
| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例:**
......@@ -1523,9 +1989,9 @@ async function example() {
const asset = await fetchResult.getFirstObject();
asset.favorite(true, (err) => {
if (err == undefined) {
console.info("favorite successfully");
console.info('favorite successfully');
} else {
console.error("favorite failed with error:" + err);
console.error('favorite failed with error:' + err);
}
});
}
......@@ -1545,13 +2011,13 @@ favorite(isFavorite: boolean): Promise&lt;void&gt;
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------- | ---- | ---------------------------------- |
| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
| isFavorite | boolean | 是 | 是否设置为收藏文件, true:设置为收藏文件,false:取消收藏 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------- |
| Promise&lt;void&gt; | Promise返回空 |
| Promise&lt;void&gt; | Promise对象,返回void。 |
**示例:**
......@@ -1568,22 +2034,114 @@ async function example() {
let fetchResult = await mgr.getPhotoAssets(fetchOption);
const asset = await fetchResult.getFirstObject();
asset.favorite(true).then(function () {
console.info("favorite successfully");
console.info('favorite successfully');
}).catch(function (err) {
console.error("favorite failed with error:" + err);
console.error('favorite failed with error:' + err);
});
}
```
## FetchResult
### setHidden<sup>10+</sup>
文件检索结果集。
setHidden(hiddenState: boolean, callback: AsyncCallback&lt;void&gt;): void
### getCount
将文件设置为隐私文件,使用callback方式返回异步结果。
getCount(): number
隐私文件存在隐私相册中,对三方应用不开放,用户通过隐私相册去获取隐私文件后可以通过设置hiddenState为false来从隐私相册中移除。
获取文件检索结果中的文件总数。
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | ---- | ---------------------------------- |
| hiddenState | boolean | 是 | 是否设置为隐藏文件,true:将文件资产放入隐藏相册;false:从隐藏相册中恢复。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('setHiddenDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
const asset = await fetchResult.getFirstObject();
asset.setHidden(true, (err) => {
if (err == undefined) {
console.info('setHidden successfully');
} else {
console.error('setHidden failed with error:' + err);
}
});
}
```
### setHidden<sup>10+</sup>
setHidden(hiddenState: boolean): Promise&lt;void&gt;
将文件设置为隐私文件,使用promise方式返回异步结果。
隐私文件存在隐私相册中,对三方应用不开放,用户通过隐私相册去获取隐私文件后可以通过设置hiddenState为false来从隐私相册中移除。
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------- | ---- | ---------------------------------- |
| hiddenState | boolean | 是 | 是否设置为隐藏文件,true:将文件资产放入隐藏相册;false:从隐藏相册中恢复。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------- |
| Promise&lt;void&gt; | Promise对象,返回void。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
// 示例代码为将文件从隐藏相册中恢复,需要先在隐藏相册预置资源
console.info('setHiddenDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let albumList = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.HIDDEN);
const album = await albumList.getFirstObject();
let fetchResult = await album.getPhotoAssets(fetchOption);
const asset = await fetchResult.getFirstObject();
asset.setHidden(false).then(() => {
console.info('setHidden successfully');
}).catch((err) => {
console.error('setHidden failed with error:' + err);
});
}
```
## FetchResult
文件检索结果集。
### getCount
getCount(): number
获取文件检索结果中的文件总数。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
......@@ -1591,9 +2149,9 @@ getCount(): number
| 类型 | 说明 |
| ------ | -------- |
| number | 检索到的文件总数 |
| number | 检索到的文件总数 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -1625,7 +2183,7 @@ isAfterLast(): boolean
| ------- | ---------------------------------- |
| boolean | 当读到最后一条记录后,后续没有记录返回true,否则返回false。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -1656,7 +2214,7 @@ close(): void
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -1686,13 +2244,13 @@ getFirstObject(callback: AsyncCallback&lt;T&gt;): void
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------- | ---- | ------------------------------------------- |
| callback | AsyncCallback&lt;T&gt; | 是 | 异步获取结果集中的第一个完成后的回调 |
| callback | AsyncCallback&lt;T&gt; | 是 | 异步获取结果集中的第一个完成后的回调 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -1709,7 +2267,7 @@ async function example() {
if (fileAsset != undefined) {
console.info('fileAsset displayName: ', fileAsset.displayName);
} else {
console.error("fileAsset failed with err:" + err);
console.error('fileAsset failed with err:' + err);
}
});
}
......@@ -1727,9 +2285,9 @@ getFirstObject(): Promise&lt;T&gt;
| 类型 | 说明 |
| --------------------------------------- | -------------------------- |
| Promise&lt;T&gt; | Promise方式返回 |
| Promise&lt;T&gt; | Promise对象,返回结果集中第一个对象。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -1755,13 +2313,13 @@ async function example() {
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | --------------------------------------------- | ---- | ----------------------------------------- |
| callbacke | AsyncCallback&lt;T&gt; | 是 | 异步返回结果集中下一个之后的回调 |
| callbacke | AsyncCallback&lt;T&gt; | 是 | 异步返回结果集中下一个之后的回调 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -1780,7 +2338,7 @@ async function example() {
if (fileAsset != undefined) {
console.info('fileAsset displayName: ', fileAsset.displayName);
} else {
console.error("fileAsset failed with err: " + err);
console.error('fileAsset failed with err: ' + err);
}
});
}
......@@ -1799,9 +2357,9 @@ async function example() {
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise&lt;T&gt; | 返回结果集中下一个对象 |
| Promise&lt;T&gt; | Promise对象,返回结果集中下一个对象。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -1830,13 +2388,13 @@ getLastObject(callback: AsyncCallback&lt;T&gt;): void
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------- | ---- | --------------------------- |
| callback | AsyncCallback&lt;T&gt; | 是 | 异步返回结果集中最后一个的回调 |
| callback | AsyncCallback&lt;T&gt; | 是 | 异步返回结果集中最后一个的回调 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -1853,7 +2411,7 @@ async function example() {
if (fileAsset != undefined) {
console.info('fileAsset displayName: ', fileAsset.displayName);
} else {
console.error("fileAsset failed with err: " + err);
console.error('fileAsset failed with err: ' + err);
}
});
}
......@@ -1871,9 +2429,9 @@ getLastObject(): Promise&lt;T&gt;
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise&lt;T&gt; | 返回结果集中最后一个对象 |
| Promise&lt;T&gt; | Promise对象,返回结果集中最后一个对象。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -1899,257 +2457,724 @@ getPositionObject(index: number, callback: AsyncCallback&lt;T&gt;): void
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------ |
| index | number | 是 | 要获取的文件的索引,从0开始。 |
| callback | AsyncCallback&lt;T&gt; | 是 | 异步返回指定索引的文件资产的回调。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getPositionObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
fetchResult.getPositionObject(0, (err, fileAsset) => {
if (fileAsset != undefined) {
console.info('fileAsset displayName: ', fileAsset.displayName);
} else {
console.error('fileAsset failed with err: ' + err);
}
});
}
```
### getPositionObject
getPositionObject(index: number): Promise&lt;T&gt;
获取文件检索结果中具有指定索引的文件资产。此方法使用Promise形式返回文件Asset。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | ---- | -------------- |
| index | number | 是 | 要获取的文件的索引,从0开始。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise&lt;T&gt; | Promise对象,返回结果集中指定索引的一个对象。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getPositionObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getPositionObject(0);
console.info('fileAsset displayName: ', fileAsset.displayName);
}
```
### getAllObject<sup>10+</sup>
getAllObject(callback: AsyncCallback&lt;Array&lt;T&gt;&gt;): void
获取文件检索结果中的所有文件资产。此方法使用callback形式返回结果。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------- | ---- | ------------------------------------------- |
| callback | AsyncCallback&lt;Array&lt;T&gt;&gt; | 是 | 异步获取结果集中的所有文件资产完成后的回调。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getAllObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
fetchResult.getAllObject((err, fileAssetList) => {
if (fileAssetList != undefined) {
console.info('fileAssetList length: ', fileAssetList.length);
} else {
console.error('fileAssetList failed with err:' + err);
}
});
}
```
### getAllObject<sup>10+</sup>
getAllObject(): Promise&lt;Array&lt;T&gt;&gt;
获取文件检索结果中的所有文件资产。此方法使用promise方式来异步返回。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | -------------------------- |
| Promise&lt;Array&lt;T&gt;&gt; | Promise对象,返回结果集中所有文件资产数组。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getAllObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAssetList = await fetchResult.getAllObject();
console.info('fileAssetList length: ', fileAssetList.length);
}
```
## Album
实体相册
### 属性
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------ | ------ | ---- | ---- | ------- |
| albumType<sup>8+</sup> | [AlbumType]( #albumtype10) | 是 | 否 | 相册类型。 |
| albumSubType<sup>8+</sup> | [AlbumSubType]( #albumsubtype10) | 是 | 否 | 相册子类型。 |
| albumName | string | 是 | 用户相册可写,预置相册不可写 | 相册名称。 |
| albumUri | string | 是 | 否 | 相册Uri。 |
| count | number | 是 | 否 | 相册中文件数量。 |
| coverUri | string | 是 | 用户相册可写,预置相册不可写 | 封面文件Uri。 |
### getPhotoAssets
getPhotoAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;FileAsset&gt;&gt;): void;
获取相册中的文件。该方法使用callback形式来返回文件。
**需要权限**:ohos.permission.READ_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项。 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是 | callback返回图片和视频数据结果集。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumGetFileAssetsDemoCallback');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
const album = await albumList.getFirstObject();
album.getPhotoAssets(fetchOption, (err, albumFetchResult) => {
if (albumFetchResult != undefined) {
console.info('album getPhotoAssets successfully, getCount: ' + albumFetchResult.getCount());
} else {
console.error('album getPhotoAssets failed with error: ' + err);
}
});
}
```
### getPhotoAssets
getPhotoAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&gt;;
获取相册中的文件。该方法使用Promise来返回文件。
**需要权限**:ohos.permission.READ_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | Promise对象,返回图片和视频数据结果集。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumGetFileAssetsDemoPromise');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
const album = await albumList.getFirstObject();
album.getPhotoAssets(fetchOption).then((albumFetchResult) => {
console.info('album getFileAssets successfully, getCount: ' + albumFetchResult.getCount());
}).catch((err) => {
console.error('album getFileAssets failed with error: ' + err);
});
}
```
### commitModify
commitModify(callback: AsyncCallback&lt;void&gt;): void;
更新相册属性修改到数据库中。该方法使用callback形式来返回结果。
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumCommitModifyDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
const album = await albumList.getFirstObject();
album.albumName = 'hello';
album.commitModify((err) => {
if (err != undefined) {
console.error('commitModify failed with error: ' + err);
} else {
console.info('commitModify successfully');
}
});
}
```
### commitModify
commitModify(): Promise&lt;void&gt;;
更新相册属性修改到数据库中。该方法使用Promise来返回结果。
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**返回值:**
| 类型 | 说明 |
| ------------------- | ------------ |
| Promise&lt;void&gt; | Promise对象,返回void。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumCommitModifyDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
try {
var albumList = await mgr.getPhotoAlbums(albumFetchOptions);
} catch (err) {
console.error('getPhotoAlbums failed. message = ', err);
}
const album = await albumList.getFirstObject();
album.albumName = 'hello';
album.commitModify().then(() => {
console.info('commitModify successfully');
}).catch((err) => {
console.error('commitModify failed with error: ' + err);
});
}
```
### addPhotoAssets<sup>10+</sup>
addPhotoAssets(assets: Array&lt;FileAsset&gt;, callback: AsyncCallback&lt;void&gt;): void;
往相册中添加图片或者视频,需要先预置相册和文件资源。该方法使用callback形式来返回结果。
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是 | 待添加到相册中的图片或视频数组。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
try {
console.info('addPhotoAssetsDemoCallback');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC);
let album = await albumFetchResult.getFirstObject();
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let asset = await fetchResult.getFirstObject();
album.addPhotoAssets([asset], (err) => {
if (err === undefined) {
console.info('album addPhotoAssets successfully');
} else {
console.error('album addPhotoAssets failed with error: ' + err);
}
});
} catch (err) {
console.error('addPhotoAssetsDemoCallback failed with error: ' + err);
}
}
```
### addPhotoAssets<sup>10+</sup>
addPhotoAssets(assets: Array&lt;FileAsset&gt;): Promise&lt;void&gt;;
往相册中添加图片或者视频,需要先预置相册和文件资源。该方法使用Promise来返回结果。
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是 | 待添加到相册中的图片或视频数组。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
|Promise&lt;void&gt; | Promise对象,返回void。 |
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
try {
console.info('addPhotoAssetsDemoPromise');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC);
let album = await albumFetchResult.getFirstObject();
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let asset = await fetchResult.getFirstObject();
album.addPhotoAssets([asset]).then(() => {
console.info('album addPhotoAssets successfully');
}).catch((err) => {
console.error('album addPhotoAssets failed with error: ' + err);
});
} catch (err) {
console.error('addPhotoAssetsDemoPromise failed with error: ' + err);
}
}
```
### removePhotoAssets<sup>10+</sup>
removePhotoAssets(assets: Array&lt;FileAsset&gt;, callback: AsyncCallback&lt;void&gt;): void;
从相册中移除图片或者视频,需要先预置相册和文件资源。该方法使用callback形式来返回结果。
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ------------------ |
| index | number | 是 | 要获取的文件的索引,从0开始 |
| callback | AsyncCallback&lt;T&gt; | 是 | 异步返回指定索引的文件资产的回调 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是 | 相册中待移除的图片或视频数组。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getPositionObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
fetchResult.getPositionObject(0, (err, fileAsset) => {
if (fileAsset != undefined) {
console.info('fileAsset displayName: ', fileAsset.displayName);
} else {
console.error("fileAsset failed with err: " + err);
}
});
try {
console.info('removePhotoAssetsDemoCallback');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC);
let album = await albumFetchResult.getFirstObject();
let fetchResult = await album.getPhotoAssets(fetchOption);
let asset = await fetchResult.getFirstObject();
album.removePhotoAssets([asset], (err) => {
if (err === undefined) {
console.info('album removePhotoAssets successfully');
} else {
console.error('album removePhotoAssets failed with error: ' + err);
}
});
} catch (err) {
console.error('removePhotoAssetsDemoCallback failed with error: ' + err);
}
}
```
### getPositionObject
### removePhotoAssets<sup>10+</sup>
getPositionObject(index: number): Promise&lt;T&gt;
removePhotoAssets(assets: Array&lt;FileAsset&gt;): Promise&lt;void&gt;;
获取文件检索结果中具有指定索引的文件资产。此方法使用Promise形式返回文件Asset。
从相册中移除图片或者视频,需要先预置相册和文件资源。该方法使用Promise来返回结果。
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ------ | ---- | -------------- |
| index | number | 是 | 要获取的文件的索引,从0开始 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是 | 相册中待移除的图片或视频数组。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise&lt;T&gt; | 返回指定索引的文件资产的对象 |
|Promise&lt;void&gt; | Promise对象,返回void。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('getPositionObjectDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let fetchResult = await mgr.getPhotoAssets(fetchOption);
let fileAsset = await fetchResult.getPositionObject(0);
console.info('fileAsset displayName: ', fileAsset.displayName);
try {
console.info('removePhotoAssetsDemoPromise');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.USER, userFileManager.AlbumSubType.USER_GENERIC);
let album = await albumFetchResult.getFirstObject();
let fetchResult = await album.getPhotoAssets(fetchOption);
let asset = await fetchResult.getFirstObject();
album.removePhotoAssets([asset]).then(() => {
console.info('album removePhotoAssets successfully');
}).catch((err) => {
console.error('album removePhotoAssets failed with error: ' + err);
});
} catch (err) {
console.error('removePhotoAssetsDemoPromise failed with error: ' + err);
}
}
```
## Album
实体相册
### 属性
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
### recoverPhotoAssets<sup>10+</sup>
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------ | ------ | ---- | ---- | ------- |
| albumName | string | 是 | 是 | 相册名称 |
| albumUri | string | 是 | 否 | 相册Uri |
| dateModified | number | 是 | 否 | 修改日期 |
| count | number | 是 | 否 | 相册中文件数量 |
| coverUri | string | 是 | 否 | 封面文件Uri
### getPhotoAssets
recoverPhotoAssets(assets: Array&lt;FileAsset&gt;, callback: AsyncCallback&lt;void&gt;): void;
getPhotoAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;FileAsset&gt;&gt;): void;
获取相册中的文件。该方法使用callback形式来返回文件。
从回收站中恢复图片或者视频,需要先在回收站中预置文件资源。该方法使用callback形式来返回结果。
**需要权限**:ohos.permission.READ_IMAGEVIDEO
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是 | callback 返回图片和视频数据结果集|
| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是 | 回收站中待恢复图片或者视频数组。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumGetFileAssetsDemoCallback');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
const album = await albumList.getFirstObject();
album.getPhotoAssets(fetchOption, (err, albumFetchResult) => {
if (albumFetchResult != undefined) {
console.info("album getPhotoAssets successfully, getCount: " + albumFetchResult.getCount());
} else {
console.error("album getPhotoAssets failed with error: " + err);
}
});
try {
console.info('recoverPhotoAssetsDemoCallback');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH);
let album = await albumFetchResult.getFirstObject();
let fetchResult = await album.getPhotoAssets(fetchOption);
let asset = await fetchResult.getFirstObject();
album.recoverPhotoAssets([asset], (err) => {
if (err === undefined) {
console.info('album recoverPhotoAssets successfully');
} else {
console.error('album recoverPhotoAssets failed with error: ' + err);
}
});
} catch (err) {
console.error('recoverPhotoAssetsDemoCallback failed with error: ' + err);
}
}
```
### getPhotoAssets
### recoverPhotoAssets<sup>10+</sup>
getPhotoAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&gt;;
recoverPhotoAssets(assets: Array&lt;FileAsset&gt;): Promise&lt;void&gt;;
获取相册中的文件。该方法使用Promise来返回文件
从回收站中恢复图片或者视频,需要先在回收站中预置文件资源。该方法使用Promise来返回结果
**需要权限**:ohos.permission.READ_IMAGEVIDEO
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 |
| Promise | [FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt; | 是 | 图片和视频数据结果集 |
| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是 | 回收站中待恢复图片或者视频数组。 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
|Promise&lt;void&gt; | Promise对象,返回void。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumGetFileAssetsDemoPromise');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
const album = await albumList.getFirstObject();
album.getPhotoAssets(fetchOption).then((albumFetchResult) => {
console.info("album getFileAssets successfully, getCount: " + albumFetchResult.getCount());
}).catch((err) => {
console.error("album getFileAssets failed with error: " + err);
});
try {
console.info('recoverPhotoAssetsDemoPromise');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH);
let album = await albumFetchResult.getFirstObject();
let fetchResult = await album.getPhotoAssets(fetchOption);
let asset = await fetchResult.getFirstObject();
album.recoverPhotoAssets([asset]).then(() => {
console.info('album recoverPhotoAssets successfully');
}).catch((err) => {
console.error('album recoverPhotoAssets failed with error: ' + err);
});
} catch (err) {
console.error('recoverPhotoAssetsDemoPromise failed with error: ' + err);
}
}
```
### commitModify
### deletePhotoAssets<sup>10+</sup>
commitModify(callback: AsyncCallback&lt;void&gt;): void;
deletePhotoAssets(assets: Array&lt;FileAsset&gt;, callback: AsyncCallback&lt;void&gt;): void;
从回收站中彻底删除图片或者视频,需要先在回收站中预置文件资源。该方法使用callback形式来返回结果。
更新相册属性修改到数据库中
**注意**:此操作不可逆,执行此操作后文件资源将彻底删除,请谨慎操作
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调返回空 |
| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是 | 回收站中待彻底删除图片或者视频数组。 |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumCommitModifyDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
const albumList = await mgr.getPhotoAlbums(albumFetchOptions);
const album = await albumList.getFirstObject();
album.albumName = 'hello';
album.commitModify((err) => {
if (err != undefined) {
console.error("commitModify failed with error: " + err);
} else {
console.info("commitModify successfully");
}
});
try {
console.info('deletePhotoAssetsDemoCallback');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH);
let album = await albumFetchResult.getFirstObject();
let fetchResult = await album.getPhotoAssets(fetchOption);
let asset = await fetchResult.getFirstObject();
album.deletePhotoAssets([asset], (err) => {
if (err === undefined) {
console.info('album deletePhotoAssets successfully');
} else {
console.error('album deletePhotoAssets failed with error: ' + err);
}
});
} catch (err) {
console.error('deletePhotoAssetsDemoCallback failed with error: ' + err);
}
}
```
### commitModify
### deletePhotoAssets<sup>10+</sup>
commitModify(): Promise&lt;void&gt;;
deletePhotoAssets(assets: Array&lt;FileAsset&gt;): Promise&lt;void&gt;;
更新相册属性修改到数据库中。
从回收站中彻底删除图片或者视频,需要先在回收站中预置文件资源。该方法使用Promise来返回结果。
**注意**:此操作不可逆,执行此操作后文件资源将彻底删除,请谨慎操作。
**需要权限**:ohos.permission.WRITE_IMAGEVIDEO
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| assets | Array&lt;[FileAsset](#fileasset)&gt; | 是 | 回收站中待彻底删除图片或者视频数组。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ------------ |
| Promise&lt;void&gt; | Promise调用返回空 |
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
|Promise&lt;void&gt; | Promise对象,返回void。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
async function example() {
console.info('albumCommitModifyDemo');
let predicates = new dataSharePredicates.DataSharePredicates();
let albumFetchOptions = {
predicates: predicates
};
try {
var albumList = await mgr.getPhotoAlbums(albumFetchOptions);
console.info('deletePhotoAssetsDemoPromise');
let predicates = new dataSharePredicates.DataSharePredicates();
let fetchOption = {
fetchColumns: [],
predicates: predicates
};
let albumFetchResult = await mgr.getAlbums(userFileManager.AlbumType.SYSTEM, userFileManager.AlbumSubType.TRASH);
let album = await albumFetchResult.getFirstObject();
let fetchResult = await album.getPhotoAssets(fetchOption);
let asset = await fetchResult.getFirstObject();
album.deletePhotoAssets([asset]).then(() => {
console.info('album deletePhotoAssets successfully');
}).catch((err) => {
console.error('album deletePhotoAssets failed with error: ' + err);
});
} catch (err) {
console.error('getPhotoAlbums failed. message = ', err);
console.error('deletePhotoAssetsDemoPromise failed with error: ' + err);
}
const album = await albumList.getFirstObject();
album.albumName = 'hello';
album.commitModify().then(() => {
console.info("commitModify successfully");
}).catch((err) => {
console.error("commitModify failed with error: " + err);
});
}
```
......@@ -2159,15 +3184,15 @@ async function example() {
### 属性
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力**SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------ | ------ | ---- | ---- | ------- |
| albumName | string | 是 | 是 | 相册名称 |
| albumUri | string | 是 | 否 | 相册Uri |
| dateModified | number | 是 | 否 | 修改日期 |
| count | number | 是 | 否 | 相册中文件数量 |
| coverUri | string | 是 | 否 | 封面文件Uri
| albumName | string | 是 | 是 | 相册名称 |
| albumUri | string | 是 | 否 | 相册Uri |
| dateModified | number | 是 | 否 | 修改日期 |
| count | number | 是 | 否 | 相册中文件数量 |
| coverUri | string | 是 | 否 | 封面文件Uri。 |
### getPhotoAssets
......@@ -2179,14 +3204,14 @@ getPhotoAssets(options: FetchOptions, callback: AsyncCallback&lt;FetchResult&lt;
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是 | callback返回图片和视频数据结果集 |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 |
| callback | AsyncCallback&lt;[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;&gt; | 是 | callback返回图片和视频数据结果集 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -2222,19 +3247,19 @@ getPhotoAssets(options: FetchOptions): Promise&lt;FetchResult&lt;FileAsset&gt;&g
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 |
| options | [FetchOptions](#fetchoptions) | 是 | 检索选项 |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise:[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;| 图片和视频数据结果集 |
| Promise:[FetchResult](#fetchresult)&lt;[FileAsset](#fileasset)&gt;| Promise对象,返回图片和视频数据结果集。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -2264,14 +3289,14 @@ delete(uri: string, callback: AsyncCallback&lt;void&gt;): void;
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是 | 相册uri |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调返回空 |
| uri | string | 是 | 相册uri |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -2308,19 +3333,19 @@ delete(uri: string): Promise&lt;void&gt;;
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是 | 相册uri |
| uri | string | 是 | 相册uri |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise&lt;void&gt;| 回调返回空 |
| Promise&lt;void&gt;| Promise对象,返回void。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -2355,14 +3380,14 @@ recover(uri: string, callback: AsyncCallback&lt;void&gt;): void;
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是 | 相册uri |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调返回空 |
| uri | string | 是 | 相册uri |
| callback | AsyncCallback&lt;void&gt; | 是 | callback返回void。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -2399,19 +3424,19 @@ recover(uri: string): Promise&lt;void&gt;;
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| uri | string | 是 | 相册uri |
| uri | string | 是 | 相册uri |
**返回值:**
| 类型 | 说明 |
| --------------------------------------- | ----------------- |
| Promise&lt;void&gt;| 回调返回空 |
| Promise&lt;void&gt;| Promise对象,返回void。 |
**示例**
**示例:**
```ts
import dataSharePredicates from '@ohos.data.dataSharePredicates';
......@@ -2440,137 +3465,202 @@ async function example() {
成员类型。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力**SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----- | ---- | ---- | ---- | ---- |
| number | number | 是 | 是 | number类型 |
| string | string | 是 | 是 | string类型 |
| boolean | boolean | 是 | 是 | boolean类型 |
| number | number | 是 | 是 | number类型 |
| string | string | 是 | 是 | string类型|
| boolean | boolean | 是 | 是 | boolean类型 |
## ChangeEvent
变更监听的媒体文件类型。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力**SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----- | ---- | ---- | ---- | ---- |
| deviceChange | string | 是 | 是 | 设备 |
| albumChange | string | 是 | 是 | 相册 |
| imageChange | string | 是 | 是 | 图片 |
| audioChange | string | 是 | 是 | 音频 |
| videoChange | string | 是 | 是 | 视频 |
| remoteFileChange | string | 是 | 是 | 远程文件 |
| deviceChange | string | 是 | 是 | 设备 |
| albumChange | string | 是 | 是 | 相册 |
| imageChange | string | 是 | 是 | 图片 |
| audioChange | string | 是 | 是 | 音频 |
| videoChange | string | 是 | 是 | 视频 |
| remoteFileChange | string | 是 | 是 | 远程文件 |
## PeerInfo
注册设备的信息。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.DistributedCore
**系统能力**SystemCapability.FileManagement.UserFileManager.DistributedCore
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ---------- | -------------------------- | ---- | ---- | ---------------- |
| deviceName | string | 是 | 否 | 注册设备的名称 |
| networkId | string | 是 | 否 | 注册设备的网络ID |
| isOnline | boolean | 是 | 否 | 是否在线 |
| deviceName | string | 是 | 否 | 注册设备的名称 |
| networkId | string | 是 | 否 | 注册设备的网络ID |
| isOnline | boolean | 是 | 否 | 是否在线 |
## FileType
枚举,媒体文件类型。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 值 | 说明 |
| ----- | ---- | ---- |
| IMAGE | 1 | 图片。 |
| VIDEO | 2 | 视频。 |
| AUDIO | 3 | 音频。 |
## PhotoSubType<sup>10+</sup>
枚举,不同[FileAsset](#fileasset)的类型。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 值 | 说明 |
| ----- | ---- | ---- |
| DEFAULT | 0 | 默认照片类型。 |
| SCREENSHOT | 1 | 截屏录屏文件类型。 |
| CAMERA | 2 | 相机拍摄的照片和视频类型。 |
## PositionType<sup>10+</sup>
枚举,文件位置,表示文件在本地或云端。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 值 | 说明 |
| ----- | ---- | ---- |
| LOCAL | 1 | 文件只存在于本端设备。 |
| CLOUD | 2 | 文件只存在于云端。 |
| BOTH | 3 | 文件在本地和云中都存在。 |
## AlbumType<sup>10+</sup>
枚举,相册类型,表示是用户相册还是系统预置相册。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 值 | 说明 |
| ----- | ---- | ---- |
| USER | 0 | 用户相册。 |
| SYSTEM | 1024 | 系统预置相册。 |
## AlbumSubType<sup>10+</sup>
枚举,相册子类型,表示具体的相册类型。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 值 | 说明 |
| ----- | ---- | ---- |
| IMAGE | 1 | 图片 |
| VIDEO | 2 | 视频 |
| AUDIO | 3 | 音频 |
| USER_GENERIC | 1 | 用户相册。 |
| FAVORITE | 1025 | 收藏夹。 |
| VIDEO | 1026 | 视频相册。 |
| HIDDEN | 1027 | 隐藏相册。 |
| TRASH | 1028 | 回收站。 |
| SCREENSHOT | 1029 | 截屏和录屏相册。 |
| CAMERA | 1030 | 相机拍摄的照片和视频相册。 |
| ANY | 2147483647 | 任意相册。 |
## PrivateAlbumType
枚举,系统相册类型。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力**SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 值 | 说明 |
| ----- | ---- | ---- |
| TYPE_FAVORITE | 0 | 收藏夹相册 |
| TYPE_TRASH | 1 | 回收站相册 |
| TYPE_FAVORITE | 0 | 收藏夹相册 |
| TYPE_TRASH | 1 | 回收站相册 |
## AudioKey
枚举,音频文件关键信息。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力**SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 值 | 说明 |
| ------------- | ------------------- | ---------------------------------------------------------- |
| URI | uri | 文件uri |
| DISPLAY_NAME | display_name | 显示名字 |
| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
| TITLE | title | 文件标题 |
| ARTIST | artist | 作者 |
| AUDIOALBUM | audio_album | 专辑 |
| DURATION | duration | 持续时间(单位:毫秒) |
| FAVORITE | favorite | 收藏 |
| URI | uri | 文件uri |
| DISPLAY_NAME | display_name | 显示名字 |
| DATE_ADDED | date_added | 添加日期(添加文件时间距1970年1月1日的秒数值)。 |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间距1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新)。 |
| TITLE | title | 文件标题 |
| ARTIST | artist | 作者 |
| AUDIOALBUM | audio_album | 专辑 |
| DURATION | duration | 持续时间(单位:毫秒) |
| FAVORITE | favorite | 收藏 |
## ImageVideoKey
枚举,图片和视频文件关键信息。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力**SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 值 | 说明 |
| ------------- | ------------------- | ---------------------------------------------------------- |
| URI | uri | 文件uri |
| FILE_TYPE | file_type | 媒体文件类型 |
| DISPLAY_NAME | display_name | 显示名字 |
| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
| TITLE | title | 文件标题 |
| DURATION | duration | 持续时间(单位:毫秒) |
| WIDTH | width | 图片宽度(单位:像素) |
| HEIGHT | height | 图片高度(单位:像素) |
| DATE_TAKEN | date_taken | 拍摄日期(文件拍照时间到1970年1月1日的秒数值) |
| ORIENTATION | orientation | 图片文件的方向 |
| FAVORITE | favorite | 收藏 |
| URI | uri | 文件uri。 |
| FILE_TYPE | file_type | 媒体文件类型。 |
| DISPLAY_NAME | display_name | 显示名字。 |
| DATE_ADDED | date_added | 添加日期(添加文件时间距1970年1月1日的秒数值)。 |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间距1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新)。 |
| TITLE | title | 文件标题。 |
| DURATION | duration | 持续时间(单位:毫秒)。 |
| WIDTH | width | 图片宽度(单位:像素)。 |
| HEIGHT | height | 图片高度(单位:像素)。 |
| DATE_TAKEN | date_taken | 拍摄日期(文件拍照时间距1970年1月1日的秒数值)。 |
| ORIENTATION | orientation | 图片文件的方向。 |
| FAVORITE | favorite | 收藏。 |
| POSITION<sup>10+</sup> | position | 文件位置类型。 |
| DATE_TRASHED<sup>10+</sup> | date_trashed | 删除日期(删除文件时间距1970年1月1日的秒数值)。 |
| HIDDEN<sup>10+</sup> | hidden | 文件的隐藏状态。 |
## AlbumKey
枚举,相册关键信息。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力**SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 值 | 说明 |
| ------------- | ------------------- | ---------------------------------------------------------- |
| URI | uri | 相册uri |
| FILE_TYPE | file_type | 媒体文件类型 |
| ALBUM_NAME | album_name | 相册名字 |
| DATE_ADDED | date_added | 添加日期(添加文件时间到1970年1月1日的秒数值) |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间到1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新) |
| URI | uri | 相册uri。 |
| FILE_TYPE | file_type | 媒体文件类型。 |
| ALBUM_NAME | album_name | 相册名字。 |
| DATE_ADDED | date_added | 添加日期(添加文件时间距1970年1月1日的秒数值)。 |
| DATE_MODIFIED | date_modified | 修改日期(修改文件时间距1970年1月1日的秒数值,修改文件名不会改变此值,当文件内容发生修改时才会更新)。 |
## PhotoCreateOptions<sup>10+</sup>
图片或视频的创建选项。
**系统能力**:SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 类型 | 必填 | 说明 |
| ---------------------- | ------------------- | ---- | ------------------------------------------------ |
| subType | [PhotoSubType](#photosubtype10) | 否 | 图片或者视频的子类型。 |
## FetchOptions
检索条件。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力**SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ---------------------- | ------------------- | ---- |---- | ------------------------------------------------ |
| fetchColumns | Array&lt;string&gt; | 是 | 是 | 检索条件,指定列名查询,如果该参数为空时默认查询uri、name、fileType。示例:<br />fetchColumns: "uri"|
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是 | 是 | 谓词查询,显示过滤条件 |
| fetchColumns | Array&lt;string&gt; | 是 | 是 | 检索条件,指定列名查询,如果该参数为空时默认查询uri、name、fileType(具体字段名称以检索对象定义为准)。示例:<br />fetchColumns: ['uri', 'title']。 |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是 | 是 | 谓词查询,显示过滤条件 |
## AlbumFetchOptions
相册检索条件。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.FileManagement.UserFileManager.Core
**系统能力**SystemCapability.FileManagement.UserFileManager.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ---------------------- | ------------------- | ---- |---- | ------------------------------------------------ |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是 | 是 | 谓词查询,显示过滤条件 |
| predicates | [dataSharePredicates.DataSharePredicates](js-apis-data-dataSharePredicates.md) | 是 | 是 | 谓词查询,显示过滤条件 |
## ChangeData<sup>10+</sup>
......@@ -2609,3 +3699,4 @@ async function example() {
| DEFAULT_PHOTO_URI | file://media/Photo | 默认PhotoAsset的Uri,与forSubUri{true}一起使用,将接收所有PhotoAsset的更改通知。 |
| DEFAULT_ALBUM_URI | file://media/PhotoAlbum | 默认相册的Uri,与forSubUri{true}一起使用,将接收所有相册的更改通知。 |
| DEFAULT_AUDIO_URI | file://media/Audio | 默认AudioAsset的Uri,与forSubUri{true}一起使用,将接收所有AudioAsset的更改通知。 |
......@@ -93,7 +93,7 @@
- [animateMotion](js-components-svg-animatemotion.md)
- [animateTransform](js-components-svg-animatetransform.md)
- 自定义组件
- [基本用法](js-components-custom-basic-usage.md)
- [自定义组件的基本用法](js-components-custom-basic-usage.md)
- [数据传递与处理](js-components-custom-props.md)
- [继承样式](js-components-custom-style.md)
- [slot插槽](js-components-custom-slot.md)
......
......@@ -40,12 +40,12 @@
- [触摸热区设置](ts-universal-attributes-touch-target.md)
- [多态样式](ts-universal-attributes-polymorphic-style.md)
- [触摸测试控制](ts-universal-attributes-hit-test-behavior.md)
- [背景模糊设置](ts-universal-attributes-backgroundBlurStyle.md)
- [组件背景模糊](ts-universal-attributes-backgroundBlurStyle.md)
- [分布式迁移标识](ts-universal-attributes-restoreId.md)
- [前景色设置](ts-universal-attributes-foreground-color.md)
- [图像球面效果设置](ts-universal-attributes-sphericalEffect.md)
- [图像渐亮效果设置](ts-universal-attributes-lightUpEffect.md)
- [图像像素扩展效果设置](ts-universal-attributes-pixelStretchEffect.md)
- [图像球面效果](ts-universal-attributes-sphericalEffect.md)
- [图像渐亮效果](ts-universal-attributes-lightUpEffect.md)
- [图像边缘像素扩展效果](ts-universal-attributes-pixelStretchEffect.md)
- 模态转场设置
- [全屏模态转场](ts-universal-attributes-modal-transition.md)
- [半模态转场](ts-universal-attributes-sheet-transition.md)
......@@ -69,7 +69,7 @@
- [DataPanel](ts-basic-components-datapanel.md)
- [DatePicker](ts-basic-components-datepicker.md)
- [Divider](ts-basic-components-divider.md)
- [Formcomponent](ts-basic-components-formcomponent.md)
- [FormComponent](ts-basic-components-formcomponent.md)
- [Gauge](ts-basic-components-gauge.md)
- [Image](ts-basic-components-image.md)
- [ImageAnimator](ts-basic-components-imageanimator.md)
......@@ -148,10 +148,12 @@
- [Shape](ts-drawing-components-shape.md)
- 画布组件
- [Canvas](ts-components-canvas-canvas.md)
- [CanvasRenderingContext2D对象](ts-canvasrenderingcontext2d.md)
- [CanvasGradient对象](ts-components-canvas-canvasgradient.md)
- [CanvasPattern](ts-components-canvas-canvaspattern.md)
- [CanvasRenderingContext2D对象](ts-canvasrenderingcontext2d.md)
- [ImageBitmap对象](ts-components-canvas-imagebitmap.md)
- [ImageData对象](ts-components-canvas-imagedata.md)
- [Matrix2D](ts-components-canvas-matrix2d.md)
- [OffscreenCanvasRenderingContext2D对象](ts-offscreencanvasrenderingcontext2d.md)
- [Path2D对象](ts-components-canvas-path2d.md)
- [Lottie](ts-components-canvas-lottie.md)
......@@ -168,14 +170,14 @@
- [警告弹窗](ts-methods-alert-dialog-box.md)
- [列表选择弹窗](ts-methods-action-sheet.md)
- [自定义弹窗](ts-methods-custom-dialog-box.md)
- [日期选择弹窗](ts-methods-datepicker-dialog.md)
- [时间选择弹窗](ts-methods-timepicker-dialog.md)
- [文本选择弹窗](ts-methods-textpicker-dialog.md)
- [日期滑动选择器弹窗](ts-methods-datepicker-dialog.md)
- [时间滑动选择器弹窗](ts-methods-timepicker-dialog.md)
- [文本滑动选择器弹窗](ts-methods-textpicker-dialog.md)
- [菜单](ts-methods-menu.md)
- [自定义组件的生命周期](ts-custom-component-lifecycle.md)
- [应用级变量的状态管理](ts-state-management.md)
- [像素单位](ts-pixel-units.md)
- [枚举说明](ts-appendix-enums.md)
- [类型说明](ts-types.md)
- [类型定义](ts-types.md)
- 已停止维护的组件
- [GridContainer](ts-container-gridcontainer.md)
......@@ -293,12 +293,12 @@
| 名称 | 描述 |
| -------- | ------------------------------------------------------------ |
| Auto | 使用Flex、GridRow容器中默认配置。 |
| Start | 元素在Flex、GridRow容器中,交叉轴方向首部对齐。 |
| Center | 元素在Flex、GridRow容器中,交叉轴方向居中对齐。 |
| End | 元素在Flex、GridRow容器中,交叉轴方向底部对齐。 |
| Stretch | 元素在Flex、GridRow容器中,交叉轴方向拉伸填充。容器为Flex且设置Wrap为FlexWrap.Wrap或FlexWrap.WrapReverse时,元素拉伸到与当前行/列交叉轴长度最长的元素尺寸。其余情况在元素未设置尺寸时,拉伸到容器尺寸。 |
| Baseline | 元素在Flex、GridRow容器中,交叉轴方向文本基线对齐。 |
| Auto | 使用Flex容器中默认配置。 |
| Start | 元素在Flex容器中,交叉轴方向首部对齐。 |
| Center | 元素在Flex容器中,交叉轴方向居中对齐。 |
| End | 元素在Flex容器中,交叉轴方向底部对齐。 |
| Stretch | 元素在Flex容器中,交叉轴方向拉伸填充。容器为Flex且设置Wrap为FlexWrap.Wrap或FlexWrap.WrapReverse时,元素拉伸到与当前行/列交叉轴长度最长的元素尺寸。其余情况在元素未设置尺寸时,拉伸到容器尺寸。 |
| Baseline | 元素在Flex容器中,交叉轴方向文本基线对齐。 |
## FlexDirection
......
......@@ -130,7 +130,7 @@ GridRow(option?: {columns?: number | GridRowColumnOption, gutter?: Length | Gutt
| 名称 | 参数类型 | 描述 |
| ----------------------- | ----------------------------------- | ------------------------------------------- |
| alignItems<sup>10+</sup> | [ItemAlign](ts-appendix-enums.md#itemalign) | 设置GridRow中的GridCol垂直主轴方向对齐方式,默认值:ItemAlign.Start<br/>说明:<br/>在ItemAlign中,实际支持的参数枚举值仅为Start、Center、End、Stretch。<br/>GridCol本身也可通过alignSelf([ItemAlign](ts-appendix-enums.md#itemalign))设置自身对齐方式。当上述两种对齐方式都设置时,以GridCol自身设置为准。<br/>从API version 10开始,该接口支持在ArkTS卡片中使用。 |
| alignItems<sup>10+</sup> | ItemAlign | 设置GridRow中的GridCol垂直主轴方向对齐方式,默认值:ItemAlign.Start<br/>**说明**<br/>ItemAlign支持的枚举:ItemAlign.Start、ItemAlign.Center、ItemAlign.End、ItemAlign.Stretch。<br/>GridCol本身也可通过alignSelf([ItemAlign](ts-appendix-enums.md#itemalign))设置自身对齐方式。当上述两种对齐方式都设置时,以GridCol自身设置为准。<br/>从API version 10开始,该接口支持在ArkTS卡片中使用。 |
## 事件
......
......@@ -41,8 +41,8 @@ Tabs(value?: {barPosition?: BarPosition, index?: number, controller?: [TabsContr
| vertical | boolean | 设置为false是为横向Tabs,设置为true时为纵向Tabs。<br/>默认值:false |
| scrollable | boolean | 设置为true时可以通过滑动页面进行页面切换,为false时不可滑动切换页面。<br/>默认值:true |
| barMode | BarMode | TabBar布局模式,具体描述见BarMode枚举说明。<br/>默认值:BarMode.Fixed |
| barWidth | number&nbsp;\|&nbsp;Length<sup>8+</sup> | TabBar的宽度值。<br/>**说明:** <br/>设置为小于0或大于Tabs宽度值时,按默认值显示。 |
| barHeight | number&nbsp;\|&nbsp;Length<sup>8+</sup> | TabBar的高度值。<br/>**说明:** <br/>设置为小于0或大于Tabs宽度值时,按默认值显示。 |
| barWidth | number&nbsp;\|&nbsp;Length<sup>8+</sup> | TabBar的宽度值。<br/>默认值:<br/>未设置带样式的TabBar且vertical属性为false时,默认值为Tabs的宽度。<br/>未设置带样式的TabBar且vertical属性为true时,默认值为56vp。<br/>设置SubTabbarStyle样式且vertical属性为false时,默认值为Tabs的宽度。<br/>设置SubTabbarStyle样式且vertical属性为true时,默认值为56vp。<br/>设置BottomTabbarStyle样式且vertical属性为true时,默认值为96vp。<br/>设置BottomTabbarStyle样式且vertical属性为false时,默认值为Tabs的宽度。<br/>**说明:** <br/>设置为小于0或大于Tabs宽度值时,按默认值显示。 |
| barHeight | number&nbsp;\|&nbsp;Length<sup>8+</sup> | TabBar的高度值。<br/>默认值:<br/>未设置带样式的TabBar且vertical属性为false时,默认值为56vp。<br/>未设置带样式的TabBar且vertical属性为true时,默认值为Tabs的高度。<br/>设置SubTabbarStyle样式且vertical属性为false时,默认值为56vp。<br/>设置SubTabbarStyle样式且vertical属性为true时,默认值为Tabs的高度。<br/>设置BottomTabbarStyle样式且vertical属性为true时,默认值为Tabs的高度。<br/>设置BottomTabbarStyle样式且vertical属性为false时,默认值为56vp。<br/>**说明:** <br/>设置为小于0或大于Tabs高度值时,按默认值显示。|
| animationDuration | number | TabContent滑动动画时长。不设置时,点击切换页签无动画,滑动切换有动画;设置时,点击切换和滑动切换都有动画。<br/>默认值:300 <br/>**说明:** <br/>设置为小于0或百分比时,按默认值显示。 |
| divider<sup>10+</sup> | [DividerStyle](#dividerstyle10对象说明) \| null | 用于设置区分TabBar和TabContent的分割线样式设置分割线样式,默认不显示分割线。<br/> DividerStyle: 分割线的样式;<br/> null: 不显示分割线。 |
| fadingEdge<sup>10+</sup> | boolean | 设置页签超过容器宽度时是否渐隐消失<br />默认值:true |
......
# 全屏模态转场设置
# 全屏模态转场
通过bindContentCover属性为组件绑定全屏模态页面,在组件插入和删除时可通过设置转场参数ModalTransition显示过渡动效。
> **说明:**
>
> 从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
> 从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
## 属性
| 名称 | 参数 | 参数描述 |
| -------- | -------- | -------- |
| 名称 | 参数 | 参数描述 |
| ---------------- | ---------------------------------------- | ---------------------------------------- |
| bindContentCover | isShow: boolean,<br>builder: [CustomBuilder](ts-types.md#custombuilder8),<br>type?: [ModalTransition](ts-types.md#modaltransition10) | 给组件绑定全屏模态页面,点击后显示模态页面。模态页面内容自定义,显示方式可设置无动画过渡,上下切换过渡以及透明渐变过渡方式。<br/> isShow: 必填,是否显示全屏模态页面。<br/>builder: 必填,配置全屏模态页面内容。<br/> type: 非必填,配置全屏模态页面的转场方式。 |
## 示例
......
......@@ -40,7 +40,7 @@
| 名称 | 类型 | 必填 | 描述 |
| ---------------------------- | ---------------------------------------- | ---- | ---------------------------------------- |
| builder | [CustomBuilder](ts-types.md#custombuilder8) | 是 | 提示气泡内容的构造器。 |
| builder | [CustomBuilder](ts-types.md#custombuilder8) | 是 | 提示气泡内容的构造器。<br />**说明:**<br />popup为通用属性,自定义popup中不支持再次弹出popup。对builder下的第一层容器组件不支持使用position属性,如果使用将导致气泡不显示。 |
| placement | [Placement](ts-appendix-enums.md#placement8) | 否 | 气泡组件优先显示的位置,当前位置显示不下时,会自动调整位置。<br/>默认值:Placement.Bottom |
| popupColor | [ResourceColor](ts-types.md#resourcecolor) | 否 | 提示气泡的颜色。 |
| enableArrow | boolean | 否 | 是否显示箭头。<br/>从API Version 9开始,如果箭头所在方位侧的气泡长度不足以显示下箭头,则会默认不显示箭头。比如:placement设置为Left,此时如果气泡高度小于箭头的宽度(32vp)与气泡圆角两倍(48vp)之和(80vp),则实际不会显示箭头。<br/>默认值:true |
......@@ -112,7 +112,7 @@ struct PopupExample {
.bindPopup(this.customPopup, {
builder: this.popupBuilder,
placement: Placement.Top,
maskColor: '0x33000000',
mask: {color:'0x33000000'},
popupColor: Color.Yellow,
enableArrow: true,
showInSubWindow: false,
......
# 自定义快捷键
# 组件快捷键事件
开发者可以设置组件的自定义组合键,组合键的行为与click行为一致,组件在未获得焦点状态下也可以响应自定义组合键,每个组件可以设置多个组合键。
......@@ -12,23 +12,23 @@ keyboardShortcut(value: string | [FunctionKey], keys: Array<[ModifierKey]>)
**参数:**
| 参数名 | 参数类型 | 必填 | 参数描述 |
| ------ | ------------------------------------- | ---- | ------------------------------------------------------------ |
| value | string \| [FunctionKey](#functionkey) | 是 | 热键的单个字符(可以通过键盘输入的字符)或[FunctionKey](#functionkey)<br/> |
| keys | Array<[ModifierKey](#modifierkey)> | 是 | 热键组合。<br/> |
| 参数名 | 参数类型 | 必填 | 参数描述 |
| ----- | ------------------------------------- | ---- | ---------------------------------------- |
| value | string \| [FunctionKey](#functionkey) | 是 | 热键的单个字符(可以通过键盘输入的字符)或[FunctionKey](#functionkey)<br/> |
| keys | Array<[ModifierKey](#modifierkey)> | 是 | 热键组合。<br/> |
## ModifierKey
| 名称 | 描述 |
| ----- | ------------------- |
| 名称 | 描述 |
| ----- | ------------ |
| CTRL | 表示键盘上Ctrl键。 |
| SHIFT | 表示键盘上Shift键。 |
| ALT | 表示键盘上Alt键。 |
## FunctionKey
| 名称 | 描述 |
| ---- | --------------------- |
| 名称 | 描述 |
| ---- | ------------ |
| ESC | 表示键盘上ESC功能键。 |
| F1 | 表示键盘上F1功能键。 |
| F2 | 表示键盘上F2功能键。 |
......@@ -45,35 +45,35 @@ keyboardShortcut(value: string | [FunctionKey], keys: Array<[ModifierKey]>)
## 快捷键使用注意事项
| 场景 | 快捷键处理逻辑 | 例子 |
| ------------------------------------------------------------ | -------------------------------------------------------- | ------------------------------------------------------------ |
| 所有支持onClick事件的组件 | 支持自定义组合键 | 无 |
| 自定义组合键要求 | 控制键Ctrl,Shift,Alt及它们的组合加上其它可输入字符按键 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL]) |
| 多个不同组件设置相同组合键 | 只响应结点树上的第一个组件、其它组件不响应快捷键。 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL])<br />Button('button2').keyboardShortcut('a',[ModifierKey.CTRL]) |
| 无论组件是否获得焦点 | 只要窗口获焦快捷键就会响应 | 无 |
| 绑定单个快捷键时候,通过keyboardShortcut接口value值或者是keys值或两者都是空的情况下。<br />绑定多个快捷键的时候无法取消快捷键。 | 取消快捷键的设置 | Button('button1').keyboardShortcut('',[ModifierKey.CTRL])<br />Button('button2').keyboardShortcut('a',[l])<br />Button('button3').keyboardShortcut('',[]) |
| 独立pipeline子窗口、主窗口共存的情况下 | 获焦的窗口响应快捷键 | 无 |
| keyboardShortcut接口中的keys命令中ctrl、shift、alt | 不区分左右键都响应 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL, ModifierKey.ALT]) |
| keyboardShortcut接口中的value单个字符 | 不区分大小写都响应 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL])<br />Button('button2').keyboardShortcut('A',[ModifierKey.CTRL]) |
| 快捷键的响应 | 所有快捷键down的状态下响应、且连续响应 | 无 |
| 隐藏组件<br /> | 响应快捷键 | 无 |
| disable状态组件 | 不响应快捷键 | 无 |
| 1. 组件的组合键(包括系统预定义快捷键)相同时。<br />2. 接口参数value有多个字符时。<br />3. 接口参数keys有重复的控制键时。 | 这几种情况不绑定组合键, 先前绑定的组合键仍然有效 | Button('button1').keyboardShortcut('c',[ModifierKey.CTRL])<br />Button('button2').keyboardShortcut('ab',[ModifierKey.CTRL])<br />Button('button3').keyboardShortcut('ab',[ModifierKey.CTRL,ModifierKey.CTRL]) |
| 场景 | 快捷键处理逻辑 | 例子 |
| ---------------------------------------- | ---------------------------------- | ---------------------------------------- |
| 所有支持onClick事件的组件 | 支持自定义组合键 | 无 |
| 自定义组合键要求 | 控制键Ctrl,Shift,Alt及它们的组合加上其它可输入字符按键 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL]) |
| 多个不同组件设置相同组合键 | 只响应结点树上的第一个组件、其它组件不响应快捷键。 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL])<br />Button('button2').keyboardShortcut('a',[ModifierKey.CTRL]) |
| 无论组件是否获得焦点 | 只要窗口获焦快捷键就会响应 | 无 |
| 绑定单个快捷键时候,通过keyboardShortcut接口value值或者是keys值或两者都是空的情况下。<br />绑定多个快捷键的时候无法取消快捷键。 | 取消快捷键的设置 | Button('button1').keyboardShortcut('',[ModifierKey.CTRL])<br />Button('button2').keyboardShortcut('a',[l])<br />Button('button3').keyboardShortcut('',[]) |
| 独立pipeline子窗口、主窗口共存的情况下 | 获焦的窗口响应快捷键 | 无 |
| keyboardShortcut接口中的keys命令中ctrl、shift、alt | 不区分左右键都响应 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL, ModifierKey.ALT]) |
| keyboardShortcut接口中的value单个字符 | 不区分大小写都响应 | Button('button1').keyboardShortcut('a',[ModifierKey.CTRL])<br />Button('button2').keyboardShortcut('A',[ModifierKey.CTRL]) |
| 快捷键的响应 | 所有快捷键down的状态下响应、且连续响应 | 无 |
| 隐藏组件<br /> | 响应快捷键 | 无 |
| disable状态组件 | 不响应快捷键 | 无 |
| 1. 组件的组合键(包括系统预定义快捷键)相同时。<br />2. 接口参数value有多个字符时。<br />3. 接口参数keys有重复的控制键时。 | 这几种情况不绑定组合键, 先前绑定的组合键仍然有效 | Button('button1').keyboardShortcut('c',[ModifierKey.CTRL])<br />Button('button2').keyboardShortcut('ab',[ModifierKey.CTRL])<br />Button('button3').keyboardShortcut('ab',[ModifierKey.CTRL,ModifierKey.CTRL]) |
## 系统已有组合键
| 快捷键 | 组件 |
| -------------- | ------------------------------------------------------------ |
| 快捷键 | 组件 |
| -------------- | ---------------------------------------- |
| Ctrl + C | [Image](ts-basic-components-image.md)[TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| Ctrl+ A | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| Ctrl+ V | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| Ctrl+ X | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| Shift + 方向键 | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| Shift + 方向键 | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| Ctrl+ Shift+ Z | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| Ctrl+ Z | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| Ctrl+ Y | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| 方向键、回车键 | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| TAB键 | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| 方向键、回车键 | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
| TAB键 | [TextInput](ts-basic-components-textinput.md)[TextArea](ts-basic-components-textarea.md) |
## 示例
......
......@@ -22,4 +22,41 @@ The DataShareHelper is not initialized successfully.
**处理步骤**
1. 咨询DataShare服务端提供者,获取正确的uri路径。
2. DataShare仅支持Stage模型,检查context是否为Stage模型的context。
\ No newline at end of file
2. DataShare仅支持Stage模型,检查context是否为Stage模型的context。
## 15700011 添加/删除模板异常
**错误信息**
The uri is not exist.
**错误描述**
添加/删除模板异常时,系统会产生此错误码。
**可能原因**
1. 添加模板异常时,接口addTemplate的入参uri不正确。
2. 删除模板异常时,接口delTemplate的入参uri不正确。
**处理步骤**
咨询DataShare服务端提供者,获取正确的uri路径。
## 15700012 数据区不存在
**错误信息**
The data area is not exist.
**错误描述**
数据更新异常时,系统会产生此错误码。
**可能原因**
数据更新异常时,接口publish的入参bundleName不正确。
**处理步骤**
咨询DataShare服务端提供者,获取正确的bundleName。
\ No newline at end of file
......@@ -86,33 +86,33 @@
- [页面路由](ui-js-building-ui-routes.md)
- 常见组件开发指导
- 容器组件
- [List开发指导](ui-js-components-list.md)
- [Dialog开发指导](ui-js-components-dialog.md)
- [Form开发指导](ui-js-components-form.md)
- [Stepper开发指导](ui-js-components-stepper.md)
- [Tabs开发指导](ui-js-component-tabs.md)
- [Swiper开发指导](ui-js-components-swiper.md)
- [list开发指导](ui-js-components-list.md)
- [dialog开发指导](ui-js-components-dialog.md)
- [form开发指导](ui-js-components-form.md)
- [stepper开发指导](ui-js-components-stepper.md)
- [tabs开发指导](ui-js-component-tabs.md)
- [swiper开发指导](ui-js-components-swiper.md)
- 基础组件
- [Text开发指导](ui-js-components-text.md)
- [Input开发指导](ui-js-components-input.md)
- [Button开发指导](ui-js-components-button.md)
- [Picker开发指导](ui-js-components-picker.md)
- [Image开发指导](ui-js-components-images.md)
- [Image-animator开发指导](ui-js-components-image-animator.md)
- [Rating开发指导](ui-js-components-rating.md)
- [Slider开发指导](ui-js-components-slider.md)
- [Chart开发指导](ui-js-components-chart.md)
- [Switch开发指导](ui-js-components-switch.md)
- [Toolbar开发指导](ui-js-components-toolbar.md)
- [Menu开发指导](ui-js-components-menu.md)
- [Marquee开发指导](ui-js-components-marquee.md)
- [Qrcode开发指导](ui-js-components-qrcode.md)
- [Search开发指导](ui-js-components-search.md)
- [text开发指导](ui-js-components-text.md)
- [input开发指导](ui-js-components-input.md)
- [button开发指导](ui-js-components-button.md)
- [picker开发指导](ui-js-components-picker.md)
- [image开发指导](ui-js-components-images.md)
- [image-animator开发指导](ui-js-components-image-animator.md)
- [rating开发指导](ui-js-components-rating.md)
- [slider开发指导](ui-js-components-slider.md)
- [chart开发指导](ui-js-components-chart.md)
- [switch开发指导](ui-js-components-switch.md)
- [toolbar开发指导](ui-js-components-toolbar.md)
- [menu开发指导](ui-js-components-menu.md)
- [marquee开发指导](ui-js-components-marquee.md)
- [qrcode开发指导](ui-js-components-qrcode.md)
- [search开发指导](ui-js-components-search.md)
- Canvas开发指导
- [Canvas对象](ui-js-components-canvas.md)
- [CanvasRenderingContext2D对象](ui-js-components-canvasrenderingcontext2d.md)
- [Path2D对象](ui-js-components-path2d.md)
- [OffscreenCanvas对象](ui-js-components-offscreencanvas.md)
- [OffscreenCanvasRenderingContext2D对象](ui-js-components-offscreencanvas.md)
- [栅格布局](ui-js-components-grid.md)
- Svg开发指导
- [基础知识](ui-js-components-svg-overview.md)
......
# 概述
# 交互事件概述
交互事件按照触发类型来分类,包括触屏事件、键鼠事件和焦点事件。
......
# search
# search开发指导
提供搜索框组件,用于提供用户搜索内容的输入区域,具体用法请参考[search](../reference/arkui-js/js-components-basic-search.md)
......
# 概述
# WebGL开发概述
WebGL的全称为Web Graphic Library(网页图形库),主要用于交互式渲染2D图形和3D图形。目前OpenHarmony中使用的WebGL是基于OpenGL裁剪的OpenGL ES,可以在HTML5的canvas元素对象中使用,无需使用插件,支持跨平台。WebGL程序是由JavaScript代码组成的,其中使用的API可以利用用户设备提供的GPU硬件完成图形渲染和加速。更多信息请参考[WebGL™标准](https://www.khronos.org/registry/webgl/specs/latest/1.0/)
......
......@@ -328,33 +328,33 @@
- [页面路由](ui/ui-js-building-ui-routes.md)
- 常见组件开发指导
- 容器组件
- [List开发指导](ui/ui-js-components-list.md)
- [Dialog开发指导](ui/ui-js-components-dialog.md)
- [Form开发指导](ui/ui-js-components-form.md)
- [Stepper开发指导](ui/ui-js-components-stepper.md)
- [Tabs开发指导](ui/ui-js-component-tabs.md)
- [Swiper开发指导](ui/ui-js-components-swiper.md)
- [list开发指导](ui/ui-js-components-list.md)
- [dialog开发指导](ui/ui-js-components-dialog.md)
- [form开发指导](ui/ui-js-components-form.md)
- [stepper开发指导](ui/ui-js-components-stepper.md)
- [tabs开发指导](ui/ui-js-component-tabs.md)
- [swiper开发指导](ui/ui-js-components-swiper.md)
- 基础组件
- [Text开发指导](ui/ui-js-components-text.md)
- [Input开发指导](ui/ui-js-components-input.md)
- [Button开发指导](ui/ui-js-components-button.md)
- [Picker开发指导](ui/ui-js-components-picker.md)
- [Image开发指导](ui/ui-js-components-images.md)
- [Image-animator开发指导](ui/ui-js-components-image-animator.md)
- [Rating开发指导](ui/ui-js-components-rating.md)
- [Slider开发指导](ui/ui-js-components-slider.md)
- [Chart开发指导](ui/ui-js-components-chart.md)
- [Switch开发指导](ui/ui-js-components-switch.md)
- [Toolbar开发指导](ui/ui-js-components-toolbar.md)
- [Menu开发指导](ui/ui-js-components-menu.md)
- [Marquee开发指导](ui/ui-js-components-marquee.md)
- [Qrcode开发指导](ui/ui-js-components-qrcode.md)
- [Search开发指导](ui/ui-js-components-search.md)
- [text开发指导](ui/ui-js-components-text.md)
- [input开发指导](ui/ui-js-components-input.md)
- [button开发指导](ui/ui-js-components-button.md)
- [picker开发指导](ui/ui-js-components-picker.md)
- [image开发指导](ui/ui-js-components-images.md)
- [image-animator开发指导](ui/ui-js-components-image-animator.md)
- [rating开发指导](ui/ui-js-components-rating.md)
- [slider开发指导](ui/ui-js-components-slider.md)
- [chart开发指导](ui/ui-js-components-chart.md)
- [switch开发指导](ui/ui-js-components-switch.md)
- [toolbar开发指导](ui/ui-js-components-toolbar.md)
- [menu开发指导](ui/ui-js-components-menu.md)
- [marquee开发指导](ui/ui-js-components-marquee.md)
- [qrcode开发指导](ui/ui-js-components-qrcode.md)
- [search开发指导](ui/ui-js-components-search.md)
- Canvas开发指导
- [Canvas对象](ui/ui-js-components-canvas.md)
- [CanvasRenderingContext2D对象](ui/ui-js-components-canvasrenderingcontext2d.md)
- [Path2D对象](ui/ui-js-components-path2d.md)
- [OffscreenCanvas对象](ui/ui-js-components-offscreencanvas.md)
- [OffscreenCanvasRenderingContext2D对象](ui/ui-js-components-offscreencanvas.md)
- [栅格布局](ui/ui-js-components-grid.md)
- Svg开发指导
- [基础知识](ui/ui-js-components-svg-overview.md)
......@@ -722,12 +722,12 @@
- [触摸热区设置](reference/arkui-ts/ts-universal-attributes-touch-target.md)
- [多态样式](reference/arkui-ts/ts-universal-attributes-polymorphic-style.md)
- [触摸测试控制](reference/arkui-ts/ts-universal-attributes-hit-test-behavior.md)
- [背景模糊设置](reference/arkui-ts/ts-universal-attributes-backgroundBlurStyle.md)
- [组件背景模糊](reference/arkui-ts/ts-universal-attributes-backgroundBlurStyle.md)
- [分布式迁移标识](reference/arkui-ts/ts-universal-attributes-restoreId.md)
- [前景色设置](reference/arkui-ts/ts-universal-attributes-foreground-color.md)
- [图像球面效果设置](reference/arkui-ts/ts-universal-attributes-sphericalEffect.md)
- [图像渐亮效果设置](reference/arkui-ts/ts-universal-attributes-lightUpEffect.md)
- [图像像素扩展效果设置](reference/arkui-ts/ts-universal-attributes-pixelStretchEffect.md)
- [图像球面效果](reference/arkui-ts/ts-universal-attributes-sphericalEffect.md)
- [图像渐亮效果](reference/arkui-ts/ts-universal-attributes-lightUpEffect.md)
- [图像边缘像素扩展效果](reference/arkui-ts/ts-universal-attributes-pixelStretchEffect.md)
- [文本通用属性](reference/arkui-ts/ts-universal-attributes-text-style.md)
- 手势处理
- [绑定手势方法](reference/arkui-ts/ts-gesture-settings.md)
......@@ -748,7 +748,7 @@
- [DataPanel](reference/arkui-ts/ts-basic-components-datapanel.md)
- [DatePicker](reference/arkui-ts/ts-basic-components-datepicker.md)
- [Divider](reference/arkui-ts/ts-basic-components-divider.md)
- [Formcomponent](reference/arkui-ts/ts-basic-components-formcomponent.md)
- [FormComponent](reference/arkui-ts/ts-basic-components-formcomponent.md)
- [Gauge](reference/arkui-ts/ts-basic-components-gauge.md)
- [Image](reference/arkui-ts/ts-basic-components-image.md)
- [ImageAnimator](reference/arkui-ts/ts-basic-components-imageanimator.md)
......@@ -847,15 +847,15 @@
- [警告弹窗](reference/arkui-ts/ts-methods-alert-dialog-box.md)
- [列表选择弹窗](reference/arkui-ts/ts-methods-action-sheet.md)
- [自定义弹窗](reference/arkui-ts/ts-methods-custom-dialog-box.md)
- [日期选择弹窗](reference/arkui-ts/ts-methods-datepicker-dialog.md)
- [时间选择弹窗](reference/arkui-ts/ts-methods-timepicker-dialog.md)
- [文本选择弹窗](reference/arkui-ts/ts-methods-textpicker-dialog.md)
- [日期滑动选择器弹窗](reference/arkui-ts/ts-methods-datepicker-dialog.md)
- [时间滑动选择器弹窗](reference/arkui-ts/ts-methods-timepicker-dialog.md)
- [文本滑动选择器弹窗](reference/arkui-ts/ts-methods-textpicker-dialog.md)
- [菜单](reference/arkui-ts/ts-methods-menu.md)
- [自定义组件的生命周期](reference/arkui-ts/ts-custom-component-lifecycle.md)
- [应用级变量的状态管理](reference/arkui-ts/ts-state-management.md)
- [像素单位](reference/arkui-ts/ts-pixel-units.md)
- [枚举说明](reference/arkui-ts/ts-appendix-enums.md)
- [类型说明](reference/arkui-ts/ts-types.md)
- [类型定义](reference/arkui-ts/ts-types.md)
- 已停止维护的组件
- [GridContainer](reference/arkui-ts/ts-container-gridcontainer.md)
- 组件参考(兼容JS的类Web开发范式-ArkUI.Full)
......@@ -952,7 +952,7 @@
- [animateMotion](reference/arkui-js/js-components-svg-animatemotion.md)
- [animateTransform](reference/arkui-js/js-components-svg-animatetransform.md)
- 自定义组件
- [基本用法](reference/arkui-js/js-components-custom-basic-usage.md)
- [自定义组件的基本用法](reference/arkui-js/js-components-custom-basic-usage.md)
- [数据传递与处理](reference/arkui-js/js-components-custom-props.md)
- [继承样式](reference/arkui-js/js-components-custom-style.md)
- [slot插槽](reference/arkui-js/js-components-custom-slot.md)
......@@ -1213,17 +1213,17 @@
- [shortcutInfo](reference/apis/js-apis-bundleManager-shortcutInfo.md)
- UI界面
- [@ohos.animator (动画)](reference/apis/js-apis-animator.md)
- [@ohos.arkui.componentSnapshot(组件截图)](reference/apis/js-apis-arkui-componentSnapshot.md)
- [@ohos.arkui.componentSnapshot (组件截图)](reference/apis/js-apis-arkui-componentSnapshot.md)
- [@ohos.arkui.drawableDescriptor (DrawableDescriptor)](reference/apis/js-apis-arkui-drawableDescriptor.md)
- [@ohos.curves (插值计算)](reference/apis/js-apis-curve.md)
- [@ohos.font(注册自定义字体)](reference/apis/js-apis-font.md)
- [@ohos.font (注册自定义字体)](reference/apis/js-apis-font.md)
- [@ohos.matrix4 (矩阵变换)](reference/apis/js-apis-matrix4.md)
- [@ohos.mediaquery (媒体查询)](reference/apis/js-apis-mediaquery.md)
- [@ohos.pluginComponent(PluginComponentManager)](reference/apis/js-apis-plugincomponent.md)
- [@ohos.pluginComponent (PluginComponentManager)](reference/apis/js-apis-plugincomponent.md)
- [@ohos.promptAction (弹窗)](reference/apis/js-apis-promptAction.md)
- [@ohos.router (页面路由)](reference/apis/js-apis-router.md)
- [@ohos.measure (文本计算)](reference/apis/js-apis-measure.md)
- [@ohos.uiAppearance(用户界面外观)](reference/apis/js-apis-uiappearance.md)
- [@ohos.uiAppearance (用户界面外观)](reference/apis/js-apis-uiappearance.md)
- 图形图像
- [@ohos.animation.windowAnimationManager (窗口动画管理)](reference/apis/js-apis-windowAnimationManager.md)
- [@ohos.application.WindowExtensionAbility (窗口扩展能力)](reference/apis/js-apis-application-windowExtensionAbility.md)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册