1# HapModuleInfo 2<!--Kit: Ability Kit--> 3<!--Subsystem: BundleManager--> 4<!--Owner: @wanghang904--> 5<!--Designer: @hanfeng6--> 6<!--Tester: @kongjing2--> 7<!--Adviser: @Brilliantry_Rui--> 8 9HAP信息,可以通过[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)获取自身的HAP信息,其中参数[bundleFlags](js-apis-bundleManager.md#bundleflag)至少包含GET_BUNDLE_INFO_WITH_HAP_MODULE。 10 11> **说明:** 12> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 13 14## 导入模块 15 16```ts 17import { bundleManager } from '@kit.AbilityKit'; 18``` 19 20## HapModuleInfo 21 22**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 23 24| 名称 | 类型 | 只读 | 可选 | 说明 | 25| --------------------------------- | ------------------------------------------------------------ | ---- | ---- | -------------------- | 26| name | string | 是 | 否 | 模块名称。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 27| icon | string | 是 | 否 | 当前模块入口Ability的[图标](../../quick-start/layered-image.md),取值为图标资源文件的索引,与模块配置文件中[abilities标签](../../quick-start/module-configuration-file.md#abilities标签)或[extensionAbilities标签](../../quick-start/module-configuration-file.md#extensionabilities标签)的icon字段值一致。若未配置入口Ability,则为空。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 28| iconId | number | 是 | 否 | 当前模块入口Ability的图标[资源id](../../quick-start/resource-categories-and-access.md#资源目录)值。若未配置入口Ability,则为空。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 29| label | string | 是 | 否 | 当前模块入口Ability的名称,取值为字符串资源的索引,与模块配置文件中[abilities标签](../../quick-start/module-configuration-file.md#abilities标签)或[extensionAbilities标签](../../quick-start/module-configuration-file.md#extensionabilities标签)的label字段值一致。若未配置入口Ability,则为空。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 30| labelId | number | 是 | 否 | 当前模块入口Ability名称的[资源id](../../quick-start/resource-categories-and-access.md#资源目录)值。若未配置入口Ability,则为空。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 31| description | string | 是 | 否 | 模块描述信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 32| descriptionId | number | 是 | 否 | 描述信息的资源id值。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 33| mainElementName | string | 是 | 否 | 当前模块的入口UIAbility名称或者ExtensionAbility名称。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 34| abilitiesInfo | Array\<[AbilityInfo](js-apis-bundleManager-abilityInfo.md)> | 是 | 否 | 当前模块所有Ability的信息。通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_ABILITY获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 35| extensionAbilitiesInfo | Array\<[ExtensionAbilityInfo](js-apis-bundleManager-extensionAbilityInfo.md)> | 是 | 否 | 当前模块所有ExtensionAbility的信息。通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_EXTENSION_ABILITY获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 36| metadata | Array\<[Metadata](js-apis-bundleManager-metadata.md)> | 是 | 否 | 当前模块的元数据。通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_METADATA获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 37| deviceTypes | Array\<string> | 是 | 否 | 模块支持安装运行的[设备类型](../../quick-start/module-configuration-file.md#devicetypes标签)的集合。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 38| installationFree | boolean | 是 | 否 | 模块是否支免安装(无需用户通过应用市场显式安装),取值为true表示支持免安装,取值为false表示不支持免安装。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 39| hashValue | string | 是 | 否 | 模块的Hash值。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 40| type | [bundleManager.ModuleType](js-apis-bundleManager.md#moduletype) | 是 | 否 | 标识当前模块的类型。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 41| preloads | Array\<[PreloadItem](#preloaditem)> | 是 | 否 | 原子化服务中模块的预加载列表。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 42| dependencies | Array\<[Dependency](#dependency)> | 是 | 否 | 模块运行依赖的动态共享库列表。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 43| fileContextMenuConfig<sup>11+</sup> | string | 是 | 否 | 模块的文件菜单配置。通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_MENU获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 44| routerMap<sup>12+</sup> | Array\<[RouterItem](#routeritem12)> | 是 | 否 | [模块的路由表配置](../../quick-start/module-configuration-file.md#routermap标签)。通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_ROUTER_MAP获取。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 45| codePath<sup>12+</sup> | string | 是 | 否 | 模块的安装路径。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 46| nativeLibraryPath<sup>12+</sup> | string | 是 | 否 | 应用程序内模块本地库文件路径。 | 47 48## PreloadItem 49 50描述原子化服务中模块的预加载模块信息。 51 52**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 53 54**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 55 56| 名称 | 类型 | 只读 | 可选 | 说明 | 57| --------- | -------------- | ---- | ---- | --------------------------- | 58|moduleName | string | 是 | 否 | 模块名称。| 59 60## Dependency 61 62描述模块所依赖的动态共享库信息。 63 64**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 65 66**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 67 68| 名称 | 类型 | 只读 | 可选 | 说明 | 69| ----------- | ------ | ---- | ---- | ---------------------- | 70| bundleName<sup>10+</sup> | string | 是 | 否 | 标识当前模块依赖的共享包包名。 | 71| moduleName | string | 是 | 否 | 标识当前模块依赖的共享包模块名。 | 72| versionCode<sup>10+</sup> | number | 是 | 否 | 标识当前共享包的版本号。 | 73 74## RouterItem<sup>12+</sup> 75 76描述模块配置的路由表信息。 77 78**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 79 80**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 81 82| 名称 | 类型 | 只读 | 可选 | 说明 | 83| ------------- | ------ | ---- | ---- | ---------------------- | 84| name | string | 是 | 否 | 标识跳转页面的名称。 | 85| pageSourceFile| string | 是 | 否 | 标识页面在模块内的路径。 | 86| buildFunction | string | 是 | 否 | 标识被@Builder修饰的函数,该函数描述页面的UI。 | 87| data | Array\<[DataItem](#dataitem12)> | 是 | 否 | 标识[路由表配置文件](../../quick-start/module-configuration-file.md#routermap标签)中的字符串自定义数据,即data字段的信息,该字段已由系统解析,无需开发者自行解析。 | 88| customData | string | 是 | 否 | 标识[路由表配置文件](../../quick-start/module-configuration-file.md#routermap标签)中的任意类型的自定义数据,即customData字段的JSON字符串,开发者需要调用JSON.parse函数解析出具体内容。 | 89 90## DataItem<sup>12+</sup> 91 92描述模块配置的路由表中的自定义数据。 93 94**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 95 96**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 97 98| 名称 | 类型 | 只读 | 可选 | 说明 | 99| ------------- | ------ | ---- | ---- | ---------------------- | 100| key | string | 是 | 否 | 标识路由表自定义数据的键。 | 101| value | string | 是 | 否 | 标识路由表自定义数据的值。 | 102