# FormProvider FormProvider模块提供了卡片提供方相关接口的能力,包括更新卡片,设置卡片更新时间,获取卡片信息,请求发布卡片等。 > **说明:** > > 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 ``` import formProvider from '@ohos.application.formProvider'; ``` ## 权限 无 ## setFormNextRefreshTime setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback<void>): void; 设置指定卡片的下一次更新时间。 **系统能力:** SystemCapability.Ability.Form **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------------------------------- | | formId | string | 是 | 卡片标识 | | minute | number | 是 | 指定多久之后更新,单位分钟,大于等于5 | | callback | AsyncCallback<void> | 是 | callback形式返回启动结果 | **示例:** ```js var formId = "12400633174999288"; formProvider.setFormNextRefreshTime(formId, 5, (error, data) => { if (error.code) { console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error)); } }); ``` ## setFormNextRefreshTime setFormNextRefreshTime(formId: string, minute: number): Promise<void>; 设置指定卡片的下一次更新时间,以promise方式返回。 **系统能力:** SystemCapability.Ability.Form **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------------------------------- | | formId | string | 是 | 卡片标识 | | minute | number | 是 | 指定多久之后更新,单位分钟,大于等于5 | **返回值:** | 类型 | 说明 | | ------------- | ---------------------------------- | | Promise\ |Promise实例,用于获取异步返回结果。 | **示例:** ```js var formId = "12400633174999288"; formProvider.setFormNextRefreshTime(formId, 5).then(() => { console.log('formProvider setFormNextRefreshTime success'); }).catch((error) => { console.log('formProvider setFormNextRefreshTime, error:' + JSON.stringify(error)); }); ``` ## updateForm updateForm(formId: string, formBindingData: formBindingData.FormBindingData,callback: AsyncCallback<void>): void; 更新指定的卡片。 **系统能力:** SystemCapability.Ability.Form **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ---------------------------------------------------------------------- | ---- | ---------------- | | formId | string | 是 | 请求更新的卡片标识 | | formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是 | 用于更新的数据 | | callback | AsyncCallback<void> | 是 | callback形式返回启动结果 | **示例:** ```js import formBindingData from '@ohos.application.formBindingData'; var formId = "12400633174999288"; let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); formProvider.updateForm(formId, obj, (error, data) => { if (error.code) { console.log('formProvider updateForm, error:' + JSON.stringify(error)); } }); ``` ## updateForm updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Promise<void>; 更新指定的卡片,以promise方式返回。 **系统能力:** SystemCapability.Ability.Form **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ---------------------------------------------------------------------- | ---- | ---------------- | | formId | string | 是 | 请求更新的卡片标识 | | formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是 | 用于更新的数据 | **返回值:** | 类型 | 说明 | | -------------- | ----------------------------------- | | Promise\ | Promise实例,用于获取异步返回结果。 | **示例:** ```js import formBindingData from '@ohos.application.formBindingData'; var formId = "12400633174999288"; let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); formProvider.updateForm(formId, obj).then(() => { console.log('formProvider updateForm success'); }).catch((error) => { console.log('formProvider updateForm, error:' + JSON.stringify(error)); }); ``` ## getFormsInfo9+ getFormsInfo(callback: AsyncCallback<Array<formInfo.FormInfo>>): void; 获取设备上当前应用程序的卡片信息。 **系统能力:** SystemCapability.Ability.Form **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------- | | callback | AsyncCallback<Array<[FormInfo](./js-apis-formInfo.md#forminfo-1)>> | 是 | callback形式返回查询到的卡片信息。 | **示例:** ```js formProvider.getFormsInfo((error, data) => { if (error.code) { console.log('formProvider getFormsInfo, error:' + JSON.stringify(error)); } else { console.log('formProvider getFormsInfo, data:' + JSON.stringify(data)); } }); ``` ## getFormsInfo9+ getFormsInfo(filter: formInfo.FormInfoFilter, callback: AsyncCallback<Array<formInfo.FormInfo>>): void; 获取设备上当前应用程序的卡片信息。 **系统能力:** SystemCapability.Ability.Form **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------- | | filter | formInfo.FormInfoFilter | 是 | 过滤卡片信息 | | callback | AsyncCallback<Array<[FormInfo](./js-apis-formInfo.md#forminfo-1)>> | 是 | callback形式返回查询到的卡片信息。 | **示例:** ```js import formInfo from '@ohos.application.formInfo'; const filter : formInfo.FormInfoFilter = { moduleName : "entry" }; formProvider.getFormsInfo(filter, (error, data) => { if (error.code) { console.log('formProvider getFormsInfo, error:' + JSON.stringify(error)); } else { console.log('formProvider getFormsInfo, data:' + JSON.stringify(data)); } }); ``` ## getFormsInfo9+ getFormsInfo(filter?: formInfo.FormInfoFilter): Promise<Array<formInfo.FormInfo>>; 获取设备上当前应用程序的卡片信息。 **系统能力:** SystemCapability.Ability.Form **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------- | | filter | formInfo.FormInfoFilter | 否 | 过滤卡片信息 | **返回值:** | 类型 | 说明 | | :------------ | :---------------------------------- | | Promise<Array<[FormInfo](./js-apis-formInfo.md#forminfo-1)>> | Promise实例,用于获取异步返回查询到的卡片信息。 | **示例:** ```js import formInfo from '@ohos.application.formInfo'; const filter : formInfo.FormInfoFilter = { moduleName : "entry" }; formProvider.getFormsInfo(filter).then((data) => { console.log('formProvider getFormsInfo, data:' + JSON.stringify(data)); }).catch((error) => { console.log('formProvider getFormsInfo, error:' + JSON.stringify(error)); }); ``` ## requestPublishForm9+ requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData, callback: AsyncCallback\): void; 请求发布一张卡片到使用方。 **系统能力:** SystemCapability.Ability.Form **系统API**: 此接口为系统接口,三方应用不支持调用。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ---------------------------------------------------------------------- | ---- | ---------------- | | want | [Want](js-apis-application-Want.md) | 是 | abilityName: 目标卡片ability
parameters:
"ohos.extra.param.key.form_dimension"
"ohos.extra.param.key.form_name"
"ohos.extra.param.key.module_name" | | formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 是 | 用于创建卡片的数据 | | callback | AsyncCallback<string> | 是 | callback形式返回卡片标识 | **示例:** ```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" } }; let obj = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"}); formProvider.requestPublishForm(want, obj, (error, data) => { if (error.code) { console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error)); } else { console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data)); } }); ``` ## requestPublishForm9+ requestPublishForm(want: Want, callback: AsyncCallback<string>): void; 请求发布一张卡片到使用方。 **系统能力:** SystemCapability.Ability.Form **系统API**: 此接口为系统接口,三方应用不支持调用。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | -------- | ----------------------------------- | ---- | ------------------------------------------------------------ | | want | [Want](js-apis-application-Want.md) | 是 | abilityName: 目标卡片ability
parameters:
"ohos.extra.param.key.form_dimension"
"ohos.extra.param.key.form_name"
"ohos.extra.param.key.module_name" | | callback | AsyncCallback<string> | 是 | callback形式返回卡片标识 | **示例:** ```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" } }; formProvider.requestPublishForm(want, (error, data) => { if (error.code) { console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error)); } else { console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data)); } }); ``` ## requestPublishForm9+ requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData): Promise<string>; 请求发布一张卡片到使用方。 **系统能力:** SystemCapability.Ability.Form **系统API**: 此接口为系统接口,三方应用不支持调用。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | --------------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | | want | [Want](js-apis-application-Want.md) | 是 | abilityName: 目标卡片ability
parameters:
"ohos.extra.param.key.form_dimension"
"ohos.extra.param.key.form_name"
"ohos.extra.param.key.module_name" | | formBindingData | [FormBindingData](js-apis-formbindingdata.md#formbindingdata) | 否 | 用于创建卡片的数据 | **返回值:** | 类型 | 说明 | | :------------ | :---------------------------------- | | Promise<string> | Promise实例,用于返回卡片标识。 | **示例:** ```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" } }; 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)); }); ``` ## isRequestPublishFormSupported9+ isRequestPublishFormSupported(callback: AsyncCallback<boolean>): void; 查询是否支持发布一张卡片到使用方。 **系统能力:** SystemCapability.Ability.Form **系统API**: 此接口为系统接口,三方应用不支持调用。 **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------- | | callback | AsyncCallback<boolean> | 是 | callback形式返回是否支持发布一张卡片到使用方 | **示例:** ```js formProvider.isRequestPublishFormSupported((error, isSupported) => { if (error.code) { 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" } }; formProvider.requestPublishForm(want, (error, data) => { if (error.code) { console.log('formProvider requestPublishForm, error: ' + JSON.stringify(error)); } else { console.log('formProvider requestPublishForm, form ID is: ' + JSON.stringify(data)); } }); } } }); ``` ## isRequestPublishFormSupported9+ isRequestPublishFormSupported(): Promise<boolean>; 查询是否支持发布一张卡片到使用方。 **系统能力:** SystemCapability.Ability.Form **系统API**: 此接口为系统接口,三方应用不支持调用。 **返回值:** | 类型 | 说明 | | :------------ | :---------------------------------- | | Promise<boolean> | Promise实例,用于获取异步返回是否支持发布一张卡片到使用方 | **示例:** ```js 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" } }; 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('formProvider isRequestPublishFormSupported, error:' + JSON.stringify(error)); }); ```