未验证 提交 89618236 编写于 作者: O openharmony_ci 提交者: Gitee

!11883 卡片API优化

Merge pull request !11883 from wangkailong/docsRefinement
......@@ -18,7 +18,7 @@
- [@ohos.application.abilityLifecycleCallback (AbilityLifecycleCallback)](js-apis-application-abilityLifecycleCallback.md)
- [@ohos.application.DataShareExtensionAbility (数据共享扩展能力)](js-apis-application-DataShareExtensionAbility.md)
- [@ohos.application.EnvironmentCallback (EnvironmentCallback)](js-apis-application-EnvironmentCallback.md)
- [@ohos.application.FormExtension (FormExtension)](js-apis-formextension.md)
- [@ohos.app.form.FormExtensionAbility.d.ts](FormExtensionAbility)(js-apis-app-form-formextensionability.md)
- [@ohos.application.ServiceExtensionAbility (ServiceExtensionAbility)](js-apis-service-extension-ability.md)
- [@ohos.application.StartOptions (StartOptions)](js-apis-application-StartOptions.md)
- [@ohos.application.StaticSubscriberExtensionAbility (StaticSubscriberExtensionAbility)](js-apis-application-staticSubscriberExtensionAbility.md)
......@@ -43,11 +43,11 @@
- [@ohos.application.Configuration (Configuration)](js-apis-application-configuration.md)
- [@ohos.application.ConfigurationConstant (ConfigurationConstant)](js-apis-application-configurationConstant.md)
- [@ohos.application.errorManager (ErrorManager)](js-apis-errorManager.md)
- [@ohos.application.formBindingData (卡片数据绑定类)](js-apis-formbindingdata.md)
- [@oho.app.form.formBindingData (卡片数据绑定类)](js-apis-app-form-formbindingdata.md)
- [@ohos.application.formError (FormError)](js-apis-formerror.md)
- [@ohos.application.formHost (FormHost)](js-apis-formhost.md)
- [@ohos.application.formInfo (FormInfo)](js-apis-formInfo.md)
- [@ohos.application.formProvider (FormProvider)](js-apis-formprovider.md)
- [@ohos.app.form.formHost (FormHost)](js-apis-app-form-formhost.md)
- [@ohos.app.form.formProvider (FormProvider)](js-apis-app-form-formprovider.md)
- [@ohos.app.form.formInfo (FormInfo)](js-apis-app-form-forminfo.md)
- [@ohos.application.missionManager (missionManager)](js-apis-missionManager.md)
- [@ohos.application.quickFixManager (quickFixManager)](js-apis-application-quickFixManager.md)
- [@ohos.application.Want (Want)](js-apis-application-Want.md)
......@@ -297,6 +297,11 @@
- [@ohos.uitest (UiTest)](js-apis-uitest.md)
- 已停止维护的接口
- [@ohos.application.FormExtension (FormExtension)](js-apis-formextension.md)
- [@ohos.application.formHost (FormHost)](js-apis-formhost.md)
- [@ohos.application.formProvider (FormProvider)](js-apis-formprovider.md)
- [@ohos.application.formInfo (FormInfo)](js-apis-formInfo.md)
- [@ohos.application.formBindingData (卡片数据绑定类)](js-apis-formbindingdata.md)
- [@ohos.backgroundTaskManager (后台任务管理)](js-apis-backgroundTaskManager.md)
- [@ohos.bundle (Bundle模块)](js-apis-Bundle.md)
- [@ohos.bundle.innerBundleManager (innerBundleManager模块)](js-apis-Bundle-InnerBundleManager.md)
......
# 卡片数据绑定类
卡片数据绑定模块提供卡片数据绑定的能力。包括FormBindingData对象的创建、相关信息的描述。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import formBindingData from '@ohos.app.form.formBindingData';
```
## FormBindingData
FormBindingData相关描述。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 可读 | 可写 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | -------- | -------- |
| data | 是 | 否 | Object | 是 | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。|
## createFormBindingData
createFormBindingData(obj?: Object | string): FormBindingData
创建一个FormBindingData对象。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------- | ---- | ------------------------------------------------------------ |
| obj | Object或string | 否 | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。其中图片数据以"formImages"作为标识,内容为图片标识与图片文件描述符的键值对{"formImages": {"key1": fd1, "key2": fd2}} |
**返回值:**
| 类型 | 说明 |
| ----------------------------------- | --------------------------------------- |
| [FormBindingData](#formbindingdata) | 根据传入数据创建的FormBindingData对象。 |
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility';
import fileio from '@ohos.fileio';
let context=featureAbility.getContext();
context.getOrCreateLocalDir((err,data)=>{
let path=data+"/xxx.jpg";
let fd = fileio.openSync(path);
let obj = {
"temperature": "21°",
"formImages": {"image": fd}
};
try {
formBindingData.createFormBindingData(obj);
} catch (error) {
console.log(`catch err->${JSON.stringify(err)}`);
}
})
```
\ No newline at end of file
# FormExtensionAbility
FormExtensionAbility模块提供了卡片扩展相关接口。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块接口仅可在Stage模型下使用。
## 导入模块
```
import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
```
## 属性
**系统能力**:SystemCapability.Ability.Form
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------- | ------------------------------------------------------- | ---- | ---- | --------------------------------------------------- |
| context | [FormExtensionContext](js-apis-formextensioncontext.md) | 是 | 否 | FormExtensionAbility的上下文环境,继承自ExtensionContext。 |
## onAddForm
onAddForm(want: Want): formBindingData.FormBindingData
卡片提供方接收创建卡片的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------------------------------- | ---- | ------------------------------------------------------------ |
| want | [Want](js-apis-application-Want.md) | 是 | 当前ExtensionAbility相关的Want类型信息,包括卡片ID、卡片名称、卡片样式等。这些卡片信息必须作为持久数据进行管理,以便后续更新和删除卡片。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ----------------------------------------------------------- |
| [formBindingData.FormBindingData](js-apis-app-form-formbindingdata.md#formbindingdata) | formBindingData.FormBindingData对象,卡片要显示的数据。 |
**示例:**
```js
import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
export default class MyFormExtensionAbility extends FormExtensionAbility {
onAddForm(want) {
console.log('FormExtensionAbility onAddForm, want:' + want.abilityName);
let dataObj1 = {
temperature:"11c",
"time":"11:00"
};
let obj1 = formBindingData.createFormBindingData(dataObj1);
return obj1;
}
}
```
## onCastToNormalForm
onCastToNormalForm(formId: string): void
卡片提供方接收临时卡片转常态卡片的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------ |
| formId | string | 是 | 请求转换为常态的卡片标识。 |
**示例:**
```js
export default class MyFormExtensionAbility extends FormExtensionAbility {
onCastToNormalForm(formId) {
console.log('FormExtensionAbility onCastToNormalForm, formId:' + formId);
}
}
```
## onUpdateForm
onUpdateForm(formId: string): void
卡片提供方接收更新卡片的通知接口。获取最新数据后调用[FormExtensionContext](js-apis-formextensioncontext.md)的updateForm接口刷新卡片数据。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| formId | string | 是 | 请求更新的卡片ID。 |
**示例:**
```js
import formBindingData from '@ohos.app.form.formBindingData'
export default class MyFormExtensionAbility extends FormExtensionAbility {
onUpdateForm(formId) {
console.log('FormExtensionAbility onUpdateForm, formId:' + formId);
let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
this.context.updateForm(formId, obj2).then((data)=>{
console.log('FormExtensionAbility context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);});
}
}
```
## onChangeFormVisibility
onChangeFormVisibility(newStatus: { [key: string]: number }): void
卡片提供方接收修改可见性的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------- | ---- | ---------------------------- |
| newStatus | { [key: string]: number } | 是 | 请求修改的卡片标识和可见状态。 |
**示例:**
```js
import formBindingData from '@ohos.app.form.formBindingData'
export default class MyFormExtensionAbility extends FormExtensionAbility {
onChangeFormVisibility(newStatus) {
console.log('FormExtensionAbility onChangeFormVisibility, newStatus:' + newStatus);
let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
for (let key in newStatus) {
console.log('FormExtensionAbility onChangeFormVisibility, key:' + key + ", value=" + newStatus[key]);
this.context.updateForm(key, obj2).then((data)=>{
console.log('FormExtensionAbility context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);});
}
}
}
```
## onFormEvent
onFormEvent(formId: string, message: string): void
卡片提供方接收处理卡片事件的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ---------------------- |
| formId | string | 是 | 请求触发事件的卡片标识。 |
| message | string | 是 | 事件消息。 |
**示例:**
```js
export default class MyFormExtension extends FormExtensionAbility {
onFormEvent(formId, message) {
console.log('FormExtensionAbility onFormEvent, formId:' + formId + ", message:" + message);
}
}
```
## onRemoveForm
onRemoveForm(formId: string): void
卡片提供方接收销毁卡片的通知接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| formId | string | 是 | 请求销毁的卡片标识。 |
**示例:**
```js
export default class MyFormExtensionAbility extends FormExtensionAbility {
onRemoveForm(formId) {
console.log('FormExtensionAbility onRemoveForm, formId:' + formId);
}
}
```
## onConfigurationUpdate
onConfigurationUpdate(config: Configuration): void;
当系统配置更新时调用。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [Configuration](js-apis-configuration.md) | 是 | 表示需要更新的配置信息。 |
**示例:**
```js
class MyFormExtensionAbility extends FormExtensionAbility {
onConfigurationUpdate(config) {
console.log('onConfigurationUpdate, config:' + JSON.stringify(config));
}
}
```
## onAcquireFormState
onAcquireFormState?(want: Want): formInfo.FormState;
卡片提供方接收查询卡片状态通知接口。默认返回卡片初始状态。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md) | 否 | want表示获取卡片状态的描述。描述包括包名称、能力名称、模块名称、卡片名和卡片维度。 |
**示例:**
```js
import formInfo from '@ohos.app.form.formInfo';
class MyFormExtensionAbility extends FormExtensionAbility {
onAcquireFormState(want) {
console.log('FormExtensionAbility onAcquireFormState, want:' + want);
return formInfo.FormState.UNKNOWN;
}
}
```
## onShareForm
onShareForm?(formId: string): { [key: string]: any }
卡片提供方接收卡片分享的通知接口。
**系统接口**: 此接口为系统接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| formId | string | 是 | 卡片标识。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ----------------------------------------------------------- |
| {[key: string]: any} | 卡片要分享的数据,由开发者自行决定传入的键值对。 |
**示例:**
```js
class MyFormExtensionAbility extends FormExtensionAbility {
onShareForm(formId) {
console.log('FormExtensionAbility onShareForm, formId:' + formId);
let wantParams = {
"temperature":"20",
"time":"2022-8-8 09:59",
};
return wantParams;
}
}
```
\ No newline at end of file
# FormInfo
FormInfo模块提供对卡片的相关卡片信息和状态进行设置和查询的能力。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import formInfo from '@ohos.app.form.formInfo';
```
## FormInfo
卡片信息
**系统能力**:SystemCapability.Ability.Form
| 名称 | 读写属性 | 类型 | 描述 |
| ----------- | -------- | -------------------- | ------------------------------------------------------------ |
| bundleName | 只读 | string | 卡片所属包的包名。 |
| moduleName | 只读 | string | 卡片所属模块的模块名。 |
| abilityName | 只读 | string | 卡片所属的Ability名称。 |
| name | 只读 | string | 卡片名称。 |
| description | 只读 | string | 卡片描述。 |
| type | 只读 | [FormType](#formtype) | 卡片类型。当前支持JS卡片。 |
| jsComponentName | 只读 | string | js卡片的组件名。 |
| colorMode | 只读 | [ColorMode](#colormode) | 卡片颜色模式。 |
| isDefault | 只读 | boolean | 卡片是否是默认卡片。 |
| updateEnabled | 只读 | boolean | 卡片是否使能更新。 |
| formVisibleNotify | 只读 | string | 卡片是否使能可见通知。 |
| relatedBundleName | 只读 | string | 卡片所属的相关联包名。 |
| scheduledUpdateTime | 只读 | string | 卡片更新时间。 |
| formConfigAbility | 只读 | string | 卡片配置ability。指定长按卡片弹出的选择框内,编辑选项所对应的ability。 |
| updateDuration | 只读 | string | 卡片更新周期。 |
| defaultDimension | 只读 | number | 表示卡片规格 |
| supportDimensions | 只读 | Array<number> | 卡片支持的规格。具体可选规格参考[FormDimension](#formdimension) |
| customizeData | 只读 | {[key: string]: [value: string]} | 卡片用户数据。 |
## FormType
支持的卡片类型枚举。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| JS | 1 | 卡片类型为JS。 |
| eTS | 2 | 卡片类型为eTS。 |
## ColorMode
卡片支持的颜色模式枚举。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| MODE_AUTO | -1 | 表示自动模式。 |
| MODE_DARK | 0 | 表示暗色。 |
| MODE_LIGHT | 1 | 表示亮色。 |
## FormStateInfo
卡片状态信息。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 读写属性 | 类型 | 描述 |
| ----------- | -------- | -------------------- | ------------------------------------------------------------ |
| formState | 只读 | [FormState](#formstate) | 卡片状态。 |
| want | 只读 | Want | Want文本内容。 |
## FormState
卡片状态枚举。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| UNKNOWN | -1 | 表示未知状态。 |
| DEFAULT | 0 | 表示默认状态。 |
| READY | 1 | 表示就绪状态。 |
## FormParam
卡片参数枚举。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| IDENTITY_KEY | "ohos.extra.param.key.form_identity" | 卡片标识。<br>**系统接口**: 此接口为系统接口。 |
| DIMENSION_KEY | "ohos.extra.param.key.form_dimension" | 卡片规格样式。 |
| NAME_KEY | "ohos.extra.param.key.form_name" | 卡片名称。 |
| MODULE_NAME_KEY | "ohos.extra.param.key.module_name" | 卡片所属模块名称。 |
| WIDTH_KEY | "ohos.extra.param.key.form_width" | 卡片宽度。 |
| HEIGHT_KEY | "ohos.extra.param.key.form_height" | 卡片高度。 |
| TEMPORARY_KEY | "ohos.extra.param.key.form_temporary" | 临时卡片。 |
| ABILITY_NAME_KEY | "ohos.extra.param.key.ability_name" | ability名称 |
| DEVICE_ID_KEY | "ohos.extra.param.key.device_id" | 设备标识。<br/>**系统接口**: 此接口为系统接口。 |
| BUNDLE_NAME_KEY | "ohos.extra.param.key.bundle_name" | 指示指定要获取的捆绑包名称的键。|
## FormDimension
定义卡片尺寸枚举。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| Dimension_1_2 | 1 | 1 x 2 form。 |
| Dimension_2_2 | 2 | 2 x 2 form。 |
| Dimension_2_4 | 3 | 2 x 4 form。 |
| Dimension_4_4 | 4 | 4 x 4 form。 |
| Dimension_2_1 | 5 | 2 x 1 form。 |
## FormInfoFilter
卡片信息过滤器,仅将符合过滤器内要求的卡片信息返回。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 必选 | 说明 |
| ----------- | ---- | ------------ |
| moduleName | 否 | 仅保留moduleName与提供值相符的卡片信息。 |
## VisibilityType
卡片当前可见类型枚举。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| FORM_VISIBLE | 否 | 表示卡片为可见。 |
| FORM_INVISIBLE | 否 | 表示卡片为不可见。 |
\ No newline at end of file
# FormProvider
FormProvider模块提供了卡片提供方相关接口的能力,开发者在开发卡片时,可通过该模块提供接口实现更新卡片,设置卡片更新时间,获取卡片信息,请求发布卡片等。
> **说明:**
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import formProvider from '@ohos.app.form.formProvider';
```
## setFormNextRefreshTime
setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback&lt;void&gt;): void
设置指定卡片的下一次更新时间,使用callback异步回调。
**系统能力:** SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------- |
| formId | string | 是 | 卡片标识。 |
| minute | number | 是 | 指定多久之后更新,单位分钟,大于等于5。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errcode-form.md)
| 错误码ID | 错误信息 |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501002 | The number of forms exceeds the upper bound. |
| 16501003 | The form can not be operated by the current application. |
**示例:**
```js
var formId = "12400633174999288";
try {
formProvider.setFormNextRefreshTime(formId, 5, (error, data) => {
if (error) {
console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error));
} else {
console.log(`formProvider setFormNextRefreshTime success`);
}
});
} catch (error) {
console.log("error" + JSON.stringify(error))
}
```
## setFormNextRefreshTime
setFormNextRefreshTime(formId: string, minute: number): Promise&lt;void&gt;
设置指定卡片的下一次更新时间,使用Promise异步回调。
**系统能力:** SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------- |
| formId | string | 是 | 卡片标识。 |
| minute | number | 是 | 指定多久之后更新,单位分钟,大于等于5。 |
**返回值:**
| 类型 | 说明 |
| ------------- | ---------------------------------- |
| Promise\<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errcode-form.md)
| 错误码ID | 错误信息 |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
| 16501001 | The ID of the form to be operated does not exist. |
| 16501002 | The number of forms exceeds the upper bound. |
| 16501003 | The form can not be operated by the current application. |
**示例:**
```js
var formId = "12400633174999288";
try {
formProvider.setFormNextRefreshTime(formId, 5).then(() => {
console.log('formProvider setFormNextRefreshTime success');
}).catch((error) => {
console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error));
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
```
## updateForm
updateForm(formId: string, formBindingData: formBindingData.FormBindingData,callback: AsyncCallback&lt;void&gt;): void
更新指定的卡片,使用callback异步回调。
**系统能力:** SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
| formId | string | 是 | 请求更新的卡片标识。 |
| formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是 | 用于更新的数据。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
**错误码:**
以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errcode-form.md)
| 错误码ID | 错误信息 |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
**示例:**
```js
import formBindingData from '@ohos.application.formBindingData';
var formId = "12400633174999288";
try {
let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
formProvider.updateForm(formId, obj, (error, data) => {
if (error) {
console.log('formProvider updateForm, error:' + JSON.stringify(error));
} else {
console.log(`formProvider updateForm success`);
}
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
```
## updateForm
updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Promise&lt;void&gt;
更新指定的卡片,使用Promise异步回调。
**系统能力:** SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
| formId | string | 是 | 请求更新的卡片标识。 |
| formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是 | 用于更新的数据。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------------------- |
| Promise\<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errcode-form.md)
| 错误码ID | 错误信息 |
| -------- | -------- |
| 16501001 | The ID of the form to be operated does not exist. |
**示例:**
```js
import formBindingData from '@ohos.application.formBindingData';
var formId = "12400633174999288";
let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
try {
formProvider.updateForm(formId, obj).then(() => {
console.log('formProvider updateForm success');
}).catch((error) => {
console.log('formProvider updateForm, error:' + JSON.stringify(error));
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
```
## getFormsInfo
getFormsInfo(callback: AsyncCallback&lt;Array&lt;formInfo.FormInfo&gt;&gt;): void
获取设备上当前应用程序的卡片信息,使用callback异步回调。
**系统能力:** SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| callback | AsyncCallback&lt;Array&lt;[FormInfo](./js-apis-formInfo.md#forminfo-1)&gt;&gt; | 是 | 回调函数。返回查询到的卡片信息。 |
**错误码:**
以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errcode-form.md)
| 错误码ID | 错误信息 |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
**示例:**
```js
try {
formProvider.getFormsInfo((error, data) => {
if (error) {
console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
} else {
console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
}
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
```
## getFormsInfo
getFormsInfo(filter: formInfo.FormInfoFilter, callback: AsyncCallback&lt;Array&lt;formInfo.FormInfo&gt;&gt;): void
获取设备上当前应用程序的卡片信息,并筛选符合条件的信息,使用callback异步回调。
**系统能力:** SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| filter | [formInfo.FormInfoFilter](./js-apis-formInfo.md#forminfofilter) | 是 | 卡片信息过滤器。 |
| callback | AsyncCallback&lt;Array&lt;[FormInfo](./js-apis-formInfo.md#forminfo-1)&gt;&gt; | 是 | 回调函数。返回查询到符合条件的卡片信息。 |
**错误码:**
以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errcode-form.md)
| 错误码ID | 错误信息 |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
**示例:**
```js
import formInfo from '@ohos.application.formInfo';
const filter : formInfo.FormInfoFilter = {
// get info of forms belong to module entry.
moduleName : "entry"
};
try {
formProvider.getFormsInfo(filter, (error, data) => {
if (error) {
console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
} else {
console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
}
});
} catch(error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
```
## getFormsInfo
getFormsInfo(filter?: formInfo.FormInfoFilter): Promise&lt;Array&lt;formInfo.FormInfo&gt;&gt;
获取设备上当前应用程序的卡片信息,使用Promise异步回调。
**系统能力:** SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| filter | [formInfo.FormInfoFilter](./js-apis-formInfo.md) | 否 | 卡片信息过滤器。 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;Array&lt;[FormInfo](./js-apis-formInfo.md#forminfo-1)&gt;&gt; | Promise对象。返回查询到符合条件的卡片信息。 |
**错误码:**
以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errcode-form.md)
| 错误码ID | 错误信息 |
| -------- | -------- |
| 16500100 | Failed to obtain configuration information. |
**示例:**
```js
import formInfo from '@ohos.application.formInfo';
const filter : formInfo.FormInfoFilter = {
// get info of forms belong to module entry.
moduleName : "entry"
};
try {
formProvider.getFormsInfo(filter).then((data) => {
console.log('formProvider getFormsInfo, data:' + JSON.stringify(data));
}).catch((error) => {
console.log('formProvider getFormsInfo, error:' + JSON.stringify(error));
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
```
## requestPublishForm
requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData, callback: AsyncCallback\<string>): void
请求发布一张卡片到使用方。使用方通常为桌面。
**系统能力:** SystemCapability.Ability.Form
**系统接口**: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------------------------------------------------- | ---- | ---------------- |
| want | [Want](js-apis-application-Want.md) | 是 | 发布请求。需包含以下字段。<br>abilityName: 目标卡片ability<br>parameters:<br>"ohos.extra.param.key.form_dimension"<br>"ohos.extra.param.key.form_name"<br>"ohos.extra.param.key.module_name" |
| formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是 | 创建卡片的数据。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。返回卡片标识。 |
以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errcode-form.md)
| 错误码ID | 错误信息 |
| -------- | -------- |
| 16501000 | A functional error occurred. |
**示例:**
```js
import formBindingData from '@ohos.application.formBindingData';
var want = {
abilityName: "FormAbility",
parameters: {
"ohos.extra.param.key.form_dimension": 2,
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.module_name": "entry"
}
};
try {
let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
formProvider.requestPublishForm(want, obj, (error, data) => {
if (error) {
console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
} else {
console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
}
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
```
## requestPublishForm
requestPublishForm(want: Want, callback: AsyncCallback&lt;string&gt;): void
请求发布一张卡片到使用方。使用方通常为桌面。
**系统能力:** SystemCapability.Ability.Form
**系统接口**: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | ------------------------------------------------------------ |
| want | [Want](js-apis-application-Want.md) | 是 | 发布请求。需包含以下字段。<br>abilityName: 目标卡片ability<br>parameters:<br>"ohos.extra.param.key.form_dimension"<br>"ohos.extra.param.key.form_name"<br>"ohos.extra.param.key.module_name" |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调函数。返回卡片标识。 |
以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errcode-form.md)
| 错误码ID | 错误信息 |
| -------- | -------- |
| 16501000 | A functional error occurred. |
**示例:**
```js
var want = {
abilityName: "FormAbility",
parameters: {
"ohos.extra.param.key.form_dimension": 2,
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.module_name": "entry"
}
};
try {
formProvider.requestPublishForm(want, (error, data) => {
if (error) {
console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
} else {
console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
}
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
```
## requestPublishForm
requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData): Promise&lt;string&gt;
请求发布一张卡片到使用方。使用方通常为桌面。
**系统能力:** SystemCapability.Ability.Form
**系统接口**: 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| want | [Want](js-apis-application-Want.md) | 是 | 发布请求。需包含以下字段。<br>abilityName: 目标卡片ability<br>parameters:<br>"ohos.extra.param.key.form_dimension"<br>"ohos.extra.param.key.form_name"<br>"ohos.extra.param.key.module_name" |
| formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 否 | 创建卡片的数据。 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;string&gt; | Promise对象。返回卡片标识。 |
以下错误码的详细介绍请参见[卡片错误码](../errorcodes/errcode-form.md)
| 错误码ID | 错误信息 |
| -------- | -------- |
| 16501000 | A functional error occurred. |
**示例:**
```js
var want = {
abilityName: "FormAbility",
parameters: {
"ohos.extra.param.key.form_dimension": 2,
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.module_name": "entry"
}
};
try {
formProvider.requestPublishForm(want).then((data) => {
console.log('formProvider requestPublishForm success, form ID is :' + JSON.stringify(data));
}).catch((error) => {
console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
```
## isRequestPublishFormSupported
isRequestPublishFormSupported(callback: AsyncCallback&lt;boolean&gt;): void
查询是否支持发布一张卡片到使用方。
**系统接口**: 此接口为系统接口。
**系统能力:** SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。返回是否支持发布一张卡片到使用方。|
**示例:**
```js
try {
formProvider.isRequestPublishFormSupported((error, isSupported) => {
if (error) {
console.log('formProvider isRequestPublishFormSupported, error:' + JSON.stringify(error));
} else {
if (isSupported) {
var want = {
abilityName: "FormAbility",
parameters: {
"ohos.extra.param.key.form_dimension": 2,
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.module_name": "entry"
}
};
try {
formProvider.requestPublishForm(want, (error, data) => {
if (error) {
console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
} else {
console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data));
}
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
}
}
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
```
## isRequestPublishFormSupported
isRequestPublishFormSupported(): Promise&lt;boolean&gt;
查询是否支持发布一张卡片到使用方。
**系统接口**: 此接口为系统接口。
**系统能力:** SystemCapability.Ability.Form
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回是否支持发布一张卡片到使用方。 |
**示例:**
```js
try {
formProvider.isRequestPublishFormSupported().then((isSupported) => {
if (isSupported) {
var want = {
abilityName: "FormAbility",
parameters: {
"ohos.extra.param.key.form_dimension": 2,
"ohos.extra.param.key.form_name": "widget",
"ohos.extra.param.key.module_name": "entry"
}
};
try {
formProvider.requestPublishForm(want).then((data) => {
console.log('formProvider requestPublishForm success, form ID is :' + JSON.stringify(data));
}).catch((error) => {
console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error));
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
}
}).catch((error) => {
console.log('formProvider isRequestPublishFormSupported, error:' + JSON.stringify(error));
});
} catch (error) {
console.log(`catch err->${JSON.stringify(error)}`);
}
```
\ No newline at end of file
......@@ -5,6 +5,7 @@ FormInfo模块提供对卡片的相关卡片信息和状态进行设置和查询
> **说明:**
>
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 从API version 9 开始不再维护,建议使用[FormInfo](js-apis-app-form-forminfo.md)替代。
## 导入模块
......@@ -12,10 +13,6 @@ FormInfo模块提供对卡片的相关卡片信息和状态进行设置和查询
import formInfo from '@ohos.application.formInfo';
```
## 权限
## FormInfo
卡片信息
......@@ -24,46 +21,47 @@ import formInfo from '@ohos.application.formInfo';
| 名称 | 读写属性 | 类型 | 描述 |
| ----------- | -------- | -------------------- | ------------------------------------------------------------ |
| bundleName | 只读 | string | 表示卡片所属包的包名。 |
| moduleName | 只读 | string | 表示卡片所属模块的模块名。 |
| abilityName | 只读 | string | 表示卡片所属的Ability名称。 |
| name | 只读 | string | 表示卡片名称。 |
| description | 只读 | string | 表示卡片描述。 |
| type | 只读 | [FormType](#formtype) | 表示卡片类型,当前支持JS卡片。 |
| jsComponentName | 只读 | string | 表示js卡片的组件名。 |
| colorMode | 只读 | [ColorMode](#colormode) | 表示卡片颜色模式。 |
| isDefault | 只读 | boolean | 表示是否是默认卡片。 |
| updateEnabled | 只读 | boolean | 表示卡片是否使能更新。 |
| formVisibleNotify | 只读 | string | 表示卡片是否使能可见通知。 |
| relatedBundleName | 只读 | string | 表示卡片所属的相关联包名。 |
| scheduledUpdateTime | 只读 | string | 表示卡片更新时间。 |
| formConfigAbility | 只读 | string | 表示卡片配置ability。 |
| updateDuration | 只读 | string | 表示卡片更新周期。 |
| bundleName | 只读 | string | 卡片所属包的包名。 |
| moduleName | 只读 | string | 卡片所属模块的模块名。 |
| abilityName | 只读 | string | 卡片所属的Ability名称。 |
| name | 只读 | string | 卡片名称。 |
| description | 只读 | string | 卡片描述。 |
| type | 只读 | [FormType](#formtype) | 卡片类型。当前支持JS卡片。 |
| jsComponentName | 只读 | string | js卡片的组件名。 |
| colorMode | 只读 | [ColorMode](#colormode) | 卡片颜色模式。 |
| isDefault | 只读 | boolean | 卡片是否是默认卡片。 |
| updateEnabled | 只读 | boolean | 卡片是否使能更新。 |
| formVisibleNotify | 只读 | string | 卡片是否使能可见通知。 |
| relatedBundleName | 只读 | string | 卡片所属的相关联包名。 |
| scheduledUpdateTime | 只读 | string | 卡片更新时间。 |
| formConfigAbility | 只读 | string | 卡片配置ability。指定长按卡片弹出的选择框内,编辑选项所对应的ability。 |
| updateDuration | 只读 | string | 卡片更新周期。 |
| defaultDimension | 只读 | number | 表示卡片规格 |
| supportDimensions | 只读 | Array&lt;number&gt; | 表示卡片支持的规格。 |
| customizeData | 只读 | {[key: string]: [value: string]} | 表示卡片用户数据。 |
| supportDimensions | 只读 | Array&lt;number&gt; | 卡片支持的规格。具体可选规格参考[FormDimension](#formdimension) |
| customizeData | 只读 | {[key: string]: [value: string]} | 卡片用户数据。 |
## FormType
枚举,支持的卡片类型
支持的卡片类型枚举
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| JS | 1 | 卡片类型为JS。 |
| eTS | 2 | 卡片类型为eTS。 |
## ColorMode
枚举,卡片支持的颜色模式
卡片支持的颜色模式枚举
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| MODE_AUTO | -1 | 自动模式。 |
| MODE_DARK | 0 | 暗色。 |
| MODE_LIGHT | 1 | 亮色。 |
| MODE_AUTO | -1 | 表示自动模式。 |
| MODE_DARK | 0 | 表示暗色。 |
| MODE_LIGHT | 1 | 表示亮色。 |
## FormStateInfo
......@@ -73,30 +71,30 @@ import formInfo from '@ohos.application.formInfo';
| 名称 | 读写属性 | 类型 | 描述 |
| ----------- | -------- | -------------------- | ------------------------------------------------------------ |
| formState | 只读 | [FormState](#formstate) | 表示卡片状态。 |
| formState | 只读 | [FormState](#formstate) | 卡片状态。 |
| want | 只读 | Want | Want文本内容。 |
## FormState
枚举,卡片状态
卡片状态枚举
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| UNKNOWN | -1 | 未知状态。 |
| DEFAULT | 0 | 默认状态。 |
| READY | 1 | 就绪状态。 |
| UNKNOWN | -1 | 表示未知状态。 |
| DEFAULT | 0 | 表示默认状态。 |
| READY | 1 | 表示就绪状态。 |
## FormParam
枚举,卡片参数
卡片参数枚举
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| IDENTITY_KEY<sup>9+</sup> | "ohos.extra.param.key.form_identity" | 卡片标识。<br>**系统API**: 此接口为系统接口,三方应用不支持调用。 |
| IDENTITY_KEY<sup>9+</sup> | "ohos.extra.param.key.form_identity" | 卡片标识。<br>**系统接口**: 此接口为系统接口。 |
| DIMENSION_KEY | "ohos.extra.param.key.form_dimension" | 卡片规格样式。 |
| NAME_KEY | "ohos.extra.param.key.form_name" | 卡片名称。 |
| MODULE_NAME_KEY | "ohos.extra.param.key.module_name" | 卡片所属模块名称。 |
......@@ -104,7 +102,7 @@ import formInfo from '@ohos.application.formInfo';
| HEIGHT_KEY | "ohos.extra.param.key.form_height" | 卡片高度。 |
| TEMPORARY_KEY | "ohos.extra.param.key.form_temporary" | 临时卡片。 |
| ABILITY_NAME_KEY<sup>9+</sup> | "ohos.extra.param.key.ability_name" | ability名称 |
| DEVICE_ID_KEY<sup>9+</sup> | "ohos.extra.param.key.device_id" | 设备标识。<br/>此接口为系统接口。 |
| DEVICE_ID_KEY<sup>9+</sup> | "ohos.extra.param.key.device_id" | 设备标识。<br/>**系统接口**: 此接口为系统接口。 |
| BUNDLE_NAME_KEY<sup>9+</sup> | "ohos.extra.param.key.bundle_name" | 指示指定要获取的捆绑包名称的键。|
## FormDimension
......@@ -122,7 +120,7 @@ import formInfo from '@ohos.application.formInfo';
| Dimension_2_1<sup>9+</sup> | 5 | 2 x 1 form。 |
## FormInfoFilter
## FormInfoFilter<sup>9+</sup>
卡片信息过滤器,仅将符合过滤器内要求的卡片信息返回。
......@@ -130,4 +128,15 @@ import formInfo from '@ohos.application.formInfo';
| 名称 | 必选 | 说明 |
| ----------- | ---- | ------------ |
| moduleName<sup>9+</sup> | 否 | 可选字段,表示仅保留moduleName与提供值相符的卡片信息。 |
| moduleName<sup>9+</sup> | 否 | 仅保留moduleName与提供值相符的卡片信息。 |
## VisibilityType<sup>9+</sup>
卡片当前可见类型枚举。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| FORM_VISIBLE<sup>9+<sup> | 否 | 表示卡片为可见。 |
| FORM_INVISIBLE<sup>9+<sup> | 否 | 表示卡片为不可见。 |
\ No newline at end of file
......@@ -3,20 +3,27 @@
卡片数据绑定模块提供卡片数据绑定的能力。包括FormBindingData对象的创建、相关信息的描述。
> **说明:**
>
>
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 从API version 9 开始不再维护,建议使用[FormBindingData](js-apis-app-form-formbindingdata.md)替代。
## 导入模块
```
import formBindingData from '@ohos.application.formBindingData';
```
## 权限
## FormBindingData
FormBindingData相关描述。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 可读 | 可写 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | -------- | -------- |
| data | 是 | 否 | Object | 是 | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。|
## formBindingData.createFormBindingData
## createFormBindingData
createFormBindingData(obj?: Object | string): FormBindingData
......@@ -40,30 +47,17 @@ createFormBindingData(obj?: Object | string): FormBindingData
**示例:**
```js
import featureAbility from '@ohos.ability.featureAbility';
import fileio from '@ohos.fileio';
let context=featureAbility.getContext();
context.getOrCreateLocalDir((err,data)=>{
let path=data+"/xxx.jpg";
let fd = fileio.openSync(path);
let obj = {
"temperature": "21°",
"formImages": {"image": fd}
};
let formBindingDataObj = formBindingData.createFormBindingData(obj);
})
```
## 属性
FormBindingData相关描述。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 可读 | 可写 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | -------- | -------- |
| data | 是 | 否 | Object | 是 | js卡片要展示的数据。可以是包含若干键值对的Object或者 json 格式的字符串。|
```js
import featureAbility from '@ohos.ability.featureAbility';
import fileio from '@ohos.fileio';
let context=featureAbility.getContext();
context.getOrCreateLocalDir((err,data)=>{
let path=data+"/xxx.jpg";
let fd = fileio.openSync(path);
let obj = {
"temperature": "21°",
"formImages": {"image": fd}
};
let formBindingDataObj = formBindingData.createFormBindingData(obj);
})
```
\ No newline at end of file
......@@ -3,8 +3,9 @@
FormError模块提供获取卡片错误码的能力。
> **说明:**
>
>
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 从API version 9 开始不再维护,建议使用[Form错误码](../errorcodes/errcode-form.md)替代。
## 导入模块
......@@ -16,9 +17,9 @@ import formError from '@ohos.application.formError';
## enum FormError
## FormError
支持的卡片类型
枚举,支持的卡片类型
**系统能力:**
......@@ -26,27 +27,27 @@ SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| ERR_COMMON | 1 | 默认错误码 |
| ERR_PERMISSION_DENY | 2 | 没有操作权限 |
| ERR_GET_INFO_FAILED | 4 | 查询卡片信息失败 |
| ERR_GET_BUNDLE_FAILED | 5 | 查询应用信息失败 |
| ERR_GET_LAYOUT_FAILED | 6 | 查询布局信息失败 |
| ERR_ADD_INVALID_PARAM | 7 | 无效参数 |
| ERR_CFG_NOT_MATCH_ID | 8 | 卡片ID不匹配 |
| ERR_NOT_EXIST_ID | 9 | 卡片ID不存在 |
| ERR_BIND_PROVIDER_FAILED | 10 | 绑定卡片提供方失败 |
| ERR_MAX_SYSTEM_FORMS | 11 | 系统卡片实例数量超过限制 |
| ERR_MAX_INSTANCES_PER_FORM | 12 | 每张卡片实例数量超过限制 |
| ERR_OPERATION_FORM_NOT_SELF | 13 | 操作非自己应用申请的卡片 |
| ERR_PROVIDER_DEL_FAIL | 14 | 卡片提供方删除卡片失败 |
| ERR_MAX_FORMS_PER_CLIENT | 15 | 使用方申请卡片实例数超过限制 |
| ERR_MAX_SYSTEM_TEMP_FORMS | 16 | 临时卡片实例数超过限制 |
| ERR_FORM_NO_SUCH_MODULE | 17 | 模块不存在 |
| ERR_FORM_NO_SUCH_ABILITY | 18 | ability组件不存在 |
| ERR_FORM_NO_SUCH_DIMENSION | 19 | 卡片尺寸不存在 |
| ERR_FORM_FA_NOT_INSTALLED | 20 | 卡片所在FA未安装 |
| ERR_SYSTEM_RESPONSES_FAILED | 30 | 系统服务响应失败 |
| ERR_FORM_DUPLICATE_ADDED | 31 | 重复添加卡片 |
| ERR_IN_RECOVERY | 36 | 卡片数据覆盖失败 |
| ERR_DISTRIBUTED_SCHEDULE_FAILED<sup>9+</sup> | 37 | 分布式调度失败。<br/>此接口为系统接口。 |
| ERR_COMMON | 1 | 默认错误码 |
| ERR_PERMISSION_DENY | 2 | 没有操作权限 |
| ERR_GET_INFO_FAILED | 4 | 查询卡片信息失败 |
| ERR_GET_BUNDLE_FAILED | 5 | 查询应用信息失败 |
| ERR_GET_LAYOUT_FAILED | 6 | 查询布局信息失败 |
| ERR_ADD_INVALID_PARAM | 7 | 无效参数 |
| ERR_CFG_NOT_MATCH_ID | 8 | 卡片ID不匹配 |
| ERR_NOT_EXIST_ID | 9 | 卡片ID不存在 |
| ERR_BIND_PROVIDER_FAILED | 10 | 绑定卡片提供方失败 |
| ERR_MAX_SYSTEM_FORMS | 11 | 系统卡片实例数量超过限制 |
| ERR_MAX_INSTANCES_PER_FORM | 12 | 每张卡片实例数量超过限制 |
| ERR_OPERATION_FORM_NOT_SELF | 13 | 操作非自己应用申请的卡片 |
| ERR_PROVIDER_DEL_FAIL | 14 | 卡片提供方删除卡片失败 |
| ERR_MAX_FORMS_PER_CLIENT | 15 | 使用方申请卡片实例数超过限制 |
| ERR_MAX_SYSTEM_TEMP_FORMS | 16 | 临时卡片实例数超过限制 |
| ERR_FORM_NO_SUCH_MODULE | 17 | 模块不存在 |
| ERR_FORM_NO_SUCH_ABILITY | 18 | ability组件不存在 |
| ERR_FORM_NO_SUCH_DIMENSION | 19 | 卡片尺寸不存在 |
| ERR_FORM_FA_NOT_INSTALLED | 20 | 卡片所在FA未安装 |
| ERR_SYSTEM_RESPONSES_FAILED | 30 | 系统服务响应失败 |
| ERR_FORM_DUPLICATE_ADDED | 31 | 重复添加卡片 |
| ERR_IN_RECOVERY | 36 | 卡片数据覆盖失败 |
| ERR_DISTRIBUTED_SCHEDULE_FAILED<sup>9+</sup> | 37 | 分布式调度失败。<br/>**系统接口**: 此接口为系统接口。 |
......@@ -3,8 +3,9 @@
FormExtension模块提供了FormExtension卡片扩展相关接口。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 从API version 9 开始不再维护,建议使用[FormExtensionAbility](js-apis-app-form-formextensionability.md)替代。
> 本模块接口仅可在Stage模型下使用。
## 导入模块
......@@ -13,10 +14,6 @@ FormExtension模块提供了FormExtension卡片扩展相关接口。
import FormExtension from '@ohos.application.FormExtension';
```
## 权限
## 属性
**系统能力**:SystemCapability.Ability.Form
......@@ -35,32 +32,32 @@ onCreate(want: Want): formBindingData.FormBindingData
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------------------------------- | ---- | ------------------------------------------------------------ |
| want | [Want](js-apis-application-Want.md) | 是 | 当前Extension相关的Want类型信息,包括卡片ID、卡片名称、卡片样式等。这些卡片信息必须作为持久数据进行管理,以便后续更新和删除卡片。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------ | -------------------------------------- | ---- | ------------------------------------------------------------ |
| want | [Want](js-apis-application-Want.md) | 是 | 当前Extension相关的Want类型信息,包括卡片ID、卡片名称、卡片样式等。这些卡片信息必须作为持久数据进行管理,以便后续更新和删除卡片。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ----------------------------------------------------------- |
| [formBindingData.FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 一个formBindingData.FormBindingData对象,卡片要显示的数据。 |
| 类型 | 说明 |
| ------------------------------------------------------------ | ----------------------------------------------------------- |
| [formBindingData.FormBindingData](js-apis-formbindingdata.md#formbindingdata) | formBindingData.FormBindingData对象,卡片要显示的数据。 |
**示例:**
```js
import formBindingData from '@ohos.application.formBindingData'
export default class MyFormExtension extends FormExtension {
onCreate(want) {
console.log('FormExtension onCreate, want:' + want.abilityName);
let dataObj1 = {
temperature:"11c",
"time":"11:00"
};
let obj1 = formBindingData.createFormBindingData(dataObj1);
return obj1;
}
```js
import formBindingData from '@ohos.application.formBindingData'
export default class MyFormExtension extends FormExtension {
onCreate(want) {
console.log('FormExtension onCreate, want:' + want.abilityName);
let dataObj1 = {
temperature:"11c",
"time":"11:00"
};
let obj1 = formBindingData.createFormBindingData(dataObj1);
return obj1;
}
```
}
```
## FormExtension.onCastToNormal
......@@ -72,19 +69,19 @@ onCastToNormal(formId: string): void
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------ |
| formId | string | 是 | 请求转换为常态的卡片ID。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------ |
| formId | string | 是 | 请求转换为常态的卡片标识。 |
**示例:**
```
export default class MyFormExtension extends FormExtension {
onCastToNormal(formId) {
console.log('FormExtension onCastToNormal, formId:' + formId);
}
```js
export default class MyFormExtension extends FormExtension {
onCastToNormal(formId) {
console.log('FormExtension onCastToNormal, formId:' + formId);
}
```
}
```
## FormExtension.onUpdate
......@@ -96,26 +93,25 @@ onUpdate(formId: string): void
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| formId | string | 是 | 请求更新的卡片ID。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| formId | string | 是 | 请求更新的卡片ID。 |
**示例:**
```js
import formBindingData from '@ohos.application.formBindingData'
export default class MyFormExtension extends FormExtension {
onUpdate(formId) {
console.log('FormExtension onUpdate, formId:' + formId);
let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
this.context.updateForm(formId, obj2)
.then((data)=>{
console.log('FormExtension context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);});
}
}
```
```js
import formBindingData from '@ohos.application.formBindingData'
export default class MyFormExtension extends FormExtension {
onUpdate(formId) {
console.log('FormExtension onUpdate, formId:' + formId);
let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
this.context.updateForm(formId, obj2).then((data)=>{
console.log('FormExtension context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);});
}
}
```
## FormExtension.onVisibilityChange
......@@ -127,30 +123,29 @@ onVisibilityChange(newStatus: { [key: string]: number }): void
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------- | ---- | ---------------------------- |
| newStatus | { [key: string]: number } | 是 | 请求修改的卡片ID和可见状态。 |
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------- | ---- | ---------------------------- |
| newStatus | { [key: string]: number } | 是 | 请求修改的卡片ID和可见状态。 |
**示例:**
```js
import formBindingData from '@ohos.application.formBindingData'
export default class MyFormExtension extends FormExtension {
onVisibilityChange(newStatus) {
console.log('FormExtension onVisibilityChange, newStatus:' + newStatus);
let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
for (let key in newStatus) {
console.log('FormExtension onVisibilityChange, key:' + key + ", value=" + newStatus[key]);
this.context.updateForm(key, obj2)
.then((data)=>{
console.log('FormExtension context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);});
}
}
```js
import formBindingData from '@ohos.application.formBindingData'
export default class MyFormExtension extends FormExtension {
onVisibilityChange(newStatus) {
console.log('FormExtension onVisibilityChange, newStatus:' + newStatus);
let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});
for (let key in newStatus) {
console.log('FormExtension onVisibilityChange, key:' + key + ", value=" + newStatus[key]);
this.context.updateForm(key, obj2).then((data)=>{
console.log('FormExtension context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);});
}
}
```
}
```
## FormExtension.onEvent
......@@ -162,20 +157,20 @@ onEvent(formId: string, message: string): void
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ---------------------- |
| formId | string | 是 | 请求触发事件的卡片ID。 |
| message | string | 是 | 事件消息。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ---------------------- |
| formId | string | 是 | 请求触发事件的卡片标识。 |
| message | string | 是 | 事件消息。 |
**示例:**
```js
export default class MyFormExtension extends FormExtension {
onEvent(formId, message) {
console.log('FormExtension onEvent, formId:' + formId + ", message:" + message);
}
```js
export default class MyFormExtension extends FormExtension {
onEvent(formId, message) {
console.log('FormExtension onEvent, formId:' + formId + ", message:" + message);
}
```
}
```
## FormExtension.onDestroy
......@@ -187,19 +182,19 @@ onDestroy(formId: string): void
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| formId | string | 是 | 请求销毁的卡片ID。 |
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
| formId | string | 是 | 请求销毁的卡片标识。 |
**示例:**
```js
export default class MyFormExtension extends FormExtension {
onDestroy(formId) {
console.log('FormExtension onDestroy, formId:' + formId);
}
```js
export default class MyFormExtension extends FormExtension {
onDestroy(formId) {
console.log('FormExtension onDestroy, formId:' + formId);
}
```
}
```
## FormExtension.onConfigurationUpdated
......@@ -211,19 +206,19 @@ onConfigurationUpdated(config: Configuration): void;
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [Configuration](js-apis-configuration.md) | 是 | 表示需要更新的配置信息。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| config | [Configuration](js-apis-configuration.md) | 是 | 表示需要更新的配置信息。 |
**示例:**
```js
class MyFormExtension extends FormExtension {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, config:' + JSON.stringify(config));
}
```js
class MyFormExtension extends FormExtension {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, config:' + JSON.stringify(config));
}
```
}
```
## FormExtension.onAcquireFormState
......@@ -235,21 +230,21 @@ onAcquireFormState?(want: Want): formInfo.FormState;
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md) | 否 | want表示获取卡片状态的描述。描述包括包名称、能力名称、模块名称、卡片名和卡片维度。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md) | 否 | want表示获取卡片状态的描述。描述包括包名称、能力名称、模块名称、卡片名和卡片维度。 |
**示例:**
```js
import formInfo from '@ohos.application.formInfo'
class MyFormExtension extends FormExtension {
onAcquireFormState(want) {
console.log('FormExtension onAcquireFormState, want:' + want);
return formInfo.FormState.UNKNOWN;
}
```js
import formInfo from '@ohos.application.formInfo'
class MyFormExtension extends FormExtension {
onAcquireFormState(want) {
console.log('FormExtension onAcquireFormState, want:' + want);
return formInfo.FormState.UNKNOWN;
}
```
}
```
## FormExtension.onShare
......@@ -257,33 +252,33 @@ onShare?(formId: string): {[key: string]: any};
卡片提供方接收卡片分享的通知接口。
此接口为系统接口。
**系统接口**: 此接口为系统接口。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| formId | string | 是 | 卡片标识 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| formId | string | 是 | 卡片标识。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ----------------------------------------------------------- |
| {[key: string]: any} | 卡片要分享的数据,由开发者自行决定传入的键值对。 |
| 类型 | 说明 |
| ------------------------------------------------------------ | ----------------------------------------------------------- |
| {[key: string]: any} | 卡片要分享的数据,由开发者自行决定传入的键值对。 |
**示例:**
```js
class MyFormExtension extends FormExtension {
onShare(formId) {
console.log('FormExtension onShare, formId:' + formId);
let wantParams = {
"temperature":"20",
"time":"2022-8-8 09:59",
};
return wantParams;
}
```js
class MyFormExtension extends FormExtension {
onShare(formId) {
console.log('FormExtension onShare, formId:' + formId);
let wantParams = {
"temperature":"20",
"time":"2022-8-8 09:59",
};
return wantParams;
}
```
\ No newline at end of file
}
```
\ No newline at end of file
......@@ -13,10 +13,10 @@ FormExtensionContext模块提供FormExtension具有的接口和能力。
在使用FormExtensionContext的功能前,需要通过FormExtension获取。
```js
import FormExtension from '@ohos.application.FormExtension';
import formBindingData from '@ohos.application.formBindingData'
export default class MyFormExtension extends FormExtension {
onCreate() {
import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
import formBindingData from '@ohos.app.form.formBindingData';
export default class MyFormExtensionAbility extends FormExtensionAbility {
onAddForm() {
let dataObj1 = {
temperature:"11c",
"time":"11:00"
......@@ -28,22 +28,22 @@ export default class MyFormExtension extends FormExtension {
```
## FormExtensionContext.startAbility
## startAbility
startAbility(want: Want, callback: AsyncCallback&lt;void&gt;): void
拉起一个卡片所属应用的Ability。
拉起一个卡片所属应用的Ability。使用callback异步回调。
**系统能力**:SystemCapability.Ability.Form
**系统接口**:此接口为系统接口。
**系统API**: 此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.Ability.Form
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------| --------------------------------- | ---- | -------------------------------------- |
| want| [Want](js-apis-application-Want.md) | 是 | 包含bundleName,abilityName以及用户自定参数用于拉起Ability。 |
| callback| AsyncCallback&lt;void&gt; | 是 | 回调函数,返回接口调用是否成功的结果。 |
| callback| AsyncCallback&lt;void&gt; | 是 | 回调函数。当拉起一个卡片所属应用的Ability成功,err为undefined,否则为错误对象。 |
**示例:**
......@@ -58,20 +58,24 @@ var want = {
uri: "key={true,true,false}",
parameters: {}
}
this.context.startAbility(want, function(err) {
console.info(err.code);
this.context.startAbility(want, (error, data) => {
if (error) {
console.log('FormExtensionContext startAbility, error:' + JSON.stringify(error));
} else {
console.log(`FormExtensionContext startAbility success`);
}
})
```
## FormExtensionContext.startAbility
## startAbility
startAbility(want: Want): Promise&lt;void&gt;
拉起一个卡片所属应用的Ability。
拉起一个卡片所属应用的Ability。使用Promise异步回调。
**系统能力**:SystemCapability.Ability.Form
**系统接口**:此接口为系统接口。
**系统API**: 此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.Ability.Form
**参数:**
......@@ -83,7 +87,7 @@ startAbility(want: Want): Promise&lt;void&gt;
| 类型 | 说明 |
| ------------ | ---------------------------------- |
| Promise&lt;void&lt; | Promise实例,返回接口调用是否成功的结果。 |
| Promise&lt;void&lt; | 无返回结果的Promise对象。 |
**示例:**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册