# @ohos.app.form.formInfo (formInfo)(系统接口)
formInfo模块提供了卡片信息和状态等相关类型和枚举。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 当前页面仅包含本模块的系统接口,其他公共接口参见[@ohos.app.form.formInfo (formInfo)](./js-apis-app-form-formInfo.md)。
## 导入模块
```ts
import { formInfo } from '@kit.FormKit';
```
## FormInfo
卡片配置信息。
**系统能力:** SystemCapability.Ability.Form
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----------- | -------- | -------- | -------------------- | ------------------------------------------------------------ |
| previewImages18+ | Array<number> | 是 | 否 | 卡片预览图资源ID。
**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。|
| enableBlurBackground18+ | boolean | 是 | 否 | 卡片是否使用模糊背板。 |
| renderingMode18+|[RenderingMode](./js-apis-app-form-formInfo-sys.md#renderingmode18)|是|否|卡片渲染模式。|
| resizable20+ | boolean | 是 | 否 | 表示是否可以拖拽卡片调整大小。调整值必须在该卡片或者同groupId卡片的supportDimensions配置列表中。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 |
| groupId20+ | string | 是 | 否 | 表示一组卡片的共同id。多张卡片的groupId相同且resizable为true时,多张卡片的supportDimensions配置共享。例如,卡片A和B的groupId相同且resizable均为true,则卡片A可以调整为卡片A和B的supportDimensions配置中的任意尺寸。
推荐多张卡片功能相同且需要调整卡片尺寸时配置。
**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 |
## FormParam
卡片参数枚举。
**系统能力:** SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| DEVICE_ID_KEY | 'ohos.extra.param.key.device_id' | 设备标识。
**系统接口:** 此接口为系统接口。 |
## FormUsageState
卡片当前使用状态枚举。
**系统能力:** SystemCapability.Ability.Form
**系统接口:** 此接口为系统接口。
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| USED11+ | 0 | 表示卡片在使用中。 |
| UNUSED11+ | 1 | 表示卡片未被使用。 |
## RunningFormInfo10+
已添加的卡片信息,包括使用中的以及未使用的卡片。
**系统能力:** SystemCapability.Ability.Form
**系统接口:** 此接口为系统接口。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----------- | -------- | -------- | -------------------- | ------------------------------------------------------------ |
| hostBundleName | string | 是 | 否 | 使用方卡片所属包的Bundle名称。 |
| visibilityType | [VisibilityType](js-apis-app-form-formInfo.md#visibilitytype) | 是 | 否 | 卡片当前可见类型枚举。 |
| formUsageState11+ | [FormUsageState](#formusagestate) | 是 | 否 | 卡片当前使用状态枚举。 |
| formDescription11+ | string | 是 | 否 | 提供方卡片配置文件中的描述信息。 |
## formProviderFilter10+
卡片提供方信息。
**模型约束:** 此接口仅可在Stage模型下使用。
**系统能力:** SystemCapability.Ability.Form
**系统接口:** 此接口为系统接口。
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ----------- | -------- | -------- | -------------------- | ------------------------------------------------------------ |
| bundleName | string | 是 | 是 | 提供方卡片所属包的Bundle名称。 |
| formName | string | 是 | 是 | 卡片名称。 |
| moduleName | string | 是 | 是 | 卡片所属模块的模块名称。 |
| abilityName | string | 是 | 是 | 卡片所属的Ability名称。 |
| isUnusedIncluded11+ | boolean | 是 | 是 | 是否包含未使用的卡片。
- true:包含未使用的卡片。
- false:不包含未使用的卡片。
默认值:false。 |
## FormInfoFilter
卡片信息过滤器,仅将符合过滤器内要求的卡片信息返回。
**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Ability.Form
| 名称 | 类型 | 必填 |说明 |
| ----------- | ---- | ------------ |------------ |
| bundleName | string |否 | 选填,仅保留含bundleName与提供值相符的卡片信息,未填写时则不通过bundleName进行过滤。
**系统接口:** 此接口为系统接口。 |
| supportedDimensions | Array\ |否 | 选填,仅保留含supportedDimensions提供值相符的卡片信息,未填写时则不通过supportedDimensions进行过滤。
**系统接口:** 此接口为系统接口。 |
| supportedShapes12+ | Array\ |否 | 选填,仅保留含supportedShapes提供值相符的卡片信息,未填写时则不通过supportedShapes进行过滤。
**系统接口:** 此接口为系统接口。 |
## FormLocation12+
卡片当前位置枚举。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ---------------------------- | ---- | -------------------------------- |
| OTHER | -1 | 表示卡片位于其他位置。 |
| DESKTOP | 0 | 表示卡片位于桌面。 |
| FORM_CENTER | 1 | 表示卡片位于桌面的卡片中心。 |
| FORM_MANAGER | 2 | 表示卡片位于桌面的卡片管理器。 |
| NEGATIVE_SCREEN | 3 | 表示卡片位于负一屏。 |
| FORM_CENTER_NEGATIVE_SCREEN | 4 | 表示卡片位于负一屏的服务中心。 |
| FORM_MANAGER_NEGATIVE_SCREEN | 5 | 表示卡片位于负一屏的卡片管理器。 |
| SCREEN_LOCK | 6 | 表示卡片位于锁屏。 |
| AI_SUGGESTION | 7 | 表示卡片位于小艺建议推荐区。 |
## PublishFormResult12+
发布卡片加桌结果。
**系统能力:** SystemCapability.Ability.Form
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------- | --------------------------------------------- | ---- | ---- | -------------------------- |
| code | [PublishFormErrorCode](#publishformerrorcode12) | 是 | 否 | 发布卡片加桌错误码。 |
| message | string | 是 | 否 | 设置卡片加桌结果返回信息。 |
## PublishFormErrorCode12+
发布卡片加桌错误码枚举。
**系统能力**:SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| -------------- | ---- | -------------------------------- |
| SUCCESS | 0 | 表示卡片加桌成功。 |
| NO_SPACE | 1 | 表示没有空间添加卡片。 |
| PARAM_ERROR | 2 | 表示参数检查失败。 |
| INTERNAL_ERROR | 3 | 表示卡片处理过程中出现内部错误。 |
## RenderingMode18+
卡片支持的渲染模式枚举。
**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
**系统能力:** SystemCapability.Ability.Form
| 名称 | 值 | 说明 |
| ----------- | ---- | ------------ |
| AUTO_COLOR | 0 | 表示自动模式。 |
| FULL_COLOR | 1 | 表示全色模式。 |
| SINGLE_COLOR | 2 | 表示单色模式。 |
## OverflowRequest20+
互动卡片动效请求信息。
**系统能力:** SystemCapability.Ability.Form
**系统接口:** 此接口为系统接口。
| 名称 | 类型 | 只读 | 可选 | 说明 |
|-----|-----|----|----|-----|
| formId | string | 是 | 否 | 卡片id。|
| isOverflow | boolean | 是 | 否 | 动效请求类型标记,true 表示互动卡片请求触发动效,false 表示互动卡片请求取消动效。|
| overflowInfo | [formInfo.OverflowInfo](js-apis-app-form-formInfo.md#overflowinfo20) | 是 | 是 | 动效请求参数信息,包括动效时长(单位:ms)和动效区域(动效区域范围以卡片左上角为原点,单位为vp),默认值为空。 |
## ChangeSceneAnimationStateRequest20+
互动卡片状态切换请求信息。互动卡片状态分为激活态和非激活态,非激活态下,互动卡片同普通卡片一致;激活态下,互动卡片支持拉起卡片提供方所开发的LiveFormExtensionAbility进程,实现互动卡片动效。
**系统能力:** SystemCapability.Ability.Form
**系统接口:** 此接口为系统接口。
| 名称 | 类型 | 只读 | 可选 | 说明 |
|-----|-----|-----|-----|----------------------------------------|
| formId | string | 是 | 否 | 卡片id。 |
| state | number | 是 | 否 | 状态切换请求类型标记:1 表示请求切换为激活态,0 表示请求切换为非激活态。 |
## FunInteractionParams20+
趣味交互卡片配置参数。
**系统能力:** SystemCapability.Ability.Form
**系统接口:** 此接口为系统接口。
| 名称 | 类型 | 只读 | 可选 | 说明 |
|-----|-----|----|-----|--------------------------------------------------------------------------------------------------------------------------------------|
| abilityName | string | 是 | 是 | 趣味交互场景 extensionAbility 名称,默认为空。 |
| targetBundleName | string | 是 | 否 | 趣味交互场景[主包包名](https://developer.huawei.com/consumer/cn/doc/quickApp-Guides/quickgame-independent-subpackage-0000002076341729)。 |
| subBundleName | string | 是 | 否 | 趣味交互场景趣味交互场景[独立分包名](https://developer.huawei.com/consumer/cn/doc/quickApp-Guides/quickgame-independent-subpackage-0000002076341729)。 |
| keepStateDuration | number | 是 | 是 | 趣味交互场景无交互时,激活态保持时长。默认值为10000,单位ms。取值为[0,10000]的整数,超过取值范围则取默认值10000。 |
## SceneAnimationParams20+
场景动效卡片配置参数。
**系统能力:** SystemCapability.Ability.Form
**系统接口:** 此接口为系统接口。
| 名称 | 类型 | 只读 | 可选 | 说明 |
|-----|-----|------|----|-------------------------------------------------------------------------------------------------------------------------------------------------|
| abilityName | string | 是 | 否 | 场景动效 extensionAbility 名称,如卡片提供方LiveFormExtensionAbility名称。 |
| disabledDesktopBehaviors | string | 是 | 是 | 支持的取值包括SWIPE_DESKTOP(滑动桌面)、PULL_DOWN_SEARCH(下拉全搜)、LONG_CLICK(长按)、DRAG(拖动)。可以取值一个或多个,不同行为通过 \| 拼接,例如SWIPE_DESKTOP\|PULL_DOWN_SEARCH。缺省表示不禁用任何行为。 |
## GetFormRectInfoCallback20+
### (formId: string)
(formId: string): Promise<formInfo.Rect>
卡片位置、尺寸查询回调。使用Promise异步回调。
**系统能力:** SystemCapability.Ability.Form
**系统接口:** 此接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
|-----|-----|------|------------------|
| formId | string | 是 | 卡片Id。|
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise<[formInfo.Rect](js-apis-app-form-formInfo.md#rect20)> | Promise对象,返回卡片相对屏幕左上角的的位置信息和卡片尺寸信息,单位vp。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
|-------|-----------------------------------------------------------------------------------------------------------|
| 202 | The application is not a system application. |
**示例:**
```ts
import { formInfo } from '@kit.FormKit';
// 卡片使用方需要对查询请求进行处理,计算并返回卡片尺寸、位置信息
let getFormRectInfoCallback: formInfo.GetFormRectInfoCallback =
(formId: string): Promise => {
return new Promise((resolve: Function) => {
console.log(`formId is ${formId}`);
let formRect: formInfo.Rect = {left: 0, top: 0, width: 0, height: 0};
resolve(formRect);
})
};
```