1# @ohos.enterprise.browser(浏览器管理)(系统接口) 2<!--Kit: MDM Kit--> 3<!--Subsystem: Customization--> 4<!--Owner: @huanleima--> 5<!--Designer: @liuzuming--> 6<!--Tester: @lpw_work--> 7<!--Adviser: @Brilliantry_Rui--> 8 9本模块提供浏览器管理能力,包括设置/取消浏览器策略、获取浏览器策略等。 10 11> **说明:** 12> 13> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14> 15> 本模块接口仅可在Stage模型下使用。 16> 17> 本模块接口仅对[设备管理应用](../../mdm/mdm-kit-term.md#mdm应用设备管理应用)开放,需将[设备管理应用激活](js-apis-enterprise-adminManager-sys.md#adminmanagerenableadmin-2)后调用。 18> 19> 当前页面仅包含本模块的系统接口,其他公开接口参见。其他公开接口参见[@ohos.enterprise.browser](js-apis-enterprise-browser.md)。 20 21## 导入模块 22 23```ts 24import { browser } from '@kit.MDMKit'; 25``` 26 27## browser.setPolicies 28 29setPolicies(admin: Want, appId: string, policies: string, callback: AsyncCallback<void>): void 30 31为指定的浏览器设置浏览策略,使用callback异步回调。 32 33**需要权限:** ohos.permission.ENTERPRISE_SET_BROWSER_POLICY 34 35**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 36 37**模型约束:** 此接口仅可在Stage模型下使用。 38 39**系统接口:** 此接口为系统接口。 40 41**参数:** 42 43| 参数名 | 类型 | 必填 | 说明 | 44| -------- | ---------------------------------------- | ---- | ------------------------------- | 45| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 46| appId | string | 是 | 应用ID,用于指定浏览器。 | 47| policies | string | 是 | 浏览器策略,当参数policies为空字符串时,表示取消指定浏览器的策略。 | 48| callback | AsyncCallback<void> | 是 | 回调函数。当接口调用成功,err为null,否则为错误对象。 | 49 50**错误码**: 51 52以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 53 54| 错误码ID | 错误信息 | 55| ------- | ---------------------------------------------------------------------------- | 56| 9200001 | The application is not an administrator application of the device. | 57| 9200002 | The administrator application does not have permission to manage the device. | 58| 201 | Permission verification failed. The application does not have the permission required to call the API. | 59| 202 | Permission verification failed. A non-system application calls a system API. | 60| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 61 62**示例:** 63 64```ts 65import { browser } from '@kit.MDMKit'; 66import { Want } from '@kit.AbilityKit'; 67 68let wantTemp: Want = { 69 // 需根据实际情况进行替换 70 bundleName: 'com.example.myapplication', 71 abilityName: 'EntryAbility' 72}; 73// 此处参数appId的赋值应替换为开发者自己指定的浏览器的应用ID 74let appId: string = 'com.example.******_******/******5t5CoBM='; 75let policies: string = '{"InsecurePrivateNetworkRequestsAllowed":{"level":"mandatory","scope":"machine","source":"platform","value":true},"LegacySameSiteCookieBehaviorEnabledForDomainList":{"level":"mandatory","scope":"machine","source":"platform","value":["[*.]"]}}'; 76browser.setPolicies(wantTemp, appId, policies, (err) => { 77 if (err) { 78 console.error(`Failed to set browser policies. Code is ${err.code}, message is ${err.message}`); 79 return; 80 } 81 console.info('Succeeded in setting browser policies.'); 82}); 83``` 84 85## browser.setPolicies 86 87setPolicies(admin: Want, appId: string, policies: string): Promise<void> 88 89为指定的浏览器设置浏览策略,使用promise异步回调。 90 91**需要权限:** ohos.permission.ENTERPRISE_SET_BROWSER_POLICY 92 93**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 94 95**模型约束:** 此接口仅可在Stage模型下使用。 96 97**系统接口:** 此接口为系统接口。 98 99**参数:** 100 101| 参数名 | 类型 | 必填 | 说明 | 102| ----- | ----------------------------------- | ---- | ------- | 103| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 104| appId | string | 是 | 应用ID,用于指定浏览器。 | 105| policies | string | 是 | 浏览器策略,当参数policies为空字符串时,表示取消指定浏览器的策略。 | 106 107**返回值:** 108 109| 类型 | 说明 | 110| --------------------- | ------------------------- | 111| Promise<void> | 无返回结果的Promise对象。当设置浏览器策略失败时,会抛出错误对象。 | 112 113**错误码**: 114 115以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 116 117| 错误码ID | 错误信息 | 118| ------- | ---------------------------------------------------------------------------- | 119| 9200001 | The application is not an administrator application of the device. | 120| 9200002 | The administrator application does not have permission to manage the device. | 121| 201 | Permission verification failed. The application does not have the permission required to call the API. | 122| 202 | Permission verification failed. A non-system application calls a system API. | 123| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 124 125**示例:** 126 127```ts 128import { browser } from '@kit.MDMKit'; 129import { Want } from '@kit.AbilityKit'; 130import { BusinessError } from '@kit.BasicServicesKit'; 131 132let wantTemp: Want = { 133 // 需根据实际情况进行替换 134 bundleName: 'com.example.myapplication', 135 abilityName: 'EntryAbility' 136}; 137// 此处参数appId的赋值应替换为开发者自己指定的浏览器的应用ID 138let appId: string = 'com.example.******_******/******5t5CoBM='; 139let policies: string = '{"InsecurePrivateNetworkRequestsAllowed":{"level":"mandatory","scope":"machine","source":"platform","value":true},"LegacySameSiteCookieBehaviorEnabledForDomainList":{"level":"mandatory","scope":"machine","source":"platform","value":["[*.]"]}}'; 140browser.setPolicies(wantTemp, appId, policies).then(() => { 141 console.info('Succeeded in setting browser policies.'); 142}).catch((err: BusinessError) => { 143 console.error(`Failed to set browser policies. Code is ${err.code}, message is ${err.message}`); 144}); 145``` 146 147## browser.getPolicies 148 149getPolicies(admin: Want, appId: string, callback: AsyncCallback<string>): void 150 151获取指定浏览器的策略,使用callback异步回调。 152 153**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 154 155**模型约束:** 此接口仅可在Stage模型下使用。 156 157**系统接口:** 此接口为系统接口。 158 159**参数:** 160 161| 参数名 | 类型 | 必填 | 说明 | 162| -------- | ---------------------------------------- | ---- | ------------------------------- | 163| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 164| appId | string | 是 | 应用ID,用于指定浏览器。 | 165| callback | AsyncCallback<string> | 是 | 回调函数,当接口调用成功,err为null,否则为错误对象。 | 166 167**错误码**: 168 169以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 170 171| 错误码ID | 错误信息 | 172| ------- | ---------------------------------------------------------------------------- | 173| 9200001 | The application is not an administrator application of the device. | 174| 202 | Permission verification failed. A non-system application calls a system API. | 175| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 176 177**示例:** 178 179```ts 180import { browser } from '@kit.MDMKit'; 181import { Want } from '@kit.AbilityKit'; 182 183let wantTemp: Want = { 184 // 需根据实际情况进行替换 185 bundleName: 'com.example.myapplication', 186 abilityName: 'EntryAbility' 187}; 188// 此处参数appId的赋值应替换为开发者自己指定的浏览器的应用ID 189let appId: string = 'com.example.******_******/******5t5CoBM='; 190browser.getPolicies(wantTemp, appId, (err, result) => { 191 if (err) { 192 console.error(`Failed to get browser policies. Code is ${err.code}, message is ${err.message}`); 193 return; 194 } 195 console.info(`Succeeded in getting browser policies, result : ${JSON.stringify(result)}`); 196}); 197``` 198 199## browser.getPolicies 200 201getPolicies(admin: Want, appId: string): Promise<string> 202 203获取指定浏览器的策略,使用promise异步回调。 204 205**系统能力:** SystemCapability.Customization.EnterpriseDeviceManager 206 207**模型约束:** 此接口仅可在Stage模型下使用。 208 209**系统接口:** 此接口为系统接口。 210 211**参数:** 212 213| 参数名 | 类型 | 必填 | 说明 | 214| ----- | ----------------------------------- | ---- | ------- | 215| admin | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 企业设备管理扩展组件。 | 216| appId | string | 是 | 应用ID,用于指定浏览器。 | 217 218**返回值:** 219 220| 类型 | 说明 | 221| --------------------- | ------------------------- | 222| Promise<string> | Promise对象,返回浏览器策略。 | 223 224**错误码**: 225 226以下错误码的详细介绍请参见[企业设备管理错误码](errorcode-enterpriseDeviceManager.md)和[通用错误码](../errorcode-universal.md)。 227 228| 错误码ID | 错误信息 | 229| ------- | ---------------------------------------------------------------------------- | 230| 9200001 | The application is not an administrator application of the device. | 231| 202 | Permission verification failed. A non-system application calls a system API. | 232| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 233 234**示例:** 235 236```ts 237import { browser } from '@kit.MDMKit'; 238import { Want } from '@kit.AbilityKit'; 239import { BusinessError } from '@kit.BasicServicesKit'; 240 241let wantTemp: Want = { 242 // 需根据实际情况进行替换 243 bundleName: 'com.example.myapplication', 244 abilityName: 'EntryAbility' 245}; 246// 此处参数appId的赋值应替换为开发者自己指定的浏览器的应用ID 247let appId: string = 'com.example.******_******/******5t5CoBM='; 248browser.getPolicies(wantTemp, appId).then((result) => { 249 console.info(`Succeeded in getting browser policies, result : ${JSON.stringify(result)}`); 250}).catch((err: BusinessError) => { 251 console.error(`Failed to get browser policies. Code is ${err.code}, message is ${err.message}`); 252}); 253``` 254