1# 配置策略 2 3配置策略提供按预先定义的定制配置层级获取对应定制配置目录和文件路径的能力。 4 5> **说明:** 6> 7> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 9> 本模块接口均为系统接口,三方应用不支持调用。 10 11## 导入模块 12 13```js 14import configPolicy from '@ohos.configPolicy'; 15``` 16 17## getOneCfgFile 18 19getOneCfgFile(relPath: string, callback: AsyncCallback<string>) 20 21使用callback形式返回指定文件名的最高优先级配置文件路径。 22例如,config.xml在设备中存在以下路径(优先级从低到高):/system/etc/config.xml、/sys_pod/etc/config.xml,最终返回/sys_pod/etc/config.xml。 23 24**系统能力**:SystemCapability.Customization.ConfigPolicy 25 26**参数:** 27| 参数名 | 类型 | 必填 | 说明 | 28| -------- | --------------------------- | ---- | --------------------- | 29| relPath | string | 是 | 配置文件名 | 30| callback | AsyncCallback<string> | 是 | 异步回调,用于返回最高优先级配置文件的路径 | 31 32**示例:** 33 ```js 34 configPolicy.getOneCfgFile('etc/config.xml', (error, value) => { 35 if (error == undefined) { 36 console.log("value is " + value); 37 } else { 38 console.log("error occurs "+ error); 39 } 40 }); 41 ``` 42 43 44## getOneCfgFile 45 46getOneCfgFile(relPath: string): Promise<string> 47 48使用Promise形式返回指定文件名的最高优先级配置文件路径。 49 50**系统能力**:SystemCapability.Customization.ConfigPolicy 51 52**参数:** 53| 参数名 | 类型 | 必填 | 说明 | 54| ------- | ------ | ---- | ----- | 55| relPath | string | 是 | 配置文件名 | 56 57**返回值:** 58| 类型 | 说明 | 59| --------------------- | ------------ | 60| Promise<string> | 最高优先级配置文件的路径 | 61 62**示例:** 63 ```js 64 configPolicy.getOneCfgFile('etc/config.xml').then(value => { 65 console.log("value is " + value); 66 }).catch(error => { 67 console.log("getOneCfgFile promise " + error); 68 }); 69 ``` 70 71 72## getCfgFiles 73 74getCfgFiles(relPath: string, callback: AsyncCallback<Array<string>>) 75 76按优先级从低到高,使用callback形式返回指定文件名所有的文件列表。例如,config.xml在设备中存在以下路径(优先级从低到高):/system/etc/config.xml、 77/sys_pod/etc/config.xml,最终返回/system/etc/config.xml, /sys_pod/etc/config.xml。 78 79**系统能力**:SystemCapability.Customization.ConfigPolicy 80 81**参数:** 82| 参数名 | 类型 | 必填 | 说明 | 83| -------- | ---------------------------------------- | ---- | ------------- | 84| relPath | string | 是 | 配置文件名 | 85| callback | AsyncCallback<Array<string>> | 是 | 异步回调,用于返回文件列表 | 86 87**示例:** 88 ```js 89 configPolicy.getCfgFiles('etc/config.xml', (error, value) => { 90 if (error == undefined) { 91 console.log("value is " + value); 92 } else { 93 console.log("error occurs "+ error); 94 } 95 }); 96 ``` 97 98 99## getCfgFiles 100 101getCfgFiles(relPath: string): Promise<Array<string>> 102 103按优先级从低到高,使用Promise形式返回指定文件名所有的文件列表。 104 105**系统能力**:SystemCapability.Customization.ConfigPolicy 106 107**参数:** 108| 参数名 | 类型 | 必填 | 说明 | 109| ------- | ------ | ---- | ----- | 110| relPath | string | 是 | 配置文件名 | 111 112**返回值:** 113| 类型 | 说明 | 114| ---------------------------------- | ---- | 115| Promise<Array<string>> | 文件列表 | 116 117**示例:** 118 ```js 119 configPolicy.getCfgFiles('etc/config.xml').then(value => { 120 console.log("value is " + value); 121 }).catch(error => { 122 console.log("getCfgFiles promise " + error); 123 }); 124 ``` 125 126 127## getCfgDirList 128 129getCfgDirList(callback: AsyncCallback<Array<string>>) 130 131使用callback形式返回配置层级目录列表。 132 133**系统能力**:SystemCapability.Customization.ConfigPolicy 134 135**参数:** 136| 参数名 | 类型 | 必填 | 说明 | 137| -------- | ---------------------------------------- | ---- | ----------------- | 138| callback | AsyncCallback<Array<string>> | 是 | 异步回调,用于返回配置层级目录列表 | 139 140**示例:** 141 ```js 142 configPolicy.getCfgDirList((error, value) => { 143 if (error == undefined) { 144 console.log("value is " + value); 145 } else { 146 console.log("error occurs "+ error); 147 } 148 }); 149 ``` 150 151 152## getCfgDirList 153 154getCfgDirList(): Promise<Array<string>> 155 156使用Promise形式返回配置层级目录列表。 157 158**系统能力**:SystemCapability.Customization.ConfigPolicy 159 160**返回值:** 161| 类型 | 说明 | 162| ---------------------------------- | -------- | 163| Promise<Array<string>> | 配置层级目录列表 | 164 165**示例:** 166 ```js 167 configPolicy.getCfgDirList().then(value => { 168 console.log("value is " + value); 169 }).catch(error => { 170 console.log("getCfgDirList promise " + error); 171 }); 172 ``` 173 174