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