# HapModuleInfo

HAP信息，可以通过getBundleInfoForSelf获取自身的HAP信息，其中参数bundleFlags至少包含GET\_BUNDLE\_INFO\_WITH\_HAP\_MODULE。

本模块首批接口从API version 9 开始支持。后续版本的新增接口，采用上角标单独标记接口的起始版本。

#### 导入模块

```
import { bundleManager } from '@kit.AbilityKit';
```

#### HapModuleInfo

**系统能力：** SystemCapability.BundleManager.BundleFramework.Core

| 名称 | 类型 | 只读 | 可选 | 说明 |
| --- | --- | --- | --- | --- |
| name | string | 是 | 否 | 模块名称。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| icon | string | 是 | 否 | 当前模块入口Ability的图标，取值为图标资源文件的索引，与模块配置文件中abilities标签或extensionAbilities标签的icon字段值一致。若未配置入口Ability，则为空。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| iconId | number | 是 | 否 | 当前模块入口Ability的图标资源ID值。若未配置入口Ability，则为0。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| label | string | 是 | 否 | 当前模块入口Ability的名称，取值为字符串资源的索引，与模块配置文件中abilities标签或extensionAbilities标签的label字段值一致。若未配置入口Ability，则为空。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| labelId | number | 是 | 否 | 当前模块入口Ability名称的资源ID值。若未配置入口Ability，则为0。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| description | string | 是 | 否 | 模块描述信息。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| descriptionId | number | 是 | 否 | 描述信息的资源ID值。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| mainElementName | string | 是 | 否 | 当前模块的入口UIAbility名称或者ExtensionAbility名称。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| abilitiesInfo | Array<AbilityInfo> | 是 | 否 | 当前模块所有Ability的信息。通过调用getBundleInfoForSelf接口，bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_ABILITY获取。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| extensionAbilitiesInfo | Array<ExtensionAbilityInfo> | 是 | 否 | 当前模块所有ExtensionAbility的信息。通过调用getBundleInfoForSelf接口，bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY获取。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| metadata | Array<Metadata> | 是 | 否 | 当前模块的元数据。通过调用getBundleInfoForSelf接口，bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_METADATA获取。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| deviceTypes | Array<string> | 是 | 否 | 模块支持安装运行的设备类型的集合。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| installationFree | boolean | 是 | 否 | 模块是否支持免安装（无需用户通过应用市场显式安装），取值为true表示支持免安装，取值为false表示不支持免安装。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| hashValue | string | 是 | 否 | 模块的Hash值，唯一标识模块。Hash值根据模块内容计算生成，可校验模块完整性和比对版本。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| type | bundleManager.ModuleType | 是 | 否 | 标识当前模块的类型。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| preloads | Array<PreloadItem> | 是 | 否 | 元服务中模块的预加载列表。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| dependencies | Array<Dependency> | 是 | 否 | 模块运行依赖的动态共享库列表。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| fileContextMenuConfig11+ | string | 是 | 否 | 模块的文件菜单配置。通过调用getBundleInfoForSelf接口，bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_MENU获取。 元服务API： 从API version 11开始，该接口支持在元服务中使用。 |
| routerMap12+ | Array<RouterItem> | 是 | 否 | 模块的路由表配置。通过调用getBundleInfoForSelf接口，bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_ROUTER_MAP获取。 元服务API： 从API version 12开始，该接口支持在元服务中使用。 |
| codePath12+ | string | 是 | 否 | 模块的安装路径。 元服务API： 从API version 12开始，该接口支持在元服务中使用。 |
| nativeLibraryPath12+ | string | 是 | 否 | 应用程序内模块本地库文件路径。 |

#### PreloadItem

描述元服务中模块的预加载模块信息。

**元服务API：** 从API version 11开始，该接口支持在元服务中使用。

**系统能力：** SystemCapability.BundleManager.BundleFramework.Core

| 名称 | 类型 | 只读 | 可选 | 说明 |
| --- | --- | --- | --- | --- |
| moduleName | string | 是 | 否 | 模块名称。 |

#### Dependency

描述模块所依赖的动态共享库信息。

**元服务API：** 从API version 11开始，该接口支持在元服务中使用。

**系统能力：** SystemCapability.BundleManager.BundleFramework.Core

| 名称 | 类型 | 只读 | 可选 | 说明 |
| --- | --- | --- | --- | --- |
| bundleName10+ | string | 是 | 否 | 标识当前模块依赖的共享包包名。 |
| moduleName | string | 是 | 否 | 标识当前模块依赖的共享包模块名。 |
| versionCode10+ | number | 是 | 否 | 标识当前共享包的版本号。 |

#### RouterItem12+

描述模块配置的路由表信息。

**元服务API：** 从API version 12开始，该接口支持在元服务中使用。

**系统能力：** SystemCapability.BundleManager.BundleFramework.Core

| 名称 | 类型 | 只读 | 可选 | 说明 |
| --- | --- | --- | --- | --- |
| name | string | 是 | 否 | 标识跳转页面的名称。 |
| pageSourceFile | string | 是 | 否 | 标识页面在模块内的路径。 |
| buildFunction | string | 是 | 否 | 标识被@Builder修饰的函数，该函数描述页面的UI。 |
| data | Array<DataItem> | 是 | 否 | 标识路由表配置文件中的字符串自定义数据，即data字段的信息，该字段已由系统解析，无需开发者自行解析。 |
| customData | string | 是 | 否 | 标识路由表配置文件中的任意类型的自定义数据，即customData字段的JSON字符串，开发者需要调用JSON.parse函数解析出具体内容。 |

#### DataItem12+

描述模块配置的路由表中的自定义数据。

**元服务API：** 从API version 12开始，该接口支持在元服务中使用。

**系统能力：** SystemCapability.BundleManager.BundleFramework.Core

| 名称 | 类型 | 只读 | 可选 | 说明 |
| --- | --- | --- | --- | --- |
| key | string | 是 | 否 | 标识路由表自定义数据的键。 |
| value | string | 是 | 否 | 标识路由表自定义数据的值。 |