1# HapModuleInfo
2
3HAP信息,三方应用可以通过[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)获取自身的HAP信息,其中入参[bundleFlags](js-apis-bundleManager.md#bundleflag)至少包含GET_BUNDLE_INFO_WITH_HAP_MODULE。
4
5> **说明:**
6> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7
8## HapModuleInfo
9
10**系统能力**: SystemCapability.BundleManager.BundleFramework.Core
11
12| 名称                              | 类型                                                         | 只读 | 可选 | 说明                 |
13| --------------------------------- | ------------------------------------------------------------ | ---- | ---- | -------------------- |
14| name                              | string                                                       | 是   | 否   | 模块名称。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
15| icon                              | string                                                       | 是   | 否   | 模块图标。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
16| iconId                            | number                                                       | 是   | 否   | 模块图标的资源id值。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
17| label                             | string                                                       | 是   | 否   | 模块标签。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
18| labelId                           | number                                                       | 是   | 否   | 模块标签的资源id值。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
19| description                       | string                                                       | 是   | 否   | 模块描述信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
20| descriptionId                     | number                                                       | 是   | 否   | 描述信息的资源id值。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
21| mainElementName                   | string                                                       | 是   | 否   | 入口ability信息。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
22| 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开始,该接口支持在原子化服务中使用。 |
23| 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开始,该接口支持在原子化服务中使用。 |
24| metadata                          | Array\<[Metadata](js-apis-bundleManager-metadata.md)>               | 是   | 否   | Ability的元信息。通过调用[getBundleInfoForSelf](js-apis-bundleManager.md#bundlemanagergetbundleinfoforself)接口,bundleFlags参数传入GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_METADATA获取。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
25| deviceTypes                       | Array\<string>                                               | 是   | 否   | 可以运行模块的设备类型。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
26| installationFree                  | boolean                                                      | 是   | 否   | 模块是否支持免安装。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
27| hashValue                         | string                                                       | 是   | 否   | 模块的Hash值。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
28| type                              | [bundleManager.ModuleType](js-apis-bundleManager.md#moduletype)            | 是   | 否   | 标识当前模块的类型。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
29| preloads                          | Array\<[PreloadItem](#preloaditem)>                          | 是   | 否   | 原子化服务中模块的预加载列表。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
30| dependencies                      | Array\<[Dependency](#dependency)>                            | 是   | 否   | 模块运行依赖的动态共享库列表。<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
31| 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开始,该接口支持在原子化服务中使用。 |
32| 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开始,该接口支持在原子化服务中使用。 |
33| codePath<sup>12+</sup>            | string                                                       | 是   | 否   | 模块的安装路径。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 |
34| nativeLibraryPath<sup>12+</sup>     | string                                                       | 是   | 否   | 应用程序内某个hapModule的本地库文件路径。                    |
35
36## PreloadItem
37
38描述原子化服务中模块的预加载模块信息。
39
40 **原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
41
42 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core43
44| 名称      | 类型           | 只读 | 可选 | 说明                        |
45| --------- | -------------- | ---- | ---- | --------------------------- |
46|moduleName | string         | 是   | 否   | 模块运行时,由系统自动执行预加载的模块名称。|
47
48## Dependency
49
50描述模块所依赖的动态共享库信息。
51
52 **原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
53
54 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core55
56| 名称        | 类型   | 只读 | 可选 | 说明                   |
57| ----------- | ------ | ---- | ---- | ---------------------- |
58| bundleName<sup>10+</sup>  | string | 是   | 否   | 标识当前模块依赖的共享包包名。       |
59| moduleName  | string | 是   | 否   | 标识当前模块依赖的共享包模块名。 |
60| versionCode<sup>10+</sup> | number | 是   | 否   | 标识当前共享包的版本号。   |
61
62## RouterItem<sup>12+</sup>
63
64描述模块配置的路由表信息。
65
66 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
67
68 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core69
70| 名称           | 类型   | 只读 | 可选 | 说明                   |
71| ------------- | ------ | ---- | ---- | ---------------------- |
72| name          | string | 是   | 否   | 标识跳转页面的名称。       |
73| pageSourceFile| string | 是   | 否   | 标识页面在模块内的路径。   |
74| buildFunction | string | 是   | 否   | 标识被@Builder修饰的函数,该函数描述页面的UI。   |
75| data          | Array\<[DataItem](#dataitem12)> | 是   | 否   | 标识[路由表配置文件](../../quick-start/module-configuration-file.md#routermap标签)中的字符串自定义数据,即data字段的信息,该字段已由系统解析,无需开发者自行解析。   |
76| customData    | string | 是   | 否   | 标识[路由表配置文件](../../quick-start/module-configuration-file.md#routermap标签)中的任意类型的自定义数据,即customData字段的JSON字符串,开发者需要调用JSON.parse函数解析出具体内容。   |
77
78## DataItem<sup>12+</sup>
79
80描述模块配置的路由表中的自定义数据。
81
82 **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
83
84 **系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework.Core85
86| 名称          | 类型    | 只读 | 可选 | 说明                   |
87| ------------- | ------ | ---- | ---- | ---------------------- |
88| key           | string | 是   | 否   | 标识路由表自定义数据的键。       |
89| value         | string | 是   | 否   | 标识路由表自定义数据的值。 |
90