js-apis-config-policy.md 5.3 KB
Newer Older
H
huangke11 已提交
1 2
# 配置策略

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

H
HelloCrease 已提交
5 6 7 8 9
>  **说明:**
>
>  本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
>  本模块接口均为系统接口,三方应用不支持调用。
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

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

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


## getOneCfgFile

getOneCfgFile(relPath: string): Promise<string>

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

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

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

**返回值:** 
H
HelloCrease 已提交
58 59 60
| 类型                    | 说明           |
| --------------------- | ------------ |
| Promise<string> | 最高优先级配置文件的路径 |
H
huangke11 已提交
61 62

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


## getCfgFiles

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

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

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

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

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


## getCfgFiles

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

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

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

**参数:** 
H
HelloCrease 已提交
108 109 110
| 参数名     | 类型     | 必填   | 说明    |
| ------- | ------ | ---- | ----- |
| relPath | string | 是    | 配置文件名 |
H
huangke11 已提交
111 112

**返回值:** 
H
HelloCrease 已提交
113 114 115
| 类型                                 | 说明   |
| ---------------------------------- | ---- |
| Promise<Array<string>> | 文件列表 |
H
huangke11 已提交
116 117

**示例:** 
H
HelloCrease 已提交
118
  ```js
H
huangke11 已提交
119
  configPolicy.getCfgFiles('etc/config.xml').then(value => {
H
HelloCrease 已提交
120
      console.log("value is " + value);
H
huangke11 已提交
121 122 123 124 125 126 127 128
  }).catch(error => {
      console.log("getCfgFiles promise " + error);
  });
  ```


## getCfgDirList

H
huangke11 已提交
129
getCfgDirList(callback: AsyncCallback<Array<string>>)
H
huangke11 已提交
130 131 132 133 134 135

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

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

**参数:** 
H
HelloCrease 已提交
136 137 138
| 参数名      | 类型                                       | 必填   | 说明                |
| -------- | ---------------------------------------- | ---- | ----------------- |
| callback | AsyncCallback<Array<string>> | 是    | 异步回调,用于返回配置层级目录列表 |
H
huangke11 已提交
139 140

**示例:** 
H
HelloCrease 已提交
141
  ```js
H
huangke11 已提交
142 143
  configPolicy.getCfgDirList((error, value) => {
      if (error == undefined) {
H
HelloCrease 已提交
144
          console.log("value is " + value);
H
huangke11 已提交
145
      } else {
H
HelloCrease 已提交
146
          console.log("error occurs "+ error);
H
huangke11 已提交
147 148 149 150 151 152 153 154 155 156 157 158 159 160
      }
  });
  ```


## getCfgDirList

getCfgDirList(): Promise<Array<string>>

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

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

**返回值:** 
H
HelloCrease 已提交
161 162 163
| 类型                                 | 说明       |
| ---------------------------------- | -------- |
| Promise<Array<string>> | 配置层级目录列表 |
H
huangke11 已提交
164 165

**示例:** 
H
HelloCrease 已提交
166
  ```js
H
huangke11 已提交
167
  configPolicy.getCfgDirList().then(value => {
H
HelloCrease 已提交
168
      console.log("value is " + value);
H
huangke11 已提交
169 170 171 172 173
  }).catch(error => {
      console.log("getCfgDirList promise " + error);
  });
  ```