js-apis-configPolicy.md 5.3 KB
Newer Older
1
# @ohos.configPolicy (配置策略)
H
huangke11 已提交
2

H
huangke11 已提交
3 4
配置策略提供按预先定义的定制配置层级获取对应定制配置目录和文件路径的能力。

H
HelloCrease 已提交
5 6 7 8
>  **说明:**
>
>  本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
H
HelloCrease 已提交
9
>  本模块接口均为系统接口。
H
huangke11 已提交
10 11 12

## 导入模块

H
HelloCrease 已提交
13
```js
H
huangke11 已提交
14 15 16 17 18
import configPolicy from '@ohos.configPolicy';
```

## getOneCfgFile

H
huangke11 已提交
19
getOneCfgFile(relPath: string, callback: AsyncCallback<string>)
H
huangke11 已提交
20 21

使用callback形式返回指定文件名的最高优先级配置文件路径。
H
huangke11 已提交
22
例如,config.xml在设备中存在以下路径(优先级从低到高):/system/etc/config.xml、/sys_pod/etc/config.xml,最终返回/sys_pod/etc/config.xml。
H
huangke11 已提交
23 24 25 26

**系统能力**:SystemCapability.Customization.ConfigPolicy

**参数:** 
X
xiekaiming 已提交
27

H
HelloCrease 已提交
28 29 30 31
| 参数名      | 类型                          | 必填   | 说明                    |
| -------- | --------------------------- | ---- | --------------------- |
| relPath  | string                      | 是    | 配置文件名                 |
| callback | AsyncCallback<string> | 是    | 异步回调,用于返回最高优先级配置文件的路径 |
H
huangke11 已提交
32 33

**示例:** 
H
HelloCrease 已提交
34
  ```js
H
huangke11 已提交
35
  configPolicy.getOneCfgFile('etc/config.xml', (error, value) => {
36
      if (error == null) {
H
HelloCrease 已提交
37
          console.log("value is " + value);
H
huangke11 已提交
38
      } else {
H
HelloCrease 已提交
39
          console.log("error occurs "+ error);
H
huangke11 已提交
40 41 42 43 44 45 46 47 48 49 50 51 52 53
      }
  });
  ```


## getOneCfgFile

getOneCfgFile(relPath: string): Promise<string>

使用Promise形式返回指定文件名的最高优先级配置文件路径。

**系统能力**:SystemCapability.Customization.ConfigPolicy

**参数:** 
X
xiekaiming 已提交
54

H
HelloCrease 已提交
55 56 57
| 参数名     | 类型     | 必填   | 说明    |
| ------- | ------ | ---- | ----- |
| relPath | string | 是    | 配置文件名 |
H
huangke11 已提交
58 59

**返回值:** 
X
xiekaiming 已提交
60

H
HelloCrease 已提交
61 62 63
| 类型                    | 说明           |
| --------------------- | ------------ |
| Promise<string> | 最高优先级配置文件的路径 |
H
huangke11 已提交
64 65

**示例:** 
H
HelloCrease 已提交
66
  ```js
H
huangke11 已提交
67
  configPolicy.getOneCfgFile('etc/config.xml').then(value => {
H
HelloCrease 已提交
68
      console.log("value is " + value);
H
huangke11 已提交
69 70 71 72 73 74 75 76
  }).catch(error => {
      console.log("getOneCfgFile promise " + error);
  });
  ```


## getCfgFiles

H
huangke11 已提交
77
getCfgFiles(relPath: string, callback: AsyncCallback<Array<string>>)
H
huangke11 已提交
78

79 80
按优先级从低到高,使用callback形式返回指定文件名所有的文件列表。
例如,config.xml在设备中存在以下路径(优先级从低到高):/system/etc/config.xml、/sys_pod/etc/config.xml,最终返回/system/etc/config.xml, /sys_pod/etc/config.xml。
H
huangke11 已提交
81 82 83 84

**系统能力**:SystemCapability.Customization.ConfigPolicy

**参数:** 
X
xiekaiming 已提交
85

H
HelloCrease 已提交
86 87 88 89
| 参数名      | 类型                                       | 必填   | 说明            |
| -------- | ---------------------------------------- | ---- | ------------- |
| relPath  | string                                   | 是    | 配置文件名         |
| callback | AsyncCallback<Array<string>> | 是    | 异步回调,用于返回文件列表 |
H
huangke11 已提交
90 91

**示例:** 
H
HelloCrease 已提交
92
  ```js
H
huangke11 已提交
93
  configPolicy.getCfgFiles('etc/config.xml', (error, value) => {
94
      if (error == null) {
H
HelloCrease 已提交
95
          console.log("value is " + value);
H
huangke11 已提交
96
      } else {
H
HelloCrease 已提交
97
          console.log("error occurs "+ error);
H
huangke11 已提交
98 99 100 101 102 103 104 105 106 107 108 109 110 111
      }
  });
  ```


## getCfgFiles

getCfgFiles(relPath: string): Promise<Array<string>>

按优先级从低到高,使用Promise形式返回指定文件名所有的文件列表。

**系统能力**:SystemCapability.Customization.ConfigPolicy

**参数:** 
X
xiekaiming 已提交
112

H
HelloCrease 已提交
113 114 115
| 参数名     | 类型     | 必填   | 说明    |
| ------- | ------ | ---- | ----- |
| relPath | string | 是    | 配置文件名 |
H
huangke11 已提交
116 117

**返回值:** 
X
xiekaiming 已提交
118

H
HelloCrease 已提交
119 120 121
| 类型                                 | 说明   |
| ---------------------------------- | ---- |
| Promise<Array<string>> | 文件列表 |
H
huangke11 已提交
122 123

**示例:** 
H
HelloCrease 已提交
124
  ```js
H
huangke11 已提交
125
  configPolicy.getCfgFiles('etc/config.xml').then(value => {
H
HelloCrease 已提交
126
      console.log("value is " + value);
H
huangke11 已提交
127 128 129 130 131 132 133 134
  }).catch(error => {
      console.log("getCfgFiles promise " + error);
  });
  ```


## getCfgDirList

H
huangke11 已提交
135
getCfgDirList(callback: AsyncCallback<Array<string>>)
H
huangke11 已提交
136 137 138 139 140 141

使用callback形式返回配置层级目录列表。

**系统能力**:SystemCapability.Customization.ConfigPolicy

**参数:** 
X
xiekaiming 已提交
142

H
HelloCrease 已提交
143 144 145
| 参数名      | 类型                                       | 必填   | 说明                |
| -------- | ---------------------------------------- | ---- | ----------------- |
| callback | AsyncCallback<Array<string>> | 是    | 异步回调,用于返回配置层级目录列表 |
H
huangke11 已提交
146 147

**示例:** 
H
HelloCrease 已提交
148
  ```js
H
huangke11 已提交
149
  configPolicy.getCfgDirList((error, value) => {
150
      if (error == null) {
H
HelloCrease 已提交
151
          console.log("value is " + value);
H
huangke11 已提交
152
      } else {
H
HelloCrease 已提交
153
          console.log("error occurs "+ error);
H
huangke11 已提交
154 155 156 157 158 159 160 161 162 163 164 165 166 167
      }
  });
  ```


## getCfgDirList

getCfgDirList(): Promise<Array<string>>

使用Promise形式返回配置层级目录列表。

**系统能力**:SystemCapability.Customization.ConfigPolicy

**返回值:** 
X
xiekaiming 已提交
168

H
HelloCrease 已提交
169 170 171
| 类型                                 | 说明       |
| ---------------------------------- | -------- |
| Promise<Array<string>> | 配置层级目录列表 |
H
huangke11 已提交
172 173

**示例:** 
H
HelloCrease 已提交
174
  ```js
H
huangke11 已提交
175
  configPolicy.getCfgDirList().then(value => {
H
HelloCrease 已提交
176
      console.log("value is " + value);
H
huangke11 已提交
177 178 179 180 181
  }).catch(error => {
      console.log("getCfgDirList promise " + error);
  });
  ```