1e41f4b71Sopenharmony_ci# @ohos.account.osAccount (系统账号管理)(系统接口) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci本模块提供管理系统账号的基础能力,包括系统账号的添加、删除、查询、设置、订阅、启动等功能。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8e41f4b71Sopenharmony_ci> - 当前页面仅包含本模块的系统接口,其他公开接口参见[ohos.account.osAccount (系统账号管理)](js-apis-osAccount.md)。 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci## 导入模块 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci```ts 13e41f4b71Sopenharmony_ciimport { osAccount } from '@kit.BasicServicesKit'; 14e41f4b71Sopenharmony_ci``` 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci## AccountManager 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci系统账号管理类。 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci### activateOsAccount 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ciactivateOsAccount(localId: number, callback: AsyncCallback<void>): void 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci激活指定系统账号。使用callback异步回调。 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci**参数:** 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 35e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | -------------------------------------------------- | 36e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 37e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 回调函数。当账号激活成功时,err为null,否则为错误对象。 | 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci**错误码:** 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 42e41f4b71Sopenharmony_ci| -------- | ------------------- | 43e41f4b71Sopenharmony_ci| 201 | Permission denied.| 44e41f4b71Sopenharmony_ci| 202 | Not system application.| 45e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 46e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 47e41f4b71Sopenharmony_ci| 12300002 | Invalid localId. | 48e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 49e41f4b71Sopenharmony_ci| 12300008 | Restricted Account. | 50e41f4b71Sopenharmony_ci| 12300016 | The number of logged in accounts reaches the upper limit. | 51e41f4b71Sopenharmony_ci 52e41f4b71Sopenharmony_ci**示例:** 激活ID为100的系统账号 53e41f4b71Sopenharmony_ci ```ts 54e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 55e41f4b71Sopenharmony_ci let localId: number = 100; 56e41f4b71Sopenharmony_ci try { 57e41f4b71Sopenharmony_ci accountManager.activateOsAccount(localId, (err: BusinessError)=>{ 58e41f4b71Sopenharmony_ci if (err) { 59e41f4b71Sopenharmony_ci console.error(`activateOsAccount failed, code is ${err.code}, message is ${err.message}`); 60e41f4b71Sopenharmony_ci } else { 61e41f4b71Sopenharmony_ci console.log('activateOsAccount successfully'); 62e41f4b71Sopenharmony_ci } 63e41f4b71Sopenharmony_ci }); 64e41f4b71Sopenharmony_ci } catch (err) { 65e41f4b71Sopenharmony_ci console.log('activateOsAccount failed, error:' + JSON.stringify(err)); 66e41f4b71Sopenharmony_ci } 67e41f4b71Sopenharmony_ci ``` 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci### activateOsAccount 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ciactivateOsAccount(localId: number): Promise<void> 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci激活指定系统账号。使用Promise异步回调。 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci**参数:** 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 84e41f4b71Sopenharmony_ci| ------- | ------ | ---- | -------------------- | 85e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ci**返回值:** 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ci| 类型 | 说明 | 90e41f4b71Sopenharmony_ci| ------------------- | ------------------------------------ | 91e41f4b71Sopenharmony_ci| Promise<void> | Promise对象,无返回结果的Promise对象。 | 92e41f4b71Sopenharmony_ci 93e41f4b71Sopenharmony_ci**错误码:** 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 96e41f4b71Sopenharmony_ci| -------- | ------------------- | 97e41f4b71Sopenharmony_ci| 201 | Permission denied.| 98e41f4b71Sopenharmony_ci| 202 | Not system application.| 99e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 100e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 101e41f4b71Sopenharmony_ci| 12300002 | Invalid localId. | 102e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 103e41f4b71Sopenharmony_ci| 12300008 | Restricted Account. | 104e41f4b71Sopenharmony_ci| 12300016 | The number of logged in accounts reaches the upper limit. | 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci**示例:** 激活ID为100的系统账号 107e41f4b71Sopenharmony_ci ```ts 108e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 109e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 110e41f4b71Sopenharmony_ci let localId: number = 100; 111e41f4b71Sopenharmony_ci try { 112e41f4b71Sopenharmony_ci accountManager.activateOsAccount(localId).then(() => { 113e41f4b71Sopenharmony_ci console.log('activateOsAccount successfully'); 114e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 115e41f4b71Sopenharmony_ci console.log('activateOsAccount failed, err:' + JSON.stringify(err)); 116e41f4b71Sopenharmony_ci }); 117e41f4b71Sopenharmony_ci } catch (e) { 118e41f4b71Sopenharmony_ci console.log('activateOsAccount exception: ' + JSON.stringify(e)); 119e41f4b71Sopenharmony_ci } 120e41f4b71Sopenharmony_ci ``` 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci### deactivateOsAccount<sup>12+</sup> 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_cideactivateOsAccount(localId: number): Promise<void> 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ci注销(退出登录)指定系统账号。使用Promise异步回调。 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 129e41f4b71Sopenharmony_ci 130e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_ci**参数:** 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 137e41f4b71Sopenharmony_ci| ------- | ------ | ---- | -------------------- | 138e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci**返回值:** 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ci| 类型 | 说明 | 143e41f4b71Sopenharmony_ci| ------------------- | ------------------------------------ | 144e41f4b71Sopenharmony_ci| Promise<void> | Promise对象,无返回结果的Promise对象。 | 145e41f4b71Sopenharmony_ci 146e41f4b71Sopenharmony_ci**错误码:** 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 149e41f4b71Sopenharmony_ci| -------- | ------------------- | 150e41f4b71Sopenharmony_ci| 201 | Permission denied.| 151e41f4b71Sopenharmony_ci| 202 | Not system application.| 152e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 153e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 154e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 155e41f4b71Sopenharmony_ci| 12300008 | Restricted Account. | 156e41f4b71Sopenharmony_ci 157e41f4b71Sopenharmony_ci**示例:** 注销ID为100的系统账号 158e41f4b71Sopenharmony_ci ```ts 159e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 160e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 161e41f4b71Sopenharmony_ci let localId: number = 100; 162e41f4b71Sopenharmony_ci try { 163e41f4b71Sopenharmony_ci accountManager.deactivateOsAccount(localId).then(() => { 164e41f4b71Sopenharmony_ci console.log('deactivateOsAccount successfully'); 165e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 166e41f4b71Sopenharmony_ci console.log('deactivateOsAccount failed, err:' + JSON.stringify(err)); 167e41f4b71Sopenharmony_ci }); 168e41f4b71Sopenharmony_ci } catch (e) { 169e41f4b71Sopenharmony_ci console.log('deactivateOsAccount exception: ' + JSON.stringify(e)); 170e41f4b71Sopenharmony_ci } 171e41f4b71Sopenharmony_ci ``` 172e41f4b71Sopenharmony_ci 173e41f4b71Sopenharmony_ci### isOsAccountActivated<sup>11+</sup> 174e41f4b71Sopenharmony_ci 175e41f4b71Sopenharmony_ciisOsAccountActivated(localId: number): Promise<boolean> 176e41f4b71Sopenharmony_ci 177e41f4b71Sopenharmony_ci判断指定系统账号是否处于激活状态。使用Promise异步回调。 178e41f4b71Sopenharmony_ci 179e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 180e41f4b71Sopenharmony_ci 181e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS 182e41f4b71Sopenharmony_ci 183e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 184e41f4b71Sopenharmony_ci 185e41f4b71Sopenharmony_ci**参数:** 186e41f4b71Sopenharmony_ci 187e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 188e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------------- | 189e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 190e41f4b71Sopenharmony_ci 191e41f4b71Sopenharmony_ci**返回值:** 192e41f4b71Sopenharmony_ci 193e41f4b71Sopenharmony_ci| 类型 | 说明 | 194e41f4b71Sopenharmony_ci| ---------------------- | ---------------------------------------------------------- | 195e41f4b71Sopenharmony_ci| Promise<boolean> | Promise对象。返回true表示账号已激活;返回false表示账号未激活。 | 196e41f4b71Sopenharmony_ci 197e41f4b71Sopenharmony_ci**错误码:** 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 200e41f4b71Sopenharmony_ci| -------- | ------------------- | 201e41f4b71Sopenharmony_ci| 201 | Permission denied.| 202e41f4b71Sopenharmony_ci| 202 | Not system application.| 203e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 204e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 205e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 206e41f4b71Sopenharmony_ci 207e41f4b71Sopenharmony_ci**示例:** 判断ID为100的系统账号是否处于激活状态 208e41f4b71Sopenharmony_ci 209e41f4b71Sopenharmony_ci ```ts 210e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 211e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 212e41f4b71Sopenharmony_ci let localId: number = 100; 213e41f4b71Sopenharmony_ci try { 214e41f4b71Sopenharmony_ci accountManager.isOsAccountActivated(localId).then((isActivated: boolean) => { 215e41f4b71Sopenharmony_ci console.log('isOsAccountActivated successfully, isActivated: ' + isActivated); 216e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 217e41f4b71Sopenharmony_ci console.log('isOsAccountActivated failed, error: ' + JSON.stringify(err)); 218e41f4b71Sopenharmony_ci }); 219e41f4b71Sopenharmony_ci } catch (err) { 220e41f4b71Sopenharmony_ci console.log('isOsAccountActivated exception: ' + JSON.stringify(err)); 221e41f4b71Sopenharmony_ci } 222e41f4b71Sopenharmony_ci ``` 223e41f4b71Sopenharmony_ci 224e41f4b71Sopenharmony_ci### isOsAccountConstraintEnabled<sup>11+</sup> 225e41f4b71Sopenharmony_ci 226e41f4b71Sopenharmony_ciisOsAccountConstraintEnabled(localId: number, constraint: string): Promise<boolean> 227e41f4b71Sopenharmony_ci 228e41f4b71Sopenharmony_ci判断指定系统账号是否使能指定约束。使用Promise异步回调。 229e41f4b71Sopenharmony_ci 230e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS 233e41f4b71Sopenharmony_ci 234e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 235e41f4b71Sopenharmony_ci 236e41f4b71Sopenharmony_ci**参数:** 237e41f4b71Sopenharmony_ci 238e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 239e41f4b71Sopenharmony_ci| ---------- | ------ | ---- | ---------------------------------- | 240e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 241e41f4b71Sopenharmony_ci| constraint | string | 是 | 指定的[约束](js-apis-osAccount.md#系统账号约束列表)名称。 | 242e41f4b71Sopenharmony_ci 243e41f4b71Sopenharmony_ci**返回值:** 244e41f4b71Sopenharmony_ci 245e41f4b71Sopenharmony_ci| 类型 | 说明 | 246e41f4b71Sopenharmony_ci| --------------------- | --------------------------------------------------------------------- | 247e41f4b71Sopenharmony_ci| Promise<boolean> | Promise对象。返回true表示已使能指定的约束;返回false表示未使能指定的约束。 | 248e41f4b71Sopenharmony_ci 249e41f4b71Sopenharmony_ci**错误码:** 250e41f4b71Sopenharmony_ci 251e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 252e41f4b71Sopenharmony_ci| -------- | ------------------- | 253e41f4b71Sopenharmony_ci| 201 | Permission denied.| 254e41f4b71Sopenharmony_ci| 202 | Not system application.| 255e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 256e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 257e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 258e41f4b71Sopenharmony_ci 259e41f4b71Sopenharmony_ci**示例:** 判断ID为100的系统账号是否有禁止使用Wi-Fi的约束 260e41f4b71Sopenharmony_ci 261e41f4b71Sopenharmony_ci ```ts 262e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 263e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 264e41f4b71Sopenharmony_ci let localId: number = 100; 265e41f4b71Sopenharmony_ci let constraint: string = 'constraint.wifi'; 266e41f4b71Sopenharmony_ci try { 267e41f4b71Sopenharmony_ci accountManager.isOsAccountConstraintEnabled(localId, constraint).then((isEnabled: boolean) => { 268e41f4b71Sopenharmony_ci console.log('isOsAccountConstraintEnabled successfully, isEnabled: ' + isEnabled); 269e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 270e41f4b71Sopenharmony_ci console.log('isOsAccountConstraintEnabled failed, error: ' + JSON.stringify(err)); 271e41f4b71Sopenharmony_ci }); 272e41f4b71Sopenharmony_ci } catch (err) { 273e41f4b71Sopenharmony_ci console.log('isOsAccountConstraintEnabled exception: ' + JSON.stringify(err)); 274e41f4b71Sopenharmony_ci } 275e41f4b71Sopenharmony_ci ``` 276e41f4b71Sopenharmony_ci 277e41f4b71Sopenharmony_ci### isOsAccountUnlocked<sup>11+</sup> 278e41f4b71Sopenharmony_ci 279e41f4b71Sopenharmony_ciisOsAccountUnlocked(localId: number): Promise<boolean> 280e41f4b71Sopenharmony_ci 281e41f4b71Sopenharmony_ci检查指定系统账号是否已验证。使用Promise异步回调。 282e41f4b71Sopenharmony_ci 283e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 284e41f4b71Sopenharmony_ci 285e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS 286e41f4b71Sopenharmony_ci 287e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 288e41f4b71Sopenharmony_ci 289e41f4b71Sopenharmony_ci**参数:** 290e41f4b71Sopenharmony_ci 291e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 292e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------------------------------------------- | 293e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。不填则检查当前系统账号是否已验证。 | 294e41f4b71Sopenharmony_ci 295e41f4b71Sopenharmony_ci**返回值:** 296e41f4b71Sopenharmony_ci 297e41f4b71Sopenharmony_ci| 类型 | 说明 | 298e41f4b71Sopenharmony_ci| ---------------------- | ----------------------------------------------------------------- | 299e41f4b71Sopenharmony_ci| Promise<boolean> | Promise对象。返回true表示当前账号已认证解锁;返回false表示当前账号未认证解锁。 | 300e41f4b71Sopenharmony_ci 301e41f4b71Sopenharmony_ci**错误码:** 302e41f4b71Sopenharmony_ci 303e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 304e41f4b71Sopenharmony_ci| -------- | ------------------- | 305e41f4b71Sopenharmony_ci| 201 | Permission denied.| 306e41f4b71Sopenharmony_ci| 202 | Not system application.| 307e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 308e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 309e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 310e41f4b71Sopenharmony_ci 311e41f4b71Sopenharmony_ci**示例:** 312e41f4b71Sopenharmony_ci 313e41f4b71Sopenharmony_ci ```ts 314e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 315e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 316e41f4b71Sopenharmony_ci let localId: number = 100; 317e41f4b71Sopenharmony_ci try { 318e41f4b71Sopenharmony_ci accountManager.isOsAccountUnlocked(localId).then((isVerified: boolean) => { 319e41f4b71Sopenharmony_ci console.log('isOsAccountUnlocked successfully, isVerified: ' + isVerified); 320e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 321e41f4b71Sopenharmony_ci console.log('isOsAccountUnlocked failed, error: ' + JSON.stringify(err)); 322e41f4b71Sopenharmony_ci }); 323e41f4b71Sopenharmony_ci } catch (err) { 324e41f4b71Sopenharmony_ci console.log('isOsAccountUnlocked exception: ' + JSON.stringify(err)); 325e41f4b71Sopenharmony_ci } 326e41f4b71Sopenharmony_ci ``` 327e41f4b71Sopenharmony_ci 328e41f4b71Sopenharmony_ci### removeOsAccount 329e41f4b71Sopenharmony_ci 330e41f4b71Sopenharmony_ciremoveOsAccount(localId: number, callback: AsyncCallback<void>): void 331e41f4b71Sopenharmony_ci 332e41f4b71Sopenharmony_ci删除指定系统账号。使用callback异步回调。 333e41f4b71Sopenharmony_ci 334e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 335e41f4b71Sopenharmony_ci 336e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 337e41f4b71Sopenharmony_ci 338e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 339e41f4b71Sopenharmony_ci 340e41f4b71Sopenharmony_ci**参数:** 341e41f4b71Sopenharmony_ci 342e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 343e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | -------------------------------------------------- | 344e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 345e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 回调函数。如果删除账号成功,err为null,否则为错误对象。 | 346e41f4b71Sopenharmony_ci 347e41f4b71Sopenharmony_ci**错误码:** 348e41f4b71Sopenharmony_ci 349e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 350e41f4b71Sopenharmony_ci| -------- | ------------------- | 351e41f4b71Sopenharmony_ci| 201 | Permission denied.| 352e41f4b71Sopenharmony_ci| 202 | Not system application.| 353e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.| 354e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 355e41f4b71Sopenharmony_ci| 12300002 | Invalid localId. | 356e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 357e41f4b71Sopenharmony_ci| 12300008 | Restricted Account. | 358e41f4b71Sopenharmony_ci 359e41f4b71Sopenharmony_ci**示例:** 360e41f4b71Sopenharmony_ci 361e41f4b71Sopenharmony_ci ```ts 362e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 363e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 364e41f4b71Sopenharmony_ci let accountName: string = 'testAccountName'; 365e41f4b71Sopenharmony_ci try { 366e41f4b71Sopenharmony_ci accountManager.createOsAccount(accountName, osAccount.OsAccountType.NORMAL, 367e41f4b71Sopenharmony_ci (err: BusinessError, osAccountInfo: osAccount.OsAccountInfo) => { 368e41f4b71Sopenharmony_ci accountManager.removeOsAccount(osAccountInfo.localId, (err: BusinessError)=>{ 369e41f4b71Sopenharmony_ci if (err) { 370e41f4b71Sopenharmony_ci console.log('removeOsAccount failed, error: ' + JSON.stringify(err)); 371e41f4b71Sopenharmony_ci } else { 372e41f4b71Sopenharmony_ci console.log('removeOsAccount successfully'); 373e41f4b71Sopenharmony_ci } 374e41f4b71Sopenharmony_ci }); 375e41f4b71Sopenharmony_ci }); 376e41f4b71Sopenharmony_ci } catch (err) { 377e41f4b71Sopenharmony_ci console.log('removeOsAccount exception: ' + JSON.stringify(err)); 378e41f4b71Sopenharmony_ci } 379e41f4b71Sopenharmony_ci ``` 380e41f4b71Sopenharmony_ci 381e41f4b71Sopenharmony_ci### removeOsAccount 382e41f4b71Sopenharmony_ci 383e41f4b71Sopenharmony_ciremoveOsAccount(localId: number): Promise<void> 384e41f4b71Sopenharmony_ci 385e41f4b71Sopenharmony_ci删除指定系统账号。使用Promise异步回调。 386e41f4b71Sopenharmony_ci 387e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 388e41f4b71Sopenharmony_ci 389e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 390e41f4b71Sopenharmony_ci 391e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 392e41f4b71Sopenharmony_ci 393e41f4b71Sopenharmony_ci**参数:** 394e41f4b71Sopenharmony_ci 395e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 396e41f4b71Sopenharmony_ci| ------- | ------ | ---- | --------------------------------- | 397e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 398e41f4b71Sopenharmony_ci 399e41f4b71Sopenharmony_ci**返回值:** 400e41f4b71Sopenharmony_ci 401e41f4b71Sopenharmony_ci| 类型 | 说明 | 402e41f4b71Sopenharmony_ci| ------------------- | ------------------------------------ | 403e41f4b71Sopenharmony_ci| Promise<void> | Promise对象,无返回结果的Promise对象。 | 404e41f4b71Sopenharmony_ci 405e41f4b71Sopenharmony_ci**错误码:** 406e41f4b71Sopenharmony_ci 407e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 408e41f4b71Sopenharmony_ci| -------- | ------------------- | 409e41f4b71Sopenharmony_ci| 201 | Permission denied.| 410e41f4b71Sopenharmony_ci| 202 | Not system application.| 411e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.| 412e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 413e41f4b71Sopenharmony_ci| 12300002 | Invalid localId. | 414e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 415e41f4b71Sopenharmony_ci| 12300008 | Restricted Account. | 416e41f4b71Sopenharmony_ci 417e41f4b71Sopenharmony_ci**示例:** 418e41f4b71Sopenharmony_ci 419e41f4b71Sopenharmony_ci ```ts 420e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 421e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 422e41f4b71Sopenharmony_ci let accountName: string = 'testAccountName'; 423e41f4b71Sopenharmony_ci try { 424e41f4b71Sopenharmony_ci accountManager.createOsAccount(accountName, osAccount.OsAccountType.NORMAL, 425e41f4b71Sopenharmony_ci (err: BusinessError, osAccountInfo: osAccount.OsAccountInfo)=>{ 426e41f4b71Sopenharmony_ci accountManager.removeOsAccount(osAccountInfo.localId).then(() => { 427e41f4b71Sopenharmony_ci console.log('removeOsAccount successfully'); 428e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 429e41f4b71Sopenharmony_ci console.log('removeOsAccount failed, error: ' + JSON.stringify(err)); 430e41f4b71Sopenharmony_ci }); 431e41f4b71Sopenharmony_ci }); 432e41f4b71Sopenharmony_ci } catch (err) { 433e41f4b71Sopenharmony_ci console.log('removeOsAccount exception: ' + JSON.stringify(err)); 434e41f4b71Sopenharmony_ci } 435e41f4b71Sopenharmony_ci ``` 436e41f4b71Sopenharmony_ci 437e41f4b71Sopenharmony_ci### setOsAccountConstraints 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_cisetOsAccountConstraints(localId: number, constraints: Array<string>, enable: boolean,callback: AsyncCallback<void>): void 440e41f4b71Sopenharmony_ci 441e41f4b71Sopenharmony_ci为指定系统账号设置/删除约束。使用callback异步回调。 442e41f4b71Sopenharmony_ci 443e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 444e41f4b71Sopenharmony_ci 445e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 446e41f4b71Sopenharmony_ci 447e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 448e41f4b71Sopenharmony_ci 449e41f4b71Sopenharmony_ci**参数:** 450e41f4b71Sopenharmony_ci 451e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 452e41f4b71Sopenharmony_ci| ----------- | ------------------------- | ---- | ----------------------------------------------- | 453e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 454e41f4b71Sopenharmony_ci| constraints | Array<string> | 是 | 待设置/删除的[约束](js-apis-osAccount.md#系统账号约束列表)列表。 | 455e41f4b71Sopenharmony_ci| enable | boolean | 是 | 设置(true)/删除(false) | 456e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 回调函数。如果设置成功,err为null,否则为错误对象。 | 457e41f4b71Sopenharmony_ci 458e41f4b71Sopenharmony_ci**错误码:** 459e41f4b71Sopenharmony_ci 460e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 461e41f4b71Sopenharmony_ci| -------- | ------------------- | 462e41f4b71Sopenharmony_ci| 201 | Permission denied.| 463e41f4b71Sopenharmony_ci| 202 | Not system application.| 464e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.| 465e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 466e41f4b71Sopenharmony_ci| 12300002 | Invalid localId or constraints. | 467e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 468e41f4b71Sopenharmony_ci| 12300008 | Restricted Account. | 469e41f4b71Sopenharmony_ci 470e41f4b71Sopenharmony_ci**示例:** 给ID为100的系统账号设置禁止使用Wi-Fi的约束 471e41f4b71Sopenharmony_ci 472e41f4b71Sopenharmony_ci ```ts 473e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 474e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 475e41f4b71Sopenharmony_ci let localId: number = 100; 476e41f4b71Sopenharmony_ci let constraint: string = 'constraint.wifi'; 477e41f4b71Sopenharmony_ci try { 478e41f4b71Sopenharmony_ci accountManager.setOsAccountConstraints(localId, [constraint], true, (err: BusinessError) => { 479e41f4b71Sopenharmony_ci if (err) { 480e41f4b71Sopenharmony_ci console.log('setOsAccountConstraints failed, error: ' + JSON.stringify(err)); 481e41f4b71Sopenharmony_ci } else { 482e41f4b71Sopenharmony_ci console.log('setOsAccountConstraints successfully'); 483e41f4b71Sopenharmony_ci } 484e41f4b71Sopenharmony_ci }); 485e41f4b71Sopenharmony_ci } catch (err) { 486e41f4b71Sopenharmony_ci console.log('setOsAccountConstraints exception: ' + JSON.stringify(err)); 487e41f4b71Sopenharmony_ci } 488e41f4b71Sopenharmony_ci ``` 489e41f4b71Sopenharmony_ci 490e41f4b71Sopenharmony_ci### setOsAccountConstraints 491e41f4b71Sopenharmony_ci 492e41f4b71Sopenharmony_cisetOsAccountConstraints(localId: number, constraints: Array<string>, enable: boolean): Promise<void> 493e41f4b71Sopenharmony_ci 494e41f4b71Sopenharmony_ci为指定系统账号设置/删除约束。使用Promise异步回调。 495e41f4b71Sopenharmony_ci 496e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 497e41f4b71Sopenharmony_ci 498e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 499e41f4b71Sopenharmony_ci 500e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 501e41f4b71Sopenharmony_ci 502e41f4b71Sopenharmony_ci**参数:** 503e41f4b71Sopenharmony_ci 504e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 505e41f4b71Sopenharmony_ci| ----------- | ------------------- | ---- | -------------------------------------------- | 506e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 507e41f4b71Sopenharmony_ci| constraints | Array<string> | 是 | 待设置/删除的[约束](js-apis-osAccount.md#系统账号约束列表)列表。 | 508e41f4b71Sopenharmony_ci| enable | boolean | 是 | 设置(true)/删除(false)。 | 509e41f4b71Sopenharmony_ci 510e41f4b71Sopenharmony_ci**返回值:** 511e41f4b71Sopenharmony_ci 512e41f4b71Sopenharmony_ci| 类型 | 说明 | 513e41f4b71Sopenharmony_ci| :------------------ | :----------------------------------- | 514e41f4b71Sopenharmony_ci| Promise<void> | Promise对象,无返回结果的Promise对象。 | 515e41f4b71Sopenharmony_ci 516e41f4b71Sopenharmony_ci**错误码:** 517e41f4b71Sopenharmony_ci 518e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 519e41f4b71Sopenharmony_ci| -------- | ------------------- | 520e41f4b71Sopenharmony_ci| 201 | Permission denied.| 521e41f4b71Sopenharmony_ci| 202 | Not system application.| 522e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.| 523e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 524e41f4b71Sopenharmony_ci| 12300002 | Invalid localId or constraints. | 525e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 526e41f4b71Sopenharmony_ci| 12300008 | Restricted Account. | 527e41f4b71Sopenharmony_ci 528e41f4b71Sopenharmony_ci**示例:** 删除ID为100的系统账号的禁止使用Wi-Fi的约束 529e41f4b71Sopenharmony_ci 530e41f4b71Sopenharmony_ci ```ts 531e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 532e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 533e41f4b71Sopenharmony_ci let localId: number = 100; 534e41f4b71Sopenharmony_ci try { 535e41f4b71Sopenharmony_ci accountManager.setOsAccountConstraints(localId, ['constraint.location.set'], false).then(() => { 536e41f4b71Sopenharmony_ci console.log('setOsAccountConstraints succsuccessfully'); 537e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 538e41f4b71Sopenharmony_ci console.log('setOsAccountConstraints failed, error: ' + JSON.stringify(err)); 539e41f4b71Sopenharmony_ci }); 540e41f4b71Sopenharmony_ci } catch (err) { 541e41f4b71Sopenharmony_ci console.log('setOsAccountConstraints exception: ' + JSON.stringify(err)); 542e41f4b71Sopenharmony_ci } 543e41f4b71Sopenharmony_ci ``` 544e41f4b71Sopenharmony_ci 545e41f4b71Sopenharmony_ci### setOsAccountName 546e41f4b71Sopenharmony_ci 547e41f4b71Sopenharmony_cisetOsAccountName(localId: number, localName: string, callback: AsyncCallback<void>): void 548e41f4b71Sopenharmony_ci 549e41f4b71Sopenharmony_ci设置指定系统账号的账号名。使用callback异步回调。 550e41f4b71Sopenharmony_ci 551e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 552e41f4b71Sopenharmony_ci 553e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 554e41f4b71Sopenharmony_ci 555e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 556e41f4b71Sopenharmony_ci 557e41f4b71Sopenharmony_ci**参数:** 558e41f4b71Sopenharmony_ci 559e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 560e41f4b71Sopenharmony_ci| :-------- | ------------------------- | ---- | ----------------------------------------------- | 561e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 562e41f4b71Sopenharmony_ci| localName | string | 是 | 账号名,最大长度为1024个字符。 | 563e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 回调函数。如果设置成功,err为null,否则为错误对象。 | 564e41f4b71Sopenharmony_ci 565e41f4b71Sopenharmony_ci**错误码:** 566e41f4b71Sopenharmony_ci 567e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 568e41f4b71Sopenharmony_ci| -------- | ------------------- | 569e41f4b71Sopenharmony_ci| 201 | Permission denied.| 570e41f4b71Sopenharmony_ci| 202 | Not system application.| 571e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.| 572e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 573e41f4b71Sopenharmony_ci| 12300002 | Invalid localId or localName. | 574e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 575e41f4b71Sopenharmony_ci| 12300008 | Restricted Account. | 576e41f4b71Sopenharmony_ci 577e41f4b71Sopenharmony_ci**示例:** 将ID为100的系统账号的账号名设置成demoName 578e41f4b71Sopenharmony_ci 579e41f4b71Sopenharmony_ci ```ts 580e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 581e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 582e41f4b71Sopenharmony_ci let localId: number = 100; 583e41f4b71Sopenharmony_ci let name: string = 'demoName'; 584e41f4b71Sopenharmony_ci try { 585e41f4b71Sopenharmony_ci accountManager.setOsAccountName(localId, name, (err: BusinessError) => { 586e41f4b71Sopenharmony_ci if (err) { 587e41f4b71Sopenharmony_ci console.log('setOsAccountName failed, error: ' + JSON.stringify(err)); 588e41f4b71Sopenharmony_ci } else { 589e41f4b71Sopenharmony_ci console.log('setOsAccountName successfully'); 590e41f4b71Sopenharmony_ci } 591e41f4b71Sopenharmony_ci }); 592e41f4b71Sopenharmony_ci } catch (err) { 593e41f4b71Sopenharmony_ci console.log('setOsAccountName exception: ' + JSON.stringify(err)); 594e41f4b71Sopenharmony_ci } 595e41f4b71Sopenharmony_ci ``` 596e41f4b71Sopenharmony_ci 597e41f4b71Sopenharmony_ci### setOsAccountName 598e41f4b71Sopenharmony_ci 599e41f4b71Sopenharmony_cisetOsAccountName(localId: number, localName: string): Promise<void> 600e41f4b71Sopenharmony_ci 601e41f4b71Sopenharmony_ci设置指定系统账号的账号名。使用Promise异步调用。 602e41f4b71Sopenharmony_ci 603e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 604e41f4b71Sopenharmony_ci 605e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 606e41f4b71Sopenharmony_ci 607e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 608e41f4b71Sopenharmony_ci 609e41f4b71Sopenharmony_ci**参数:** 610e41f4b71Sopenharmony_ci 611e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 612e41f4b71Sopenharmony_ci| --------- | ------ | ---- | --------------------------------- | 613e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 614e41f4b71Sopenharmony_ci| localName | string | 是 | 账号名,最大长度为1024。 | 615e41f4b71Sopenharmony_ci 616e41f4b71Sopenharmony_ci**返回值:** 617e41f4b71Sopenharmony_ci 618e41f4b71Sopenharmony_ci| 类型 | 说明 | 619e41f4b71Sopenharmony_ci| ------------------- | ------------------------------------ | 620e41f4b71Sopenharmony_ci| Promise<void> | Promise对象,无返回结果的Promise对象。 | 621e41f4b71Sopenharmony_ci 622e41f4b71Sopenharmony_ci**错误码:** 623e41f4b71Sopenharmony_ci 624e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 625e41f4b71Sopenharmony_ci| -------- | ------------------- | 626e41f4b71Sopenharmony_ci| 201 | Permission denied.| 627e41f4b71Sopenharmony_ci| 202 | Not system application.| 628e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.| 629e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 630e41f4b71Sopenharmony_ci| 12300002 | Invalid localId or localName. | 631e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 632e41f4b71Sopenharmony_ci| 12300008 | Restricted Account. | 633e41f4b71Sopenharmony_ci 634e41f4b71Sopenharmony_ci**示例:** 将ID为100的系统账号的账号名设置成demoName 635e41f4b71Sopenharmony_ci 636e41f4b71Sopenharmony_ci ```ts 637e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 638e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 639e41f4b71Sopenharmony_ci let localId: number = 100; 640e41f4b71Sopenharmony_ci let name: string = 'testName'; 641e41f4b71Sopenharmony_ci try { 642e41f4b71Sopenharmony_ci accountManager.setOsAccountName(localId, name).then(() => { 643e41f4b71Sopenharmony_ci console.log('setOsAccountName successfully'); 644e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 645e41f4b71Sopenharmony_ci console.log('setOsAccountName failed, error: ' + JSON.stringify(err)); 646e41f4b71Sopenharmony_ci }); 647e41f4b71Sopenharmony_ci } catch (err) { 648e41f4b71Sopenharmony_ci console.log('setOsAccountName exception: ' + JSON.stringify(err)); 649e41f4b71Sopenharmony_ci } 650e41f4b71Sopenharmony_ci ``` 651e41f4b71Sopenharmony_ci 652e41f4b71Sopenharmony_ci### queryMaxOsAccountNumber 653e41f4b71Sopenharmony_ci 654e41f4b71Sopenharmony_ciqueryMaxOsAccountNumber(callback: AsyncCallback<number>): void 655e41f4b71Sopenharmony_ci 656e41f4b71Sopenharmony_ci查询允许创建的系统账号的最大数量。使用callback异步回调。 657e41f4b71Sopenharmony_ci 658e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 659e41f4b71Sopenharmony_ci 660e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 661e41f4b71Sopenharmony_ci 662e41f4b71Sopenharmony_ci**参数:** 663e41f4b71Sopenharmony_ci 664e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 665e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | -------------------------------------------------------------------------------- | 666e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | 是 | 回调函数,如果查询成功,err为null,data为允许创建的系统账号的最大数量;否则为错误对象。 | 667e41f4b71Sopenharmony_ci 668e41f4b71Sopenharmony_ci**错误码:** 669e41f4b71Sopenharmony_ci 670e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 671e41f4b71Sopenharmony_ci| -------- | ------------- | 672e41f4b71Sopenharmony_ci| 202 | Not system application.| 673e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.| 674e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 675e41f4b71Sopenharmony_ci 676e41f4b71Sopenharmony_ci**示例:** 677e41f4b71Sopenharmony_ci 678e41f4b71Sopenharmony_ci ```ts 679e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 680e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 681e41f4b71Sopenharmony_ci try { 682e41f4b71Sopenharmony_ci accountManager.queryMaxOsAccountNumber((err: BusinessError, maxCnt: number) => { 683e41f4b71Sopenharmony_ci if (err) { 684e41f4b71Sopenharmony_ci console.log('queryMaxOsAccountNumber failed, error:' + JSON.stringify(err)); 685e41f4b71Sopenharmony_ci } else { 686e41f4b71Sopenharmony_ci console.log('queryMaxOsAccountNumber successfully, maxCnt:' + maxCnt); 687e41f4b71Sopenharmony_ci } 688e41f4b71Sopenharmony_ci }); 689e41f4b71Sopenharmony_ci } catch (err) { 690e41f4b71Sopenharmony_ci console.log('queryMaxOsAccountNumber exception: ' + JSON.stringify(err)); 691e41f4b71Sopenharmony_ci } 692e41f4b71Sopenharmony_ci ``` 693e41f4b71Sopenharmony_ci 694e41f4b71Sopenharmony_ci### queryMaxOsAccountNumber 695e41f4b71Sopenharmony_ci 696e41f4b71Sopenharmony_ciqueryMaxOsAccountNumber(): Promise<number> 697e41f4b71Sopenharmony_ci 698e41f4b71Sopenharmony_ci查询允许创建的系统账号的最大数量。使用Promise异步回调。 699e41f4b71Sopenharmony_ci 700e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 701e41f4b71Sopenharmony_ci 702e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 703e41f4b71Sopenharmony_ci 704e41f4b71Sopenharmony_ci**返回值:** 705e41f4b71Sopenharmony_ci 706e41f4b71Sopenharmony_ci| 类型 | 说明 | 707e41f4b71Sopenharmony_ci| --------------------- | ------------------------------------------- | 708e41f4b71Sopenharmony_ci| Promise<number> | Promise对象,返回允许创建的系统账号的最大数量。 | 709e41f4b71Sopenharmony_ci 710e41f4b71Sopenharmony_ci**错误码:** 711e41f4b71Sopenharmony_ci 712e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 713e41f4b71Sopenharmony_ci| -------- | ------------- | 714e41f4b71Sopenharmony_ci| 202 | Not system application.| 715e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 716e41f4b71Sopenharmony_ci 717e41f4b71Sopenharmony_ci**示例:** 718e41f4b71Sopenharmony_ci 719e41f4b71Sopenharmony_ci ```ts 720e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 721e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 722e41f4b71Sopenharmony_ci try { 723e41f4b71Sopenharmony_ci accountManager.queryMaxOsAccountNumber().then((maxCnt: number) => { 724e41f4b71Sopenharmony_ci console.log('queryMaxOsAccountNumber successfully, maxCnt: ' + maxCnt); 725e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 726e41f4b71Sopenharmony_ci console.log('queryMaxOsAccountNumber failed, error: ' + JSON.stringify(err)); 727e41f4b71Sopenharmony_ci }); 728e41f4b71Sopenharmony_ci } catch (err) { 729e41f4b71Sopenharmony_ci console.log('queryMaxOsAccountNumber exception: ' + JSON.stringify(err)); 730e41f4b71Sopenharmony_ci } 731e41f4b71Sopenharmony_ci ``` 732e41f4b71Sopenharmony_ci 733e41f4b71Sopenharmony_ci### queryMaxLoggedInOsAccountNumber<sup>12+</sup> 734e41f4b71Sopenharmony_ci 735e41f4b71Sopenharmony_ciqueryMaxLoggedInOsAccountNumber(): Promise<number> 736e41f4b71Sopenharmony_ci 737e41f4b71Sopenharmony_ci查询允许同时登录的系统账号的最大数量。使用Promise异步回调。 738e41f4b71Sopenharmony_ci 739e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 740e41f4b71Sopenharmony_ci 741e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 742e41f4b71Sopenharmony_ci 743e41f4b71Sopenharmony_ci**返回值:** 744e41f4b71Sopenharmony_ci 745e41f4b71Sopenharmony_ci| 类型 | 说明 | 746e41f4b71Sopenharmony_ci| --------------------- | ------------------------------------------- | 747e41f4b71Sopenharmony_ci| Promise<number> | Promise对象,返回允许登录的系统账号的最大数量。 | 748e41f4b71Sopenharmony_ci 749e41f4b71Sopenharmony_ci**错误码:** 750e41f4b71Sopenharmony_ci 751e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 752e41f4b71Sopenharmony_ci| -------- | ------------- | 753e41f4b71Sopenharmony_ci| 202 | Not system application.| 754e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 755e41f4b71Sopenharmony_ci 756e41f4b71Sopenharmony_ci**示例:** 757e41f4b71Sopenharmony_ci 758e41f4b71Sopenharmony_ci ```ts 759e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 760e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 761e41f4b71Sopenharmony_ci try { 762e41f4b71Sopenharmony_ci accountManager.queryMaxLoggedInOsAccountNumber().then((maxNum: number) => { 763e41f4b71Sopenharmony_ci console.log('queryMaxLoggedInOsAccountNumber successfully, maxNum: ' + maxNum); 764e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 765e41f4b71Sopenharmony_ci console.log('queryMaxLoggedInOsAccountNumber failed, error: ' + JSON.stringify(err)); 766e41f4b71Sopenharmony_ci }); 767e41f4b71Sopenharmony_ci } catch (err) { 768e41f4b71Sopenharmony_ci console.log('queryMaxLoggedInOsAccountNumber exception: ' + JSON.stringify(err)); 769e41f4b71Sopenharmony_ci } 770e41f4b71Sopenharmony_ci ``` 771e41f4b71Sopenharmony_ci 772e41f4b71Sopenharmony_ci### getEnabledOsAccountConstraints<sup>11+</sup> 773e41f4b71Sopenharmony_ci 774e41f4b71Sopenharmony_cigetEnabledOsAccountConstraints(localId: number): Promise<Array<string>> 775e41f4b71Sopenharmony_ci 776e41f4b71Sopenharmony_ci获取指定系统账号已使能的的全部约束。使用Promise异步回调。 777e41f4b71Sopenharmony_ci 778e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 779e41f4b71Sopenharmony_ci 780e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS 781e41f4b71Sopenharmony_ci 782e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 783e41f4b71Sopenharmony_ci 784e41f4b71Sopenharmony_ci**参数:** 785e41f4b71Sopenharmony_ci 786e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 787e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------ | 788e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 789e41f4b71Sopenharmony_ci 790e41f4b71Sopenharmony_ci**返回值:** 791e41f4b71Sopenharmony_ci 792e41f4b71Sopenharmony_ci| 类型 | 说明 | 793e41f4b71Sopenharmony_ci| ---------------------------------- | ---------------------------------------------------------- | 794e41f4b71Sopenharmony_ci| Promise<Array<string>> | Promise对象,返回指定系统账号已使能的的全部[约束](js-apis-osAccount.md#系统账号约束列表)。 | 795e41f4b71Sopenharmony_ci 796e41f4b71Sopenharmony_ci**错误码:** 797e41f4b71Sopenharmony_ci 798e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 799e41f4b71Sopenharmony_ci| -------- | ------------------- | 800e41f4b71Sopenharmony_ci| 201 | Permission denied.| 801e41f4b71Sopenharmony_ci| 202 | Not system application.| 802e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.| 803e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 804e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 805e41f4b71Sopenharmony_ci 806e41f4b71Sopenharmony_ci**示例:** 获取ID为100的系统账号的全部约束 807e41f4b71Sopenharmony_ci 808e41f4b71Sopenharmony_ci ```ts 809e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 810e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 811e41f4b71Sopenharmony_ci let localId: number = 100; 812e41f4b71Sopenharmony_ci try { 813e41f4b71Sopenharmony_ci accountManager.getEnabledOsAccountConstraints(localId).then((constraints: string[]) => { 814e41f4b71Sopenharmony_ci console.log('getEnabledOsAccountConstraints, constraints: ' + constraints); 815e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 816e41f4b71Sopenharmony_ci console.log('getEnabledOsAccountConstraints err: ' + JSON.stringify(err)); 817e41f4b71Sopenharmony_ci }); 818e41f4b71Sopenharmony_ci } catch (e) { 819e41f4b71Sopenharmony_ci console.log('getEnabledOsAccountConstraints exception: ' + JSON.stringify(e)); 820e41f4b71Sopenharmony_ci } 821e41f4b71Sopenharmony_ci ``` 822e41f4b71Sopenharmony_ci 823e41f4b71Sopenharmony_ci### queryAllCreatedOsAccounts 824e41f4b71Sopenharmony_ci 825e41f4b71Sopenharmony_ciqueryAllCreatedOsAccounts(callback: AsyncCallback<Array<OsAccountInfo>>): void 826e41f4b71Sopenharmony_ci 827e41f4b71Sopenharmony_ci查询已创建的所有系统账号的信息列表。使用callback异步回调。 828e41f4b71Sopenharmony_ci 829e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 830e41f4b71Sopenharmony_ci 831e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 832e41f4b71Sopenharmony_ci 833e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 834e41f4b71Sopenharmony_ci 835e41f4b71Sopenharmony_ci**参数:** 836e41f4b71Sopenharmony_ci 837e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 838e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ | ---- | -------------------------------------------------- | 839e41f4b71Sopenharmony_ci| callback | AsyncCallback<Array<[OsAccountInfo](js-apis-osAccount.md#osaccountinfo)>> | 是 | 回调函数。如果查询成功,err为null,data为已创建的所有系统账号的信息列表;否则为错误对象。 | 840e41f4b71Sopenharmony_ci 841e41f4b71Sopenharmony_ci**错误码:** 842e41f4b71Sopenharmony_ci 843e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 844e41f4b71Sopenharmony_ci| -------- | ------------- | 845e41f4b71Sopenharmony_ci| 201 | Permission denied.| 846e41f4b71Sopenharmony_ci| 202 | Not system application.| 847e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.| 848e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 849e41f4b71Sopenharmony_ci 850e41f4b71Sopenharmony_ci**示例:** 851e41f4b71Sopenharmony_ci 852e41f4b71Sopenharmony_ci ```ts 853e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 854e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 855e41f4b71Sopenharmony_ci try { 856e41f4b71Sopenharmony_ci accountManager.queryAllCreatedOsAccounts((err: BusinessError, accountArr: osAccount.OsAccountInfo[])=>{ 857e41f4b71Sopenharmony_ci console.log('queryAllCreatedOsAccounts err:' + JSON.stringify(err)); 858e41f4b71Sopenharmony_ci console.log('queryAllCreatedOsAccounts accountArr:' + JSON.stringify(accountArr)); 859e41f4b71Sopenharmony_ci }); 860e41f4b71Sopenharmony_ci } catch (e) { 861e41f4b71Sopenharmony_ci console.log('queryAllCreatedOsAccounts exception: ' + JSON.stringify(e)); 862e41f4b71Sopenharmony_ci } 863e41f4b71Sopenharmony_ci ``` 864e41f4b71Sopenharmony_ci 865e41f4b71Sopenharmony_ci### queryAllCreatedOsAccounts 866e41f4b71Sopenharmony_ci 867e41f4b71Sopenharmony_ciqueryAllCreatedOsAccounts(): Promise<Array<OsAccountInfo>> 868e41f4b71Sopenharmony_ci 869e41f4b71Sopenharmony_ci查询已创建的所有系统账号的信息列表。使用Promise异步回调。 870e41f4b71Sopenharmony_ci 871e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 872e41f4b71Sopenharmony_ci 873e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 874e41f4b71Sopenharmony_ci 875e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 876e41f4b71Sopenharmony_ci 877e41f4b71Sopenharmony_ci**返回值:** 878e41f4b71Sopenharmony_ci 879e41f4b71Sopenharmony_ci| 类型 | 说明 | 880e41f4b71Sopenharmony_ci| ----------------------------------------------------------- | --------------------------------------------- | 881e41f4b71Sopenharmony_ci| Promise<Array<[OsAccountInfo](js-apis-osAccount.md#osaccountinfo)>> | Promise对象,返回已创建的所有系统账号的信息列表。 | 882e41f4b71Sopenharmony_ci 883e41f4b71Sopenharmony_ci**错误码:** 884e41f4b71Sopenharmony_ci 885e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 886e41f4b71Sopenharmony_ci| -------- | ------------- | 887e41f4b71Sopenharmony_ci| 201 | Permission denied.| 888e41f4b71Sopenharmony_ci| 202 | Not system application.| 889e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 890e41f4b71Sopenharmony_ci 891e41f4b71Sopenharmony_ci**示例:** 892e41f4b71Sopenharmony_ci 893e41f4b71Sopenharmony_ci ```ts 894e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 895e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 896e41f4b71Sopenharmony_ci try { 897e41f4b71Sopenharmony_ci accountManager.queryAllCreatedOsAccounts().then((accountArr: osAccount.OsAccountInfo[]) => { 898e41f4b71Sopenharmony_ci console.log('queryAllCreatedOsAccounts, accountArr: ' + JSON.stringify(accountArr)); 899e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 900e41f4b71Sopenharmony_ci console.log('queryAllCreatedOsAccounts err: ' + JSON.stringify(err)); 901e41f4b71Sopenharmony_ci }); 902e41f4b71Sopenharmony_ci } catch (e) { 903e41f4b71Sopenharmony_ci console.log('queryAllCreatedOsAccounts exception: ' + JSON.stringify(e)); 904e41f4b71Sopenharmony_ci } 905e41f4b71Sopenharmony_ci ``` 906e41f4b71Sopenharmony_ci 907e41f4b71Sopenharmony_ci### getForegroundOsAccountLocalId<sup>12+</sup> 908e41f4b71Sopenharmony_ci 909e41f4b71Sopenharmony_cigetForegroundOsAccountLocalId(): Promise<number>; 910e41f4b71Sopenharmony_ci 911e41f4b71Sopenharmony_ci获取前台系统账号的ID。 912e41f4b71Sopenharmony_ci 913e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 914e41f4b71Sopenharmony_ci 915e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 916e41f4b71Sopenharmony_ci 917e41f4b71Sopenharmony_ci**返回值:** 918e41f4b71Sopenharmony_ci 919e41f4b71Sopenharmony_ci| 类型 | 说明 | 920e41f4b71Sopenharmony_ci| ---------------------- | ----------------------------------------------------------------- | 921e41f4b71Sopenharmony_ci| Promise<number> | Promise对象。返回前台系统账号的ID。 | 922e41f4b71Sopenharmony_ci 923e41f4b71Sopenharmony_ci**错误码:** 924e41f4b71Sopenharmony_ci 925e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 926e41f4b71Sopenharmony_ci| -------- | ------------- | 927e41f4b71Sopenharmony_ci| 202 | Not system application.| 928e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 929e41f4b71Sopenharmony_ci 930e41f4b71Sopenharmony_ci**示例:** 931e41f4b71Sopenharmony_ci 932e41f4b71Sopenharmony_ci ```ts 933e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 934e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 935e41f4b71Sopenharmony_ci try { 936e41f4b71Sopenharmony_ci accountManager.getForegroundOsAccountLocalId().then((localId: number) => { 937e41f4b71Sopenharmony_ci console.log('getForegroundOsAccountLocalId, localId: ' + localId); 938e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 939e41f4b71Sopenharmony_ci console.log('getForegroundOsAccountLocalId err: ' + JSON.stringify(err)); 940e41f4b71Sopenharmony_ci }); 941e41f4b71Sopenharmony_ci } catch (e) { 942e41f4b71Sopenharmony_ci console.log('getForegroundOsAccountLocalId exception: ' + JSON.stringify(e)); 943e41f4b71Sopenharmony_ci } 944e41f4b71Sopenharmony_ci ``` 945e41f4b71Sopenharmony_ci 946e41f4b71Sopenharmony_ci### createOsAccount 947e41f4b71Sopenharmony_ci 948e41f4b71Sopenharmony_cicreateOsAccount(localName: string, type: OsAccountType, callback: AsyncCallback<OsAccountInfo>): void 949e41f4b71Sopenharmony_ci 950e41f4b71Sopenharmony_ci创建一个系统账号。使用callback异步回调。 951e41f4b71Sopenharmony_ci 952e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 953e41f4b71Sopenharmony_ci 954e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 955e41f4b71Sopenharmony_ci 956e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 957e41f4b71Sopenharmony_ci 958e41f4b71Sopenharmony_ci**参数:** 959e41f4b71Sopenharmony_ci 960e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 961e41f4b71Sopenharmony_ci| :-------- | ---------------------------------------------------- | ---- | --------------------------------------------------------------------------- | 962e41f4b71Sopenharmony_ci| localName | string | 是 | 创建的系统账号的名称。 | 963e41f4b71Sopenharmony_ci| type | [OsAccountType](js-apis-osAccount.md#osaccounttype) | 是 | 创建的系统账号的类型。 | 964e41f4b71Sopenharmony_ci| callback | AsyncCallback<[OsAccountInfo](js-apis-osAccount.md#osaccountinfo)> | 是 | 回调函数。如果创建成功,err为null,data为新创建的系统账号的信息;否则为错误对象。 | 965e41f4b71Sopenharmony_ci 966e41f4b71Sopenharmony_ci**错误码:** 967e41f4b71Sopenharmony_ci 968e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 969e41f4b71Sopenharmony_ci| -------- | ------------------------- | 970e41f4b71Sopenharmony_ci| 201 | Permission denied.| 971e41f4b71Sopenharmony_ci| 202 | Not system application.| 972e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 973e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 974e41f4b71Sopenharmony_ci| 12300002 | Invalid localName or type. | 975e41f4b71Sopenharmony_ci| 12300004 | Local name already exists. | 976e41f4b71Sopenharmony_ci| 12300005 | Multi-user not supported. | 977e41f4b71Sopenharmony_ci| 12300006 | Unsupported account type. | 978e41f4b71Sopenharmony_ci| 12300007 | The number of accounts has reached the upper limit. | 979e41f4b71Sopenharmony_ci 980e41f4b71Sopenharmony_ci**示例:** 981e41f4b71Sopenharmony_ci 982e41f4b71Sopenharmony_ci ```ts 983e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 984e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 985e41f4b71Sopenharmony_ci try { 986e41f4b71Sopenharmony_ci accountManager.createOsAccount('testName', osAccount.OsAccountType.NORMAL, 987e41f4b71Sopenharmony_ci (err: BusinessError, osAccountInfo: osAccount.OsAccountInfo)=>{ 988e41f4b71Sopenharmony_ci console.log('createOsAccount err:' + JSON.stringify(err)); 989e41f4b71Sopenharmony_ci console.log('createOsAccount osAccountInfo:' + JSON.stringify(osAccountInfo)); 990e41f4b71Sopenharmony_ci }); 991e41f4b71Sopenharmony_ci } catch (e) { 992e41f4b71Sopenharmony_ci console.log('createOsAccount exception: ' + JSON.stringify(e)); 993e41f4b71Sopenharmony_ci } 994e41f4b71Sopenharmony_ci ``` 995e41f4b71Sopenharmony_ci 996e41f4b71Sopenharmony_ci### createOsAccount 997e41f4b71Sopenharmony_ci 998e41f4b71Sopenharmony_cicreateOsAccount(localName: string, type: OsAccountType, options?: CreateOsAccountOptions): Promise<OsAccountInfo> 999e41f4b71Sopenharmony_ci 1000e41f4b71Sopenharmony_ci创建一个系统账号。使用Promise异步回调。 1001e41f4b71Sopenharmony_ci 1002e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1003e41f4b71Sopenharmony_ci 1004e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1005e41f4b71Sopenharmony_ci 1006e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1007e41f4b71Sopenharmony_ci 1008e41f4b71Sopenharmony_ci**参数:** 1009e41f4b71Sopenharmony_ci 1010e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1011e41f4b71Sopenharmony_ci| --------- | ------------------------------- | ---- | ---------------------- | 1012e41f4b71Sopenharmony_ci| localName | string | 是 | 创建的系统账号的名称。 | 1013e41f4b71Sopenharmony_ci| type | [OsAccountType](js-apis-osAccount.md#osaccounttype) | 是 | 创建的系统账号的类型。 | 1014e41f4b71Sopenharmony_ci| options | [CreateOsAccountOptions](js-apis-osAccount-sys.md#createosaccountoptions12) | 否 | 创建系统账号的选项,默认为空。 <br/>从API version 12开始支持该可选参数。| 1015e41f4b71Sopenharmony_ci 1016e41f4b71Sopenharmony_ci**返回值:** 1017e41f4b71Sopenharmony_ci 1018e41f4b71Sopenharmony_ci| 类型 | 说明 | 1019e41f4b71Sopenharmony_ci| ---------------------------------------------- | ------------------------------------- | 1020e41f4b71Sopenharmony_ci| Promise<[OsAccountInfo](js-apis-osAccount.md#osaccountinfo)> | Promise对象,返回新创建的系统账号的信息。 | 1021e41f4b71Sopenharmony_ci 1022e41f4b71Sopenharmony_ci**错误码:** 1023e41f4b71Sopenharmony_ci 1024e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1025e41f4b71Sopenharmony_ci| -------- | ------------------------- | 1026e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1027e41f4b71Sopenharmony_ci| 202 | Not system application.| 1028e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1029e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1030e41f4b71Sopenharmony_ci| 12300002 | Invalid localName, type or options. | 1031e41f4b71Sopenharmony_ci| 12300004 | Local name already exists. | 1032e41f4b71Sopenharmony_ci| 12300005 | Multi-user not supported. | 1033e41f4b71Sopenharmony_ci| 12300006 | Unsupported account type. | 1034e41f4b71Sopenharmony_ci| 12300007 | The number of accounts has reached the upper limit. | 1035e41f4b71Sopenharmony_ci| 12300015 | The short name already exists. | 1036e41f4b71Sopenharmony_ci 1037e41f4b71Sopenharmony_ci**示例:** 1038e41f4b71Sopenharmony_ci 1039e41f4b71Sopenharmony_ci ```ts 1040e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1041e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1042e41f4b71Sopenharmony_ci let options: osAccount.CreateOsAccountOptions = { 1043e41f4b71Sopenharmony_ci shortName: 'myShortName' 1044e41f4b71Sopenharmony_ci } 1045e41f4b71Sopenharmony_ci try { 1046e41f4b71Sopenharmony_ci accountManager.createOsAccount('testAccountName', osAccount.OsAccountType.NORMAL, options).then( 1047e41f4b71Sopenharmony_ci (accountInfo: osAccount.OsAccountInfo) => { 1048e41f4b71Sopenharmony_ci console.log('createOsAccount, accountInfo: ' + JSON.stringify(accountInfo)); 1049e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1050e41f4b71Sopenharmony_ci console.log('createOsAccount err: ' + JSON.stringify(err)); 1051e41f4b71Sopenharmony_ci }); 1052e41f4b71Sopenharmony_ci } catch (e) { 1053e41f4b71Sopenharmony_ci console.log('createOsAccount exception: ' + JSON.stringify(e)); 1054e41f4b71Sopenharmony_ci } 1055e41f4b71Sopenharmony_ci ``` 1056e41f4b71Sopenharmony_ci 1057e41f4b71Sopenharmony_ci### createOsAccountForDomain<sup>8+</sup> 1058e41f4b71Sopenharmony_ci 1059e41f4b71Sopenharmony_cicreateOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, callback: AsyncCallback<OsAccountInfo>): void 1060e41f4b71Sopenharmony_ci 1061e41f4b71Sopenharmony_ci根据域账号信息,创建一个系统账号并将其与域账号关联。使用callback异步回调。 1062e41f4b71Sopenharmony_ci 1063e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1064e41f4b71Sopenharmony_ci 1065e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1066e41f4b71Sopenharmony_ci 1067e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1068e41f4b71Sopenharmony_ci 1069e41f4b71Sopenharmony_ci**参数:** 1070e41f4b71Sopenharmony_ci 1071e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1072e41f4b71Sopenharmony_ci| ---------- | ---------------------------------------------------- | ---- | -------------------------------------------------------------------------- | 1073e41f4b71Sopenharmony_ci| type | [OsAccountType](js-apis-osAccount.md#osaccounttype) | 是 | 创建的系统账号的类型。 | 1074e41f4b71Sopenharmony_ci| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 域账号信息。 | 1075e41f4b71Sopenharmony_ci| callback | AsyncCallback<[OsAccountInfo](js-apis-osAccount.md#osaccountinfo)> | 是 | 回调函数。如果创建成功,err为null,data为新创建的系统账号的信息;否则为错误对象。 | 1076e41f4b71Sopenharmony_ci 1077e41f4b71Sopenharmony_ci**错误码:** 1078e41f4b71Sopenharmony_ci 1079e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1080e41f4b71Sopenharmony_ci| -------- | ------------------- | 1081e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1082e41f4b71Sopenharmony_ci| 202 | Not system application.| 1083e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1084e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 1085e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1086e41f4b71Sopenharmony_ci| 12300002 | Invalid type or domainInfo. | 1087e41f4b71Sopenharmony_ci| 12300004 | Account already exists. | 1088e41f4b71Sopenharmony_ci| 12300005 | Multi-user not supported. | 1089e41f4b71Sopenharmony_ci| 12300006 | Unsupported account type. | 1090e41f4b71Sopenharmony_ci| 12300007 | The number of accounts has reached the upper limit. | 1091e41f4b71Sopenharmony_ci 1092e41f4b71Sopenharmony_ci**示例:** 1093e41f4b71Sopenharmony_ci 1094e41f4b71Sopenharmony_ci ```ts 1095e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1096e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1097e41f4b71Sopenharmony_ci let domainInfo: osAccount.DomainAccountInfo = 1098e41f4b71Sopenharmony_ci {domain: 'testDomain', accountName: 'testAccountName'}; 1099e41f4b71Sopenharmony_ci try { 1100e41f4b71Sopenharmony_ci accountManager.createOsAccountForDomain(osAccount.OsAccountType.NORMAL, domainInfo, 1101e41f4b71Sopenharmony_ci (err: BusinessError, osAccountInfo: osAccount.OsAccountInfo)=>{ 1102e41f4b71Sopenharmony_ci console.log('createOsAccountForDomain err:' + JSON.stringify(err)); 1103e41f4b71Sopenharmony_ci console.log('createOsAccountForDomain osAccountInfo:' + JSON.stringify(osAccountInfo)); 1104e41f4b71Sopenharmony_ci }); 1105e41f4b71Sopenharmony_ci } catch (e) { 1106e41f4b71Sopenharmony_ci console.log('createOsAccountForDomain exception: ' + JSON.stringify(e)); 1107e41f4b71Sopenharmony_ci } 1108e41f4b71Sopenharmony_ci ``` 1109e41f4b71Sopenharmony_ci 1110e41f4b71Sopenharmony_ci### createOsAccountForDomain<sup>8+</sup> 1111e41f4b71Sopenharmony_ci 1112e41f4b71Sopenharmony_cicreateOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, options?: CreateOsAccountForDomainOptions): Promise<OsAccountInfo> 1113e41f4b71Sopenharmony_ci 1114e41f4b71Sopenharmony_ci根据传入的域账号信息,创建与其关联的系统账号。使用Promise异步回调。 1115e41f4b71Sopenharmony_ci 1116e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1117e41f4b71Sopenharmony_ci 1118e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1119e41f4b71Sopenharmony_ci 1120e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1121e41f4b71Sopenharmony_ci 1122e41f4b71Sopenharmony_ci**参数:** 1123e41f4b71Sopenharmony_ci 1124e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1125e41f4b71Sopenharmony_ci| ---------- | ---------------------------------------- | ---- | -------------------- | 1126e41f4b71Sopenharmony_ci| type | [OsAccountType](js-apis-osAccount.md#osaccounttype) | 是 | 创建的系统账号的类型。 | 1127e41f4b71Sopenharmony_ci| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 域账号信息。 | 1128e41f4b71Sopenharmony_ci| options | [CreateOsAccountForDomainOptions](#createosaccountfordomainoptions12) | 否 | 创建账号的可选参数,默认为空。 <br/>从API version 12开始支持该可选参数。| 1129e41f4b71Sopenharmony_ci 1130e41f4b71Sopenharmony_ci**返回值:** 1131e41f4b71Sopenharmony_ci 1132e41f4b71Sopenharmony_ci| 类型 | 说明 | 1133e41f4b71Sopenharmony_ci| ---------------------------------------------- | -------------------------------------- | 1134e41f4b71Sopenharmony_ci| Promise<[OsAccountInfo](js-apis-osAccount.md#osaccountinfo)> | Promise对象,返回新创建的系统账号的信息。 | 1135e41f4b71Sopenharmony_ci 1136e41f4b71Sopenharmony_ci**错误码:** 1137e41f4b71Sopenharmony_ci 1138e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1139e41f4b71Sopenharmony_ci| -------- | ------------------- | 1140e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1141e41f4b71Sopenharmony_ci| 202 | Not system application.| 1142e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1143e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 1144e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1145e41f4b71Sopenharmony_ci| 12300002 | Invalid type, domainInfo or options. | 1146e41f4b71Sopenharmony_ci| 12300004 | Account already exists. | 1147e41f4b71Sopenharmony_ci| 12300005 | Multi-user not supported. | 1148e41f4b71Sopenharmony_ci| 12300006 | Unsupported account type. | 1149e41f4b71Sopenharmony_ci| 12300007 | The number of accounts has reached the upper limit. | 1150e41f4b71Sopenharmony_ci| 12300015 | The short name already exists. | 1151e41f4b71Sopenharmony_ci 1152e41f4b71Sopenharmony_ci**示例:** 1153e41f4b71Sopenharmony_ci 1154e41f4b71Sopenharmony_ci ```ts 1155e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1156e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1157e41f4b71Sopenharmony_ci let domainInfo: osAccount.DomainAccountInfo = 1158e41f4b71Sopenharmony_ci {domain: 'testDomain', accountName: 'testAccountName'}; 1159e41f4b71Sopenharmony_ci let options: osAccount.CreateOsAccountForDomainOptions = { 1160e41f4b71Sopenharmony_ci shortName: 'myShortName' 1161e41f4b71Sopenharmony_ci } 1162e41f4b71Sopenharmony_ci try { 1163e41f4b71Sopenharmony_ci accountManager.createOsAccountForDomain(osAccount.OsAccountType.NORMAL, domainInfo, options).then( 1164e41f4b71Sopenharmony_ci (accountInfo: osAccount.OsAccountInfo) => { 1165e41f4b71Sopenharmony_ci console.log('createOsAccountForDomain, account info: ' + JSON.stringify(accountInfo)); 1166e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1167e41f4b71Sopenharmony_ci console.log('createOsAccountForDomain err: ' + JSON.stringify(err)); 1168e41f4b71Sopenharmony_ci }); 1169e41f4b71Sopenharmony_ci } catch (e) { 1170e41f4b71Sopenharmony_ci console.log('createOsAccountForDomain exception: ' + JSON.stringify(e)); 1171e41f4b71Sopenharmony_ci } 1172e41f4b71Sopenharmony_ci ``` 1173e41f4b71Sopenharmony_ci 1174e41f4b71Sopenharmony_ci### queryOsAccount<sup>11+</sup> 1175e41f4b71Sopenharmony_ci 1176e41f4b71Sopenharmony_ciqueryOsAccount(): Promise<OsAccountInfo> 1177e41f4b71Sopenharmony_ci 1178e41f4b71Sopenharmony_ci查询当前进程所属的系统账号的信息。使用Promise异步回调。 1179e41f4b71Sopenharmony_ci 1180e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1181e41f4b71Sopenharmony_ci 1182e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.GET_LOCAL_ACCOUNTS 1183e41f4b71Sopenharmony_ci 1184e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1185e41f4b71Sopenharmony_ci 1186e41f4b71Sopenharmony_ci**返回值:** 1187e41f4b71Sopenharmony_ci 1188e41f4b71Sopenharmony_ci| 类型 | 说明 | 1189e41f4b71Sopenharmony_ci| ---------------------------------------------- | ----------------------------------------- | 1190e41f4b71Sopenharmony_ci| Promise<[OsAccountInfo](js-apis-osAccount.md#osaccountinfo)> | Promise对象,返回当前进程所属的系统账号信息。 | 1191e41f4b71Sopenharmony_ci 1192e41f4b71Sopenharmony_ci**错误码:** 1193e41f4b71Sopenharmony_ci 1194e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1195e41f4b71Sopenharmony_ci| -------- | ------------------- | 1196e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1197e41f4b71Sopenharmony_ci| 202 | Not system application.| 1198e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1199e41f4b71Sopenharmony_ci 1200e41f4b71Sopenharmony_ci**示例:** 1201e41f4b71Sopenharmony_ci 1202e41f4b71Sopenharmony_ci ```ts 1203e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1204e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1205e41f4b71Sopenharmony_ci try { 1206e41f4b71Sopenharmony_ci accountManager.queryOsAccount().then((accountInfo: osAccount.OsAccountInfo) => { 1207e41f4b71Sopenharmony_ci console.log('queryOsAccount, accountInfo: ' + JSON.stringify(accountInfo)); 1208e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1209e41f4b71Sopenharmony_ci console.log('queryOsAccount err: ' + JSON.stringify(err)); 1210e41f4b71Sopenharmony_ci }); 1211e41f4b71Sopenharmony_ci } catch (e) { 1212e41f4b71Sopenharmony_ci console.log('queryOsAccount exception: ' + JSON.stringify(e)); 1213e41f4b71Sopenharmony_ci } 1214e41f4b71Sopenharmony_ci ``` 1215e41f4b71Sopenharmony_ci 1216e41f4b71Sopenharmony_ci### queryOsAccountById 1217e41f4b71Sopenharmony_ci 1218e41f4b71Sopenharmony_ciqueryOsAccountById(localId: number, callback: AsyncCallback<OsAccountInfo>): void 1219e41f4b71Sopenharmony_ci 1220e41f4b71Sopenharmony_ci查询指定系统账号的信息。使用callback异步回调。 1221e41f4b71Sopenharmony_ci 1222e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1223e41f4b71Sopenharmony_ci 1224e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION 1225e41f4b71Sopenharmony_ci 1226e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1227e41f4b71Sopenharmony_ci 1228e41f4b71Sopenharmony_ci**参数:** 1229e41f4b71Sopenharmony_ci 1230e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1231e41f4b71Sopenharmony_ci| -------- | ---------------------------------------------------- | ---- | ------------------------------------------------------------------------ | 1232e41f4b71Sopenharmony_ci| localId | number | 是 | 要查询的系统账号的ID。 | 1233e41f4b71Sopenharmony_ci| callback | AsyncCallback<[OsAccountInfo](js-apis-osAccount.md#osaccountinfo)> | 是 | 回调函数。如果查询成功,err为null,data为查到的系统账号的信息;否则为错误对象。 | 1234e41f4b71Sopenharmony_ci 1235e41f4b71Sopenharmony_ci**错误码:** 1236e41f4b71Sopenharmony_ci 1237e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1238e41f4b71Sopenharmony_ci| -------- | ------------------- | 1239e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1240e41f4b71Sopenharmony_ci| 202 | Not system application.| 1241e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1242e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1243e41f4b71Sopenharmony_ci| 12300002 | Invalid localId. | 1244e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 1245e41f4b71Sopenharmony_ci 1246e41f4b71Sopenharmony_ci**示例:** 查询ID为100的系统账号信息 1247e41f4b71Sopenharmony_ci 1248e41f4b71Sopenharmony_ci ```ts 1249e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1250e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1251e41f4b71Sopenharmony_ci let localId: number = 100; 1252e41f4b71Sopenharmony_ci try { 1253e41f4b71Sopenharmony_ci accountManager.queryOsAccountById(localId, (err: BusinessError, accountInfo: osAccount.OsAccountInfo)=>{ 1254e41f4b71Sopenharmony_ci console.log('queryOsAccountById err:' + JSON.stringify(err)); 1255e41f4b71Sopenharmony_ci console.log('queryOsAccountById accountInfo:' + JSON.stringify(accountInfo)); 1256e41f4b71Sopenharmony_ci }); 1257e41f4b71Sopenharmony_ci } catch (e) { 1258e41f4b71Sopenharmony_ci console.log('queryOsAccountById exception: ' + JSON.stringify(e)); 1259e41f4b71Sopenharmony_ci } 1260e41f4b71Sopenharmony_ci ``` 1261e41f4b71Sopenharmony_ci 1262e41f4b71Sopenharmony_ci### queryOsAccountById 1263e41f4b71Sopenharmony_ci 1264e41f4b71Sopenharmony_ciqueryOsAccountById(localId: number): Promise<OsAccountInfo> 1265e41f4b71Sopenharmony_ci 1266e41f4b71Sopenharmony_ci查询指定系统账号的信息。使用Promise异步回调。 1267e41f4b71Sopenharmony_ci 1268e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1269e41f4b71Sopenharmony_ci 1270e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION 1271e41f4b71Sopenharmony_ci 1272e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1273e41f4b71Sopenharmony_ci 1274e41f4b71Sopenharmony_ci**参数:** 1275e41f4b71Sopenharmony_ci 1276e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1277e41f4b71Sopenharmony_ci| ------- | ------ | ---- | -------------------- | 1278e41f4b71Sopenharmony_ci| localId | number | 是 | 要查询的系统账号的ID | 1279e41f4b71Sopenharmony_ci 1280e41f4b71Sopenharmony_ci**返回值:** 1281e41f4b71Sopenharmony_ci 1282e41f4b71Sopenharmony_ci| 类型 | 说明 | 1283e41f4b71Sopenharmony_ci| ---------------------------------------------- | ------------------------------------ | 1284e41f4b71Sopenharmony_ci| Promise<[OsAccountInfo](js-apis-osAccount.md#osaccountinfo)> | Promise对象,返回查到的系统账号的信息。 | 1285e41f4b71Sopenharmony_ci 1286e41f4b71Sopenharmony_ci**错误码:** 1287e41f4b71Sopenharmony_ci 1288e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1289e41f4b71Sopenharmony_ci| -------- | ------------------- | 1290e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1291e41f4b71Sopenharmony_ci| 202 | Not system application.| 1292e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1293e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1294e41f4b71Sopenharmony_ci| 12300002 | Invalid localId. | 1295e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 1296e41f4b71Sopenharmony_ci 1297e41f4b71Sopenharmony_ci**示例:** 查询ID为100的系统账号信息 1298e41f4b71Sopenharmony_ci 1299e41f4b71Sopenharmony_ci ```ts 1300e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1301e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1302e41f4b71Sopenharmony_ci let localId: number = 100; 1303e41f4b71Sopenharmony_ci try { 1304e41f4b71Sopenharmony_ci accountManager.queryOsAccountById(localId).then((accountInfo: osAccount.OsAccountInfo) => { 1305e41f4b71Sopenharmony_ci console.log('queryOsAccountById, accountInfo: ' + JSON.stringify(accountInfo)); 1306e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1307e41f4b71Sopenharmony_ci console.log('queryOsAccountById err: ' + JSON.stringify(err)); 1308e41f4b71Sopenharmony_ci }); 1309e41f4b71Sopenharmony_ci } catch (e) { 1310e41f4b71Sopenharmony_ci console.log('queryOsAccountById exception: ' + JSON.stringify(e)); 1311e41f4b71Sopenharmony_ci } 1312e41f4b71Sopenharmony_ci ``` 1313e41f4b71Sopenharmony_ci 1314e41f4b71Sopenharmony_ci### getOsAccountProfilePhoto 1315e41f4b71Sopenharmony_ci 1316e41f4b71Sopenharmony_cigetOsAccountProfilePhoto(localId: number, callback: AsyncCallback<string>): void 1317e41f4b71Sopenharmony_ci 1318e41f4b71Sopenharmony_ci获取指定系统账号的头像信息。使用callback异步回调。 1319e41f4b71Sopenharmony_ci 1320e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1321e41f4b71Sopenharmony_ci 1322e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1323e41f4b71Sopenharmony_ci 1324e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1325e41f4b71Sopenharmony_ci 1326e41f4b71Sopenharmony_ci**参数:** 1327e41f4b71Sopenharmony_ci 1328e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1329e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | -------------------------------------------------------------------------- | 1330e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 1331e41f4b71Sopenharmony_ci| callback | AsyncCallback<string> | 是 | 回调函数。如果获取成功,err为null,data为指定系统账号的头像信息;否则为错误对象。 | 1332e41f4b71Sopenharmony_ci 1333e41f4b71Sopenharmony_ci**错误码:** 1334e41f4b71Sopenharmony_ci 1335e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1336e41f4b71Sopenharmony_ci| -------- | ------------------- | 1337e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1338e41f4b71Sopenharmony_ci| 202 | Not system application.| 1339e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1340e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1341e41f4b71Sopenharmony_ci| 12300002 | Invalid localId. | 1342e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 1343e41f4b71Sopenharmony_ci 1344e41f4b71Sopenharmony_ci**示例:** 获取ID为100的系统账号的头像 1345e41f4b71Sopenharmony_ci 1346e41f4b71Sopenharmony_ci ```ts 1347e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1348e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1349e41f4b71Sopenharmony_ci let localId: number = 100; 1350e41f4b71Sopenharmony_ci try { 1351e41f4b71Sopenharmony_ci accountManager.getOsAccountProfilePhoto(localId, (err: BusinessError, photo: string)=>{ 1352e41f4b71Sopenharmony_ci console.log('getOsAccountProfilePhoto err:' + JSON.stringify(err)); 1353e41f4b71Sopenharmony_ci console.log('get photo:' + photo + ' by localId: ' + localId); 1354e41f4b71Sopenharmony_ci }); 1355e41f4b71Sopenharmony_ci } catch (e) { 1356e41f4b71Sopenharmony_ci console.log('getOsAccountProfilePhoto exception: ' + JSON.stringify(e)); 1357e41f4b71Sopenharmony_ci } 1358e41f4b71Sopenharmony_ci ``` 1359e41f4b71Sopenharmony_ci 1360e41f4b71Sopenharmony_ci### getOsAccountProfilePhoto 1361e41f4b71Sopenharmony_ci 1362e41f4b71Sopenharmony_cigetOsAccountProfilePhoto(localId: number): Promise<string> 1363e41f4b71Sopenharmony_ci 1364e41f4b71Sopenharmony_ci获取指定系统账号的头像信息。使用Promise异步回调。 1365e41f4b71Sopenharmony_ci 1366e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1367e41f4b71Sopenharmony_ci 1368e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1369e41f4b71Sopenharmony_ci 1370e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1371e41f4b71Sopenharmony_ci 1372e41f4b71Sopenharmony_ci**参数:** 1373e41f4b71Sopenharmony_ci 1374e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1375e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------ | 1376e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 1377e41f4b71Sopenharmony_ci 1378e41f4b71Sopenharmony_ci**返回值:** 1379e41f4b71Sopenharmony_ci 1380e41f4b71Sopenharmony_ci| 类型 | 说明 | 1381e41f4b71Sopenharmony_ci| --------------------- | -------------------------------------- | 1382e41f4b71Sopenharmony_ci| Promise<string> | Promise对象,返回指定系统账号的头像信息。 | 1383e41f4b71Sopenharmony_ci 1384e41f4b71Sopenharmony_ci**错误码:** 1385e41f4b71Sopenharmony_ci 1386e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1387e41f4b71Sopenharmony_ci| -------- | ------------------- | 1388e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1389e41f4b71Sopenharmony_ci| 202 | Not system application.| 1390e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1391e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1392e41f4b71Sopenharmony_ci| 12300002 | Invalid localId. | 1393e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 1394e41f4b71Sopenharmony_ci 1395e41f4b71Sopenharmony_ci**示例:** 获取ID为100的系统账号的头像 1396e41f4b71Sopenharmony_ci 1397e41f4b71Sopenharmony_ci ```ts 1398e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1399e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1400e41f4b71Sopenharmony_ci let localId: number = 100; 1401e41f4b71Sopenharmony_ci try { 1402e41f4b71Sopenharmony_ci accountManager.getOsAccountProfilePhoto(localId).then((photo: string) => { 1403e41f4b71Sopenharmony_ci console.log('getOsAccountProfilePhoto: ' + photo); 1404e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1405e41f4b71Sopenharmony_ci console.log('getOsAccountProfilePhoto err: ' + JSON.stringify(err)); 1406e41f4b71Sopenharmony_ci }); 1407e41f4b71Sopenharmony_ci } catch (e) { 1408e41f4b71Sopenharmony_ci console.log('getOsAccountProfilePhoto exception: ' + JSON.stringify(e)); 1409e41f4b71Sopenharmony_ci } 1410e41f4b71Sopenharmony_ci ``` 1411e41f4b71Sopenharmony_ci 1412e41f4b71Sopenharmony_ci### setOsAccountProfilePhoto 1413e41f4b71Sopenharmony_ci 1414e41f4b71Sopenharmony_cisetOsAccountProfilePhoto(localId: number, photo: string, callback: AsyncCallback<void>): void 1415e41f4b71Sopenharmony_ci 1416e41f4b71Sopenharmony_ci为指定系统账号设置头像信息。使用callback异步回调。 1417e41f4b71Sopenharmony_ci 1418e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1419e41f4b71Sopenharmony_ci 1420e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1421e41f4b71Sopenharmony_ci 1422e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1423e41f4b71Sopenharmony_ci 1424e41f4b71Sopenharmony_ci**参数:** 1425e41f4b71Sopenharmony_ci 1426e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1427e41f4b71Sopenharmony_ci| -------- | ------------------------- | ---- | ------------ | 1428e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 1429e41f4b71Sopenharmony_ci| photo | string | 是 | 头像信息。 | 1430e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 回调函数。如果设置成功,err为null,否则为错误对象。 | 1431e41f4b71Sopenharmony_ci 1432e41f4b71Sopenharmony_ci**错误码:** 1433e41f4b71Sopenharmony_ci 1434e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1435e41f4b71Sopenharmony_ci| -------- | ------------------- | 1436e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1437e41f4b71Sopenharmony_ci| 202 | Not system application.| 1438e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1439e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1440e41f4b71Sopenharmony_ci| 12300002 | Invalid localId or photo. | 1441e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 1442e41f4b71Sopenharmony_ci| 12300008 | Restricted Account. | 1443e41f4b71Sopenharmony_ci 1444e41f4b71Sopenharmony_ci**示例:** 给ID为100的系统账号设置头像 1445e41f4b71Sopenharmony_ci 1446e41f4b71Sopenharmony_ci ```ts 1447e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1448e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1449e41f4b71Sopenharmony_ci let localId: number = 100; 1450e41f4b71Sopenharmony_ci let photo: string = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA'+ 1451e41f4b71Sopenharmony_ci 'Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y'+ 1452e41f4b71Sopenharmony_ci 'q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo'+ 1453e41f4b71Sopenharmony_ci '+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg==' 1454e41f4b71Sopenharmony_ci try { 1455e41f4b71Sopenharmony_ci accountManager.setOsAccountProfilePhoto(localId, photo, (err: BusinessError)=>{ 1456e41f4b71Sopenharmony_ci console.log('setOsAccountProfilePhoto err:' + JSON.stringify(err)); 1457e41f4b71Sopenharmony_ci }); 1458e41f4b71Sopenharmony_ci } catch (e) { 1459e41f4b71Sopenharmony_ci console.log('setOsAccountProfilePhoto exception: ' + JSON.stringify(e)); 1460e41f4b71Sopenharmony_ci } 1461e41f4b71Sopenharmony_ci ``` 1462e41f4b71Sopenharmony_ci 1463e41f4b71Sopenharmony_ci### setOsAccountProfilePhoto 1464e41f4b71Sopenharmony_ci 1465e41f4b71Sopenharmony_cisetOsAccountProfilePhoto(localId: number, photo: string): Promise<void> 1466e41f4b71Sopenharmony_ci 1467e41f4b71Sopenharmony_ci为指定系统账号设置头像信息。使用Promise异步回调。 1468e41f4b71Sopenharmony_ci 1469e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1470e41f4b71Sopenharmony_ci 1471e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1472e41f4b71Sopenharmony_ci 1473e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1474e41f4b71Sopenharmony_ci 1475e41f4b71Sopenharmony_ci**参数:** 1476e41f4b71Sopenharmony_ci 1477e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1478e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------ | 1479e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID。 | 1480e41f4b71Sopenharmony_ci| photo | string | 是 | 头像信息。 | 1481e41f4b71Sopenharmony_ci 1482e41f4b71Sopenharmony_ci**返回值:** 1483e41f4b71Sopenharmony_ci 1484e41f4b71Sopenharmony_ci| 类型 | 说明 | 1485e41f4b71Sopenharmony_ci| ------------------- | ------------------------------------ | 1486e41f4b71Sopenharmony_ci| Promise<void> | Promise对象,无返回结果的Promise对象。 | 1487e41f4b71Sopenharmony_ci 1488e41f4b71Sopenharmony_ci**错误码:** 1489e41f4b71Sopenharmony_ci 1490e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1491e41f4b71Sopenharmony_ci| -------- | ------------------- | 1492e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1493e41f4b71Sopenharmony_ci| 202 | Not system application.| 1494e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1495e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1496e41f4b71Sopenharmony_ci| 12300002 | Invalid localId or photo. | 1497e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 1498e41f4b71Sopenharmony_ci| 12300008 | Restricted Account. | 1499e41f4b71Sopenharmony_ci 1500e41f4b71Sopenharmony_ci**示例:** 给ID为100的系统账号设置头像 1501e41f4b71Sopenharmony_ci 1502e41f4b71Sopenharmony_ci ```ts 1503e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1504e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1505e41f4b71Sopenharmony_ci let localId: number = 100; 1506e41f4b71Sopenharmony_ci let photo: string = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA'+ 1507e41f4b71Sopenharmony_ci 'Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y'+ 1508e41f4b71Sopenharmony_ci 'q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo'+ 1509e41f4b71Sopenharmony_ci '+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg==' 1510e41f4b71Sopenharmony_ci try { 1511e41f4b71Sopenharmony_ci accountManager.setOsAccountProfilePhoto(localId, photo).then(() => { 1512e41f4b71Sopenharmony_ci console.log('setOsAccountProfilePhoto success'); 1513e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1514e41f4b71Sopenharmony_ci console.log('setOsAccountProfilePhoto err: ' + JSON.stringify(err)); 1515e41f4b71Sopenharmony_ci }); 1516e41f4b71Sopenharmony_ci } catch (e) { 1517e41f4b71Sopenharmony_ci console.log('setOsAccountProfilePhoto exception: ' + JSON.stringify(e)); 1518e41f4b71Sopenharmony_ci } 1519e41f4b71Sopenharmony_ci ``` 1520e41f4b71Sopenharmony_ci 1521e41f4b71Sopenharmony_ci### on 1522e41f4b71Sopenharmony_ci 1523e41f4b71Sopenharmony_cion(type: 'activate' | 'activating', name: string, callback: Callback<number>): void 1524e41f4b71Sopenharmony_ci 1525e41f4b71Sopenharmony_ci订阅系统账号的激活完成与激活中的事件。使用callback异步回调。 1526e41f4b71Sopenharmony_ci 1527e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1528e41f4b71Sopenharmony_ci 1529e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION 1530e41f4b71Sopenharmony_ci 1531e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1532e41f4b71Sopenharmony_ci 1533e41f4b71Sopenharmony_ci**参数:** 1534e41f4b71Sopenharmony_ci 1535e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1536e41f4b71Sopenharmony_ci| -------- | -------------------------- | ---- | ------------------------------------------------------------ | 1537e41f4b71Sopenharmony_ci| type | 'activate' \| 'activating' | 是 | 订阅类型,activate表示订阅的是账号已激活完成的事件,activating表示订阅的是账号正在激活的事件。 | 1538e41f4b71Sopenharmony_ci| name | string | 是 | 订阅名称,可自定义,要求非空且长度不超过1024字节。 | 1539e41f4b71Sopenharmony_ci| callback | Callback<number> | 是 | 订阅系统账号激活完成与激活中的事件回调,表示激活完成后或正在激活中的系统账号ID。 | 1540e41f4b71Sopenharmony_ci 1541e41f4b71Sopenharmony_ci**错误码:** 1542e41f4b71Sopenharmony_ci 1543e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1544e41f4b71Sopenharmony_ci| -------- | ------------- | 1545e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1546e41f4b71Sopenharmony_ci| 202 | Not system application.| 1547e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1548e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1549e41f4b71Sopenharmony_ci| 12300002 | Invalid type or name. | 1550e41f4b71Sopenharmony_ci 1551e41f4b71Sopenharmony_ci**示例:** 1552e41f4b71Sopenharmony_ci 1553e41f4b71Sopenharmony_ci ```ts 1554e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1555e41f4b71Sopenharmony_ci function onCallback(receiveLocalId: number){ 1556e41f4b71Sopenharmony_ci console.log('receive localId:' + receiveLocalId); 1557e41f4b71Sopenharmony_ci } 1558e41f4b71Sopenharmony_ci try { 1559e41f4b71Sopenharmony_ci accountManager.on('activating', 'osAccountOnOffNameA', onCallback); 1560e41f4b71Sopenharmony_ci } catch (e) { 1561e41f4b71Sopenharmony_ci console.log('receive localId exception: ' + JSON.stringify(e)); 1562e41f4b71Sopenharmony_ci } 1563e41f4b71Sopenharmony_ci ``` 1564e41f4b71Sopenharmony_ci 1565e41f4b71Sopenharmony_ci### off 1566e41f4b71Sopenharmony_ci 1567e41f4b71Sopenharmony_cioff(type: 'activate' | 'activating', name: string, callback?: Callback<number>): void 1568e41f4b71Sopenharmony_ci 1569e41f4b71Sopenharmony_ci取消订阅系统账号的激活完成与激活中的事件。使用callback异步回调。 1570e41f4b71Sopenharmony_ci 1571e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1572e41f4b71Sopenharmony_ci 1573e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION 1574e41f4b71Sopenharmony_ci 1575e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1576e41f4b71Sopenharmony_ci 1577e41f4b71Sopenharmony_ci**参数:** 1578e41f4b71Sopenharmony_ci 1579e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1580e41f4b71Sopenharmony_ci| -------- | -------------------------- | ---- | ------------------------------------------------------------ | 1581e41f4b71Sopenharmony_ci| type | 'activate' \| 'activating' | 是 | 取消订阅类型,activate表示取消订阅账号已激活完成的事件,activating取消订阅账号正在激活的事件。 | 1582e41f4b71Sopenharmony_ci| name | string | 是 | 订阅名称,可自定义,要求非空且长度不超过1024字节,需要与订阅接口传入的值保持一致。 | 1583e41f4b71Sopenharmony_ci| callback | Callback<number> | 否 | 取消订阅系统账号激活完成与激活中的事件回调,默认为空,表示取消该类型事件的所有回调。 | 1584e41f4b71Sopenharmony_ci 1585e41f4b71Sopenharmony_ci**错误码:** 1586e41f4b71Sopenharmony_ci 1587e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1588e41f4b71Sopenharmony_ci| -------- | ------------- | 1589e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1590e41f4b71Sopenharmony_ci| 202 | Not system application.| 1591e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1592e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1593e41f4b71Sopenharmony_ci| 12300002 | Invalid type or name. | 1594e41f4b71Sopenharmony_ci 1595e41f4b71Sopenharmony_ci**示例:** 1596e41f4b71Sopenharmony_ci 1597e41f4b71Sopenharmony_ci ```ts 1598e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1599e41f4b71Sopenharmony_ci function offCallback(){ 1600e41f4b71Sopenharmony_ci console.log('off enter') 1601e41f4b71Sopenharmony_ci } 1602e41f4b71Sopenharmony_ci try { 1603e41f4b71Sopenharmony_ci accountManager.off('activating', 'osAccountOnOffNameA', offCallback); 1604e41f4b71Sopenharmony_ci } catch (e) { 1605e41f4b71Sopenharmony_ci console.log('off exception: ' + JSON.stringify(e)); 1606e41f4b71Sopenharmony_ci } 1607e41f4b71Sopenharmony_ci ``` 1608e41f4b71Sopenharmony_ci 1609e41f4b71Sopenharmony_ci### on<sup>12+</sup> 1610e41f4b71Sopenharmony_ci 1611e41f4b71Sopenharmony_cion(type: 'switching', callback: Callback<OsAccountSwitchEventData>): void 1612e41f4b71Sopenharmony_ci 1613e41f4b71Sopenharmony_ci订阅系统账号的前后台正在切换事件。使用callback异步回调。 1614e41f4b71Sopenharmony_ci 1615e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1616e41f4b71Sopenharmony_ci 1617e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1618e41f4b71Sopenharmony_ci 1619e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1620e41f4b71Sopenharmony_ci 1621e41f4b71Sopenharmony_ci**参数:** 1622e41f4b71Sopenharmony_ci 1623e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1624e41f4b71Sopenharmony_ci| -------- | -------------------------- | ---- | ------------------------------------------------------------ | 1625e41f4b71Sopenharmony_ci| type | 'switching' | 是 | 订阅类型,switching表示订阅的是系统账号的前后台正在切换事件。 | 1626e41f4b71Sopenharmony_ci| callback | Callback<[OsAccountSwitchEventData](#osaccountswitcheventdata12)> | 是 | 订阅系统账号的前后台正在切换事件回调,表示切换前和切换后的系统账号ID。 | 1627e41f4b71Sopenharmony_ci 1628e41f4b71Sopenharmony_ci**错误码:** 1629e41f4b71Sopenharmony_ci 1630e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1631e41f4b71Sopenharmony_ci| -------- | ------------- | 1632e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1633e41f4b71Sopenharmony_ci| 202 | Not system application.| 1634e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1635e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1636e41f4b71Sopenharmony_ci| 12300002 | Invalid type. | 1637e41f4b71Sopenharmony_ci 1638e41f4b71Sopenharmony_ci**示例:** 1639e41f4b71Sopenharmony_ci 1640e41f4b71Sopenharmony_ci ```ts 1641e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1642e41f4b71Sopenharmony_ci function onSwitchingCallback(eventData: osAccount.OsAccountSwitchEventData){ 1643e41f4b71Sopenharmony_ci console.log('receive eventData:' + JSON.stringify(eventData)); 1644e41f4b71Sopenharmony_ci } 1645e41f4b71Sopenharmony_ci try { 1646e41f4b71Sopenharmony_ci accountManager.on('switching', onSwitchingCallback); 1647e41f4b71Sopenharmony_ci } catch (e) { 1648e41f4b71Sopenharmony_ci console.log('receive eventData exception: ' + JSON.stringify(e)); 1649e41f4b71Sopenharmony_ci } 1650e41f4b71Sopenharmony_ci ``` 1651e41f4b71Sopenharmony_ci 1652e41f4b71Sopenharmony_ci### off<sup>12+</sup> 1653e41f4b71Sopenharmony_ci 1654e41f4b71Sopenharmony_cioff(type: 'switching', callback?: Callback<OsAccountSwitchEventData>): void 1655e41f4b71Sopenharmony_ci 1656e41f4b71Sopenharmony_ci取消订阅系统账号的前后台正在切换事件。使用callback异步回调。 1657e41f4b71Sopenharmony_ci 1658e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1659e41f4b71Sopenharmony_ci 1660e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1661e41f4b71Sopenharmony_ci 1662e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1663e41f4b71Sopenharmony_ci 1664e41f4b71Sopenharmony_ci**参数:** 1665e41f4b71Sopenharmony_ci 1666e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1667e41f4b71Sopenharmony_ci| -------- | -------------------------- | ---- | ------------------------------------------------------------ | 1668e41f4b71Sopenharmony_ci| type | 'switching' | 是 | 取消订阅类型,switching表示取消订阅的是系统账号的前后台正在切换事件。 | 1669e41f4b71Sopenharmony_ci| callback | Callback<[OsAccountSwitchEventData](#osaccountswitcheventdata12)> | 否 | 取消订阅系统账号的前后台正在切换事件回调,默认为空,表示取消该类型事件的所有回调。 | 1670e41f4b71Sopenharmony_ci 1671e41f4b71Sopenharmony_ci**错误码:** 1672e41f4b71Sopenharmony_ci 1673e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1674e41f4b71Sopenharmony_ci| -------- | ------------- | 1675e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1676e41f4b71Sopenharmony_ci| 202 | Not system application.| 1677e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1678e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1679e41f4b71Sopenharmony_ci| 12300002 | Invalid type. | 1680e41f4b71Sopenharmony_ci 1681e41f4b71Sopenharmony_ci**示例:** 1682e41f4b71Sopenharmony_ci 1683e41f4b71Sopenharmony_ci ```ts 1684e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1685e41f4b71Sopenharmony_ci try { 1686e41f4b71Sopenharmony_ci accountManager.off('switching'); 1687e41f4b71Sopenharmony_ci } catch (e) { 1688e41f4b71Sopenharmony_ci console.log('off exception: ' + JSON.stringify(e)); 1689e41f4b71Sopenharmony_ci } 1690e41f4b71Sopenharmony_ci ``` 1691e41f4b71Sopenharmony_ci 1692e41f4b71Sopenharmony_ci### on<sup>12+</sup> 1693e41f4b71Sopenharmony_ci 1694e41f4b71Sopenharmony_cion(type: 'switched', callback: Callback<OsAccountSwitchEventData>): void 1695e41f4b71Sopenharmony_ci 1696e41f4b71Sopenharmony_ci订阅系统账号的前后台切换结束事件。使用callback异步回调。 1697e41f4b71Sopenharmony_ci 1698e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1699e41f4b71Sopenharmony_ci 1700e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1701e41f4b71Sopenharmony_ci 1702e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1703e41f4b71Sopenharmony_ci 1704e41f4b71Sopenharmony_ci**参数:** 1705e41f4b71Sopenharmony_ci 1706e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1707e41f4b71Sopenharmony_ci| -------- | -------------------------- | ---- | ------------------------------------------------------------ | 1708e41f4b71Sopenharmony_ci| type | 'switched' | 是 | 订阅类型,switched表示订阅的是系统账号的前后台切换结束事件。 | 1709e41f4b71Sopenharmony_ci| callback | Callback<[OsAccountSwitchEventData](#osaccountswitcheventdata12)> | 是 | 订阅系统账号的前后台切换结束事件回调,表示切换前和切换后的系统账号ID。 | 1710e41f4b71Sopenharmony_ci 1711e41f4b71Sopenharmony_ci**错误码:** 1712e41f4b71Sopenharmony_ci 1713e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1714e41f4b71Sopenharmony_ci| -------- | ------------- | 1715e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1716e41f4b71Sopenharmony_ci| 202 | Not system application.| 1717e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1718e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1719e41f4b71Sopenharmony_ci| 12300002 | Invalid type. | 1720e41f4b71Sopenharmony_ci 1721e41f4b71Sopenharmony_ci**示例:** 1722e41f4b71Sopenharmony_ci 1723e41f4b71Sopenharmony_ci ```ts 1724e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1725e41f4b71Sopenharmony_ci function onSwitchedCallback(eventData: osAccount.OsAccountSwitchEventData){ 1726e41f4b71Sopenharmony_ci console.log('receive eventData:' + JSON.stringify(eventData)); 1727e41f4b71Sopenharmony_ci } 1728e41f4b71Sopenharmony_ci try { 1729e41f4b71Sopenharmony_ci accountManager.on('switched', onSwitchedCallback); 1730e41f4b71Sopenharmony_ci } catch (e) { 1731e41f4b71Sopenharmony_ci console.log('receive eventData exception: ' + JSON.stringify(e)); 1732e41f4b71Sopenharmony_ci } 1733e41f4b71Sopenharmony_ci ``` 1734e41f4b71Sopenharmony_ci 1735e41f4b71Sopenharmony_ci### off<sup>12+</sup> 1736e41f4b71Sopenharmony_ci 1737e41f4b71Sopenharmony_cioff(type: 'switched', callback?: Callback<OsAccountSwitchEventData>): void 1738e41f4b71Sopenharmony_ci 1739e41f4b71Sopenharmony_ci取消订阅系统账号的前后台切换结束事件。使用callback异步回调。 1740e41f4b71Sopenharmony_ci 1741e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1742e41f4b71Sopenharmony_ci 1743e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1744e41f4b71Sopenharmony_ci 1745e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1746e41f4b71Sopenharmony_ci 1747e41f4b71Sopenharmony_ci**参数:** 1748e41f4b71Sopenharmony_ci 1749e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1750e41f4b71Sopenharmony_ci| -------- | -------------------------- | ---- | ------------------------------------------------------------ | 1751e41f4b71Sopenharmony_ci| type | 'switched' | 是 | 取消订阅类型,switched表示取消订阅的是系统账号的前后台切换结束事件。 | 1752e41f4b71Sopenharmony_ci| callback | Callback<[OsAccountSwitchEventData](#osaccountswitcheventdata12)> | 否 | 取消订阅系统账号的前后台切换结束事件回调,默认为空,表示取消该类型事件的所有回调。 | 1753e41f4b71Sopenharmony_ci 1754e41f4b71Sopenharmony_ci**错误码:** 1755e41f4b71Sopenharmony_ci 1756e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1757e41f4b71Sopenharmony_ci| -------- | ------------- | 1758e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1759e41f4b71Sopenharmony_ci| 202 | Not system application.| 1760e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1761e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1762e41f4b71Sopenharmony_ci| 12300002 | Invalid type. | 1763e41f4b71Sopenharmony_ci 1764e41f4b71Sopenharmony_ci**示例:** 1765e41f4b71Sopenharmony_ci 1766e41f4b71Sopenharmony_ci ```ts 1767e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1768e41f4b71Sopenharmony_ci try { 1769e41f4b71Sopenharmony_ci accountManager.off('switched'); 1770e41f4b71Sopenharmony_ci } catch (e) { 1771e41f4b71Sopenharmony_ci console.log('off exception: ' + JSON.stringify(e)); 1772e41f4b71Sopenharmony_ci } 1773e41f4b71Sopenharmony_ci ``` 1774e41f4b71Sopenharmony_ci 1775e41f4b71Sopenharmony_ci### getBundleIdForUid<sup>9+</sup> 1776e41f4b71Sopenharmony_ci 1777e41f4b71Sopenharmony_cigetBundleIdForUid(uid: number, callback: AsyncCallback<number>): void 1778e41f4b71Sopenharmony_ci 1779e41f4b71Sopenharmony_ci通过uid查询对应的bundleId,使用callback异步回调。 1780e41f4b71Sopenharmony_ci 1781e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1782e41f4b71Sopenharmony_ci 1783e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1784e41f4b71Sopenharmony_ci 1785e41f4b71Sopenharmony_ci**参数:** 1786e41f4b71Sopenharmony_ci 1787e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1788e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | ------------------------------------------------------------------------ | 1789e41f4b71Sopenharmony_ci| uid | number | 是 | 进程uid。 | 1790e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | 是 | 回调函数。如果查询成功,err为null,data为与uid对应的bundleId;否则为错误对象。 | 1791e41f4b71Sopenharmony_ci 1792e41f4b71Sopenharmony_ci**错误码:** 1793e41f4b71Sopenharmony_ci 1794e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1795e41f4b71Sopenharmony_ci| -------- | ------------- | 1796e41f4b71Sopenharmony_ci| 202 | Not system application.| 1797e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1798e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1799e41f4b71Sopenharmony_ci| 12300002 | Invalid uid. | 1800e41f4b71Sopenharmony_ci 1801e41f4b71Sopenharmony_ci**示例:** 1802e41f4b71Sopenharmony_ci 1803e41f4b71Sopenharmony_ci ```ts 1804e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1805e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1806e41f4b71Sopenharmony_ci let testUid: number = 1000000; 1807e41f4b71Sopenharmony_ci try { 1808e41f4b71Sopenharmony_ci accountManager.getBundleIdForUid(testUid, (err: BusinessError, bundleId: number) => { 1809e41f4b71Sopenharmony_ci console.info('getBundleIdForUid errInfo:' + JSON.stringify(err)); 1810e41f4b71Sopenharmony_ci console.info('getBundleIdForUid bundleId:' + JSON.stringify(bundleId)); 1811e41f4b71Sopenharmony_ci }); 1812e41f4b71Sopenharmony_ci } catch (e) { 1813e41f4b71Sopenharmony_ci console.info('getBundleIdForUid exception: ' + JSON.stringify(e)); 1814e41f4b71Sopenharmony_ci } 1815e41f4b71Sopenharmony_ci ``` 1816e41f4b71Sopenharmony_ci 1817e41f4b71Sopenharmony_ci### getBundleIdForUid<sup>9+</sup> 1818e41f4b71Sopenharmony_ci 1819e41f4b71Sopenharmony_cigetBundleIdForUid(uid: number): Promise<number> 1820e41f4b71Sopenharmony_ci 1821e41f4b71Sopenharmony_ci通过uid查询对应的bundleId,使用Promise异步回调。 1822e41f4b71Sopenharmony_ci 1823e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1824e41f4b71Sopenharmony_ci 1825e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1826e41f4b71Sopenharmony_ci 1827e41f4b71Sopenharmony_ci**参数:** 1828e41f4b71Sopenharmony_ci 1829e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1830e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------ | 1831e41f4b71Sopenharmony_ci| uid | number | 是 | 进程uid。 | 1832e41f4b71Sopenharmony_ci 1833e41f4b71Sopenharmony_ci**返回值:** 1834e41f4b71Sopenharmony_ci 1835e41f4b71Sopenharmony_ci| 类型 | 说明 | 1836e41f4b71Sopenharmony_ci| --------------------- | ------------------------------------ | 1837e41f4b71Sopenharmony_ci| Promise<number> | Promise对象,返回与uid对应的bundleId。 | 1838e41f4b71Sopenharmony_ci 1839e41f4b71Sopenharmony_ci**错误码:** 1840e41f4b71Sopenharmony_ci 1841e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1842e41f4b71Sopenharmony_ci| -------- | ------------- | 1843e41f4b71Sopenharmony_ci| 202 | Not system application.| 1844e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1845e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1846e41f4b71Sopenharmony_ci| 12300002 | Invalid uid. | 1847e41f4b71Sopenharmony_ci 1848e41f4b71Sopenharmony_ci**示例:** 1849e41f4b71Sopenharmony_ci 1850e41f4b71Sopenharmony_ci ```ts 1851e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1852e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1853e41f4b71Sopenharmony_ci let testUid: number = 1000000; 1854e41f4b71Sopenharmony_ci try { 1855e41f4b71Sopenharmony_ci accountManager.getBundleIdForUid(testUid).then((result: number) => { 1856e41f4b71Sopenharmony_ci console.info('getBundleIdForUid bundleId:' + JSON.stringify(result)); 1857e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1858e41f4b71Sopenharmony_ci console.info('getBundleIdForUid errInfo:' + JSON.stringify(err)); 1859e41f4b71Sopenharmony_ci }); 1860e41f4b71Sopenharmony_ci } catch (e) { 1861e41f4b71Sopenharmony_ci console.info('getBundleIdForUid exception: ' + JSON.stringify(e)); 1862e41f4b71Sopenharmony_ci } 1863e41f4b71Sopenharmony_ci ``` 1864e41f4b71Sopenharmony_ci 1865e41f4b71Sopenharmony_ci### getBundleIdForUidSync<sup>10+</sup> 1866e41f4b71Sopenharmony_ci 1867e41f4b71Sopenharmony_cigetBundleIdForUidSync(uid: number): number 1868e41f4b71Sopenharmony_ci 1869e41f4b71Sopenharmony_ci通过uid查询对应的bundleId。使用同步方式返回结果。 1870e41f4b71Sopenharmony_ci 1871e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1872e41f4b71Sopenharmony_ci 1873e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1874e41f4b71Sopenharmony_ci 1875e41f4b71Sopenharmony_ci**参数:** 1876e41f4b71Sopenharmony_ci 1877e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1878e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------ | 1879e41f4b71Sopenharmony_ci| uid | number | 是 | 进程uid。 | 1880e41f4b71Sopenharmony_ci 1881e41f4b71Sopenharmony_ci**返回值:** 1882e41f4b71Sopenharmony_ci 1883e41f4b71Sopenharmony_ci| 类型 | 说明 | 1884e41f4b71Sopenharmony_ci| ------ | ------------------------ | 1885e41f4b71Sopenharmony_ci| number | 表示与进程uid对应的bundleId。 | 1886e41f4b71Sopenharmony_ci 1887e41f4b71Sopenharmony_ci**错误码:** 1888e41f4b71Sopenharmony_ci 1889e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1890e41f4b71Sopenharmony_ci| -------- | ------------- | 1891e41f4b71Sopenharmony_ci| 202 | Not system application.| 1892e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1893e41f4b71Sopenharmony_ci| 12300002 | Invalid uid. | 1894e41f4b71Sopenharmony_ci 1895e41f4b71Sopenharmony_ci**示例:** 1896e41f4b71Sopenharmony_ci 1897e41f4b71Sopenharmony_ci ```ts 1898e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1899e41f4b71Sopenharmony_ci let testUid: number = 1000000; 1900e41f4b71Sopenharmony_ci try { 1901e41f4b71Sopenharmony_ci let bundleId : number = accountManager.getBundleIdForUidSync(testUid); 1902e41f4b71Sopenharmony_ci console.info('getBundleIdForUidSync bundleId:' + bundleId); 1903e41f4b71Sopenharmony_ci } catch (e) { 1904e41f4b71Sopenharmony_ci console.info('getBundleIdForUidSync exception: ' + JSON.stringify(e)); 1905e41f4b71Sopenharmony_ci } 1906e41f4b71Sopenharmony_ci ``` 1907e41f4b71Sopenharmony_ci 1908e41f4b71Sopenharmony_ci### isMainOsAccount<sup>9+</sup> 1909e41f4b71Sopenharmony_ci 1910e41f4b71Sopenharmony_ciisMainOsAccount(callback: AsyncCallback<boolean>): void 1911e41f4b71Sopenharmony_ci 1912e41f4b71Sopenharmony_ci查询当前进程是否处于主用户,使用callback异步回调。 1913e41f4b71Sopenharmony_ci 1914e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1915e41f4b71Sopenharmony_ci 1916e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1917e41f4b71Sopenharmony_ci 1918e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1919e41f4b71Sopenharmony_ci 1920e41f4b71Sopenharmony_ci**参数:** 1921e41f4b71Sopenharmony_ci 1922e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1923e41f4b71Sopenharmony_ci| -------- | ---------------------------- | ---- | ----------------------------------------------------------------- | 1924e41f4b71Sopenharmony_ci| callback | AsyncCallback<boolean> | 是 | 回调函数,返回true表示当前账号为主账号,返回false表示当前账号非主账号。 | 1925e41f4b71Sopenharmony_ci 1926e41f4b71Sopenharmony_ci**错误码:** 1927e41f4b71Sopenharmony_ci 1928e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1929e41f4b71Sopenharmony_ci| -------- | ------------- | 1930e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1931e41f4b71Sopenharmony_ci| 202 | Not system application.| 1932e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1933e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1934e41f4b71Sopenharmony_ci 1935e41f4b71Sopenharmony_ci**示例:** 1936e41f4b71Sopenharmony_ci 1937e41f4b71Sopenharmony_ci ```ts 1938e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1939e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1940e41f4b71Sopenharmony_ci try { 1941e41f4b71Sopenharmony_ci accountManager.isMainOsAccount((err: BusinessError,result: boolean)=>{ 1942e41f4b71Sopenharmony_ci console.info('isMainOsAccount errInfo:' + JSON.stringify(err)); 1943e41f4b71Sopenharmony_ci console.info('isMainOsAccount result:' + JSON.stringify(result)); 1944e41f4b71Sopenharmony_ci }); 1945e41f4b71Sopenharmony_ci } catch (e) { 1946e41f4b71Sopenharmony_ci console.info('isMainOsAccount exception: ' + JSON.stringify(e)); 1947e41f4b71Sopenharmony_ci } 1948e41f4b71Sopenharmony_ci ``` 1949e41f4b71Sopenharmony_ci 1950e41f4b71Sopenharmony_ci### isMainOsAccount<sup>9+</sup> 1951e41f4b71Sopenharmony_ci 1952e41f4b71Sopenharmony_ciisMainOsAccount(): Promise<boolean>; 1953e41f4b71Sopenharmony_ci 1954e41f4b71Sopenharmony_ci查询当前进程是否处于主用户,使用Promise异步回调。 1955e41f4b71Sopenharmony_ci 1956e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1957e41f4b71Sopenharmony_ci 1958e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1959e41f4b71Sopenharmony_ci 1960e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 1961e41f4b71Sopenharmony_ci 1962e41f4b71Sopenharmony_ci**返回值:** 1963e41f4b71Sopenharmony_ci 1964e41f4b71Sopenharmony_ci| 类型 | 说明 | 1965e41f4b71Sopenharmony_ci| ---------------------- | --------------------------------------------------------------------- | 1966e41f4b71Sopenharmony_ci| Promise<boolean> | Promise对象,返回true表示当前账号为主账号,返回false表示当前账号非主账号。 | 1967e41f4b71Sopenharmony_ci 1968e41f4b71Sopenharmony_ci**错误码:** 1969e41f4b71Sopenharmony_ci 1970e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1971e41f4b71Sopenharmony_ci| -------- | ------------- | 1972e41f4b71Sopenharmony_ci| 201 | Permission denied.| 1973e41f4b71Sopenharmony_ci| 202 | Not system application.| 1974e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 1975e41f4b71Sopenharmony_ci 1976e41f4b71Sopenharmony_ci**示例:** 1977e41f4b71Sopenharmony_ci 1978e41f4b71Sopenharmony_ci ```ts 1979e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 1980e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 1981e41f4b71Sopenharmony_ci try { 1982e41f4b71Sopenharmony_ci accountManager.isMainOsAccount().then((result: boolean) => { 1983e41f4b71Sopenharmony_ci console.info('isMainOsAccount result:' + JSON.stringify(result)); 1984e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1985e41f4b71Sopenharmony_ci console.info('isMainOsAccount errInfo:' + JSON.stringify(err)); 1986e41f4b71Sopenharmony_ci }); 1987e41f4b71Sopenharmony_ci } catch (e) { 1988e41f4b71Sopenharmony_ci console.info('isMainOsAccount exception: ' + JSON.stringify(e)); 1989e41f4b71Sopenharmony_ci } 1990e41f4b71Sopenharmony_ci ``` 1991e41f4b71Sopenharmony_ci 1992e41f4b71Sopenharmony_ci### getOsAccountConstraintSourceTypes<sup>9+</sup> 1993e41f4b71Sopenharmony_ci 1994e41f4b71Sopenharmony_cigetOsAccountConstraintSourceTypes(localId: number, constraint: string, callback: AsyncCallback<Array<ConstraintSourceTypeInfo>>): void 1995e41f4b71Sopenharmony_ci 1996e41f4b71Sopenharmony_ci查询指定系统账号的指定约束来源信息,使用callback异步回调。 1997e41f4b71Sopenharmony_ci 1998e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 1999e41f4b71Sopenharmony_ci 2000e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 2001e41f4b71Sopenharmony_ci 2002e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2003e41f4b71Sopenharmony_ci 2004e41f4b71Sopenharmony_ci**参数:** 2005e41f4b71Sopenharmony_ci 2006e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2007e41f4b71Sopenharmony_ci| -------- | -------------------------- | ---- | ------------------------------------------------------------ | 2008e41f4b71Sopenharmony_ci| localId | number | 是 | 要查询的系统账号ID | 2009e41f4b71Sopenharmony_ci| constraint | string | 是 | 要查询的[约束](js-apis-osAccount.md#系统账号约束列表)名称 | 2010e41f4b71Sopenharmony_ci| callback | AsyncCallback<Array<[ConstraintSourceTypeInfo](#constraintsourcetypeinfo9)>> | 是 | 回调函数。如果成功,err为null,data为指定系统账号的指定[约束](js-apis-osAccount.md#系统账号约束列表)来源信息;否则为错误对象。 | 2011e41f4b71Sopenharmony_ci 2012e41f4b71Sopenharmony_ci**错误码:** 2013e41f4b71Sopenharmony_ci 2014e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2015e41f4b71Sopenharmony_ci| -------- | ------------- | 2016e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2017e41f4b71Sopenharmony_ci| 202 | Not system application.| 2018e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2019e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2020e41f4b71Sopenharmony_ci| 12300002 | Invalid name or constraint. | 2021e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 2022e41f4b71Sopenharmony_ci 2023e41f4b71Sopenharmony_ci**示例:** 2024e41f4b71Sopenharmony_ci 2025e41f4b71Sopenharmony_ci ```ts 2026e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 2027e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 2028e41f4b71Sopenharmony_ci try { 2029e41f4b71Sopenharmony_ci accountManager.getOsAccountConstraintSourceTypes(100, 'constraint.wifi', 2030e41f4b71Sopenharmony_ci (err: BusinessError,sourceTypeInfos: osAccount.ConstraintSourceTypeInfo[])=>{ 2031e41f4b71Sopenharmony_ci console.info('getOsAccountConstraintSourceTypes errInfo:' + JSON.stringify(err)); 2032e41f4b71Sopenharmony_ci console.info('getOsAccountConstraintSourceTypes sourceTypeInfos:' + JSON.stringify(sourceTypeInfos)); 2033e41f4b71Sopenharmony_ci }); 2034e41f4b71Sopenharmony_ci } catch (e) { 2035e41f4b71Sopenharmony_ci console.info('getOsAccountConstraintSourceTypes exception: ' + JSON.stringify(e)); 2036e41f4b71Sopenharmony_ci } 2037e41f4b71Sopenharmony_ci ``` 2038e41f4b71Sopenharmony_ci 2039e41f4b71Sopenharmony_ci### getOsAccountConstraintSourceTypes<sup>9+</sup> 2040e41f4b71Sopenharmony_ci 2041e41f4b71Sopenharmony_cigetOsAccountConstraintSourceTypes(localId: number, constraint: string): Promise<Array<ConstraintSourceTypeInfo>>; 2042e41f4b71Sopenharmony_ci 2043e41f4b71Sopenharmony_ci查询指定系统账号的指定约束来源信息,使用Promise异步回调。 2044e41f4b71Sopenharmony_ci 2045e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2046e41f4b71Sopenharmony_ci 2047e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 2048e41f4b71Sopenharmony_ci 2049e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2050e41f4b71Sopenharmony_ci 2051e41f4b71Sopenharmony_ci**参数:** 2052e41f4b71Sopenharmony_ci 2053e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2054e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------ | 2055e41f4b71Sopenharmony_ci| localId | number | 是 | 要查询的系统账号ID | 2056e41f4b71Sopenharmony_ci| constraint | string | 是 | 要查询的[约束](js-apis-osAccount.md#系统账号约束列表)名称 | 2057e41f4b71Sopenharmony_ci 2058e41f4b71Sopenharmony_ci**返回值:** 2059e41f4b71Sopenharmony_ci 2060e41f4b71Sopenharmony_ci| 类型 | 说明 | 2061e41f4b71Sopenharmony_ci| --------------------- | ------------------------------------------------------------ | 2062e41f4b71Sopenharmony_ci| Promise<Array<[ConstraintSourceTypeInfo](#constraintsourcetypeinfo9)>> | Promise对象,返回指定系统账号的指定[约束](js-apis-osAccount.md#系统账号约束列表)来源信息。 | 2063e41f4b71Sopenharmony_ci 2064e41f4b71Sopenharmony_ci**错误码:** 2065e41f4b71Sopenharmony_ci 2066e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2067e41f4b71Sopenharmony_ci| -------- | ------------- | 2068e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2069e41f4b71Sopenharmony_ci| 202 | Not system application.| 2070e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2071e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2072e41f4b71Sopenharmony_ci| 12300002 | Invalid name or constraint. | 2073e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 2074e41f4b71Sopenharmony_ci 2075e41f4b71Sopenharmony_ci**示例:** 2076e41f4b71Sopenharmony_ci 2077e41f4b71Sopenharmony_ci ```ts 2078e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 2079e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 2080e41f4b71Sopenharmony_ci try { 2081e41f4b71Sopenharmony_ci accountManager.getOsAccountConstraintSourceTypes(100, 'constraint.wifi').then( 2082e41f4b71Sopenharmony_ci (result: osAccount.ConstraintSourceTypeInfo[]) => { 2083e41f4b71Sopenharmony_ci console.info('getOsAccountConstraintSourceTypes sourceTypeInfos:' + JSON.stringify(result)); 2084e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 2085e41f4b71Sopenharmony_ci console.info('getOsAccountConstraintSourceTypes errInfo:' + JSON.stringify(err)); 2086e41f4b71Sopenharmony_ci }); 2087e41f4b71Sopenharmony_ci } catch (e) { 2088e41f4b71Sopenharmony_ci console.info('getOsAccountConstraintSourceTypes exception: ' + JSON.stringify(e)); 2089e41f4b71Sopenharmony_ci } 2090e41f4b71Sopenharmony_ci ``` 2091e41f4b71Sopenharmony_ci 2092e41f4b71Sopenharmony_ci### getOsAccountType<sup>12+</sup> 2093e41f4b71Sopenharmony_ci 2094e41f4b71Sopenharmony_cigetOsAccountType(localId: number): Promise<OsAccountType>; 2095e41f4b71Sopenharmony_ci 2096e41f4b71Sopenharmony_ci查询指定系统账号的类型,使用Promise异步回调。 2097e41f4b71Sopenharmony_ci 2098e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2099e41f4b71Sopenharmony_ci 2100e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS 2101e41f4b71Sopenharmony_ci 2102e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2103e41f4b71Sopenharmony_ci 2104e41f4b71Sopenharmony_ci**参数:** 2105e41f4b71Sopenharmony_ci 2106e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2107e41f4b71Sopenharmony_ci| ------- | ------ | ---- | ------------ | 2108e41f4b71Sopenharmony_ci| localId | number | 是 | 要查询的系统账号ID。 | 2109e41f4b71Sopenharmony_ci 2110e41f4b71Sopenharmony_ci**返回值:** 2111e41f4b71Sopenharmony_ci 2112e41f4b71Sopenharmony_ci| 类型 | 说明 | 2113e41f4b71Sopenharmony_ci| --------------------- | ------------------------------------------------------------ | 2114e41f4b71Sopenharmony_ci| Promise<[OsAccountType](js-apis-osAccount.md#osaccounttype)> | Promise对象,返回指定系统账号的类型。 | 2115e41f4b71Sopenharmony_ci 2116e41f4b71Sopenharmony_ci**错误码:** 2117e41f4b71Sopenharmony_ci 2118e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2119e41f4b71Sopenharmony_ci| -------- | ------------- | 2120e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2121e41f4b71Sopenharmony_ci| 202 | Not system application.| 2122e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2123e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2124e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 2125e41f4b71Sopenharmony_ci 2126e41f4b71Sopenharmony_ci**示例:** 2127e41f4b71Sopenharmony_ci 2128e41f4b71Sopenharmony_ci ```ts 2129e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 2130e41f4b71Sopenharmony_ci let accountManager: osAccount.AccountManager = osAccount.getAccountManager(); 2131e41f4b71Sopenharmony_ci try { 2132e41f4b71Sopenharmony_ci let localId: number = 100; 2133e41f4b71Sopenharmony_ci accountManager.getOsAccountType(localId).then((type: osAccount.OsAccountType) => { 2134e41f4b71Sopenharmony_ci console.info('getOsAccountType Type:' + type); 2135e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 2136e41f4b71Sopenharmony_ci console.info('getOsAccountType errInfo:' + JSON.stringify(err)); 2137e41f4b71Sopenharmony_ci }); 2138e41f4b71Sopenharmony_ci } catch (e) { 2139e41f4b71Sopenharmony_ci console.info('getOsAccountType exception: ' + JSON.stringify(e)); 2140e41f4b71Sopenharmony_ci } 2141e41f4b71Sopenharmony_ci ``` 2142e41f4b71Sopenharmony_ci 2143e41f4b71Sopenharmony_ci## UserAuth<sup>8+</sup> 2144e41f4b71Sopenharmony_ci 2145e41f4b71Sopenharmony_ci用户认证类。 2146e41f4b71Sopenharmony_ci 2147e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2148e41f4b71Sopenharmony_ci 2149e41f4b71Sopenharmony_ci### constructor<sup>8+</sup> 2150e41f4b71Sopenharmony_ci 2151e41f4b71Sopenharmony_ciconstructor() 2152e41f4b71Sopenharmony_ci 2153e41f4b71Sopenharmony_ci创建用户认证的实例。 2154e41f4b71Sopenharmony_ci 2155e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2156e41f4b71Sopenharmony_ci 2157e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Account.OsAccount 2158e41f4b71Sopenharmony_ci 2159e41f4b71Sopenharmony_ci**错误码:** 2160e41f4b71Sopenharmony_ci 2161e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2162e41f4b71Sopenharmony_ci| -------- | ------------- | 2163e41f4b71Sopenharmony_ci| 202 | Not system application.| 2164e41f4b71Sopenharmony_ci 2165e41f4b71Sopenharmony_ci**示例:** 2166e41f4b71Sopenharmony_ci ```ts 2167e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2168e41f4b71Sopenharmony_ci ``` 2169e41f4b71Sopenharmony_ci 2170e41f4b71Sopenharmony_ci### getVersion<sup>8+</sup> 2171e41f4b71Sopenharmony_ci 2172e41f4b71Sopenharmony_cigetVersion(): number; 2173e41f4b71Sopenharmony_ci 2174e41f4b71Sopenharmony_ci返回版本信息。 2175e41f4b71Sopenharmony_ci 2176e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2177e41f4b71Sopenharmony_ci 2178e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2179e41f4b71Sopenharmony_ci 2180e41f4b71Sopenharmony_ci**返回值:** 2181e41f4b71Sopenharmony_ci 2182e41f4b71Sopenharmony_ci| 类型 | 说明 | 2183e41f4b71Sopenharmony_ci| :----- | :----------- | 2184e41f4b71Sopenharmony_ci| number | 返回版本信息。| 2185e41f4b71Sopenharmony_ci 2186e41f4b71Sopenharmony_ci**错误码:** 2187e41f4b71Sopenharmony_ci 2188e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2189e41f4b71Sopenharmony_ci| -------- | ------------- | 2190e41f4b71Sopenharmony_ci| 202 | Not system application.| 2191e41f4b71Sopenharmony_ci 2192e41f4b71Sopenharmony_ci**示例:** 2193e41f4b71Sopenharmony_ci ```ts 2194e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2195e41f4b71Sopenharmony_ci let version: number = userAuth.getVersion(); 2196e41f4b71Sopenharmony_ci console.log('getVersion version = ' + version); 2197e41f4b71Sopenharmony_ci ``` 2198e41f4b71Sopenharmony_ci 2199e41f4b71Sopenharmony_ci### getAvailableStatus<sup>8+</sup> 2200e41f4b71Sopenharmony_ci 2201e41f4b71Sopenharmony_cigetAvailableStatus(authType: AuthType, authTrustLevel: AuthTrustLevel): number; 2202e41f4b71Sopenharmony_ci 2203e41f4b71Sopenharmony_ci获取指定认证类型和认证可信等级的认证能力的可用状态。 2204e41f4b71Sopenharmony_ci 2205e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2206e41f4b71Sopenharmony_ci 2207e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2208e41f4b71Sopenharmony_ci 2209e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 2210e41f4b71Sopenharmony_ci 2211e41f4b71Sopenharmony_ci**参数:** 2212e41f4b71Sopenharmony_ci 2213e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2214e41f4b71Sopenharmony_ci| --------------- | -----------------------------------| ---- | ------------------------- | 2215e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 是 | 认证类型。 | 2216e41f4b71Sopenharmony_ci| authTrustLevel | [AuthTrustLevel](#authtrustlevel8) | 是 | 认证的可信等级。 | 2217e41f4b71Sopenharmony_ci 2218e41f4b71Sopenharmony_ci**返回值:** 2219e41f4b71Sopenharmony_ci 2220e41f4b71Sopenharmony_ci| 类型 | 说明 | 2221e41f4b71Sopenharmony_ci| ------ | ----------------------------- | 2222e41f4b71Sopenharmony_ci| number | 返回认证能力的可用状态。 | 2223e41f4b71Sopenharmony_ci 2224e41f4b71Sopenharmony_ci**错误码:** 2225e41f4b71Sopenharmony_ci 2226e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2227e41f4b71Sopenharmony_ci| -------- | --------------------------- | 2228e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2229e41f4b71Sopenharmony_ci| 202 | Not system application.| 2230e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2231e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2232e41f4b71Sopenharmony_ci| 12300002 | Invalid authType or authTrustLevel. | 2233e41f4b71Sopenharmony_ci 2234e41f4b71Sopenharmony_ci**示例:** 2235e41f4b71Sopenharmony_ci ```ts 2236e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2237e41f4b71Sopenharmony_ci let authType: osAccount.AuthType = osAccount.AuthType.PIN; 2238e41f4b71Sopenharmony_ci let authTrustLevel: osAccount.AuthTrustLevel = osAccount.AuthTrustLevel.ATL1; 2239e41f4b71Sopenharmony_ci try { 2240e41f4b71Sopenharmony_ci let status: number = userAuth.getAvailableStatus(authType, authTrustLevel); 2241e41f4b71Sopenharmony_ci console.log('getAvailableStatus status = ' + status); 2242e41f4b71Sopenharmony_ci } catch (e) { 2243e41f4b71Sopenharmony_ci console.log('getAvailableStatus exception = ' + JSON.stringify(e)); 2244e41f4b71Sopenharmony_ci } 2245e41f4b71Sopenharmony_ci ``` 2246e41f4b71Sopenharmony_ci 2247e41f4b71Sopenharmony_ci### getProperty<sup>8+</sup> 2248e41f4b71Sopenharmony_ci 2249e41f4b71Sopenharmony_cigetProperty(request: GetPropertyRequest, callback: AsyncCallback<ExecutorProperty>): void 2250e41f4b71Sopenharmony_ci 2251e41f4b71Sopenharmony_ci基于指定的请求信息获取属性。使用callback异步回调。 2252e41f4b71Sopenharmony_ci 2253e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2254e41f4b71Sopenharmony_ci 2255e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2256e41f4b71Sopenharmony_ci 2257e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 2258e41f4b71Sopenharmony_ci 2259e41f4b71Sopenharmony_ci**参数:** 2260e41f4b71Sopenharmony_ci 2261e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2262e41f4b71Sopenharmony_ci| -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------ | 2263e41f4b71Sopenharmony_ci| request | [GetPropertyRequest](#getpropertyrequest8) | 是 | 请求信息,包括认证类型和属性类型列表。 | 2264e41f4b71Sopenharmony_ci| callback | AsyncCallback<[ExecutorProperty](#executorproperty8)> | 是 | 回调函数。如果获取成功,err为null,data为执行器属性信息;否则为错误对象。| 2265e41f4b71Sopenharmony_ci 2266e41f4b71Sopenharmony_ci**错误码:** 2267e41f4b71Sopenharmony_ci 2268e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2269e41f4b71Sopenharmony_ci| -------- | --------------------------- | 2270e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2271e41f4b71Sopenharmony_ci| 202 | Not system application.| 2272e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2273e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2274e41f4b71Sopenharmony_ci| 12300002 | Invalid request. | 2275e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 2276e41f4b71Sopenharmony_ci 2277e41f4b71Sopenharmony_ci**示例:** 2278e41f4b71Sopenharmony_ci ```ts 2279e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 2280e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2281e41f4b71Sopenharmony_ci let keys: Array<osAccount.GetPropertyType> = [ 2282e41f4b71Sopenharmony_ci osAccount.GetPropertyType.AUTH_SUB_TYPE, 2283e41f4b71Sopenharmony_ci osAccount.GetPropertyType.REMAIN_TIMES, 2284e41f4b71Sopenharmony_ci osAccount.GetPropertyType.FREEZING_TIME 2285e41f4b71Sopenharmony_ci ]; 2286e41f4b71Sopenharmony_ci let request: osAccount.GetPropertyRequest = { 2287e41f4b71Sopenharmony_ci authType: osAccount.AuthType.PIN, 2288e41f4b71Sopenharmony_ci keys: keys 2289e41f4b71Sopenharmony_ci }; 2290e41f4b71Sopenharmony_ci try { 2291e41f4b71Sopenharmony_ci userAuth.getProperty(request, (err: BusinessError, result: osAccount.ExecutorProperty) => { 2292e41f4b71Sopenharmony_ci console.log('getProperty err = ' + JSON.stringify(err)); 2293e41f4b71Sopenharmony_ci console.log('getProperty result = ' + JSON.stringify(result)); 2294e41f4b71Sopenharmony_ci }); 2295e41f4b71Sopenharmony_ci } catch (e) { 2296e41f4b71Sopenharmony_ci console.log('getProperty exception = ' + JSON.stringify(e)); 2297e41f4b71Sopenharmony_ci } 2298e41f4b71Sopenharmony_ci ``` 2299e41f4b71Sopenharmony_ci 2300e41f4b71Sopenharmony_ci### getProperty<sup>8+</sup> 2301e41f4b71Sopenharmony_ci 2302e41f4b71Sopenharmony_cigetProperty(request: GetPropertyRequest): Promise<ExecutorProperty>; 2303e41f4b71Sopenharmony_ci 2304e41f4b71Sopenharmony_ci基于指定的请求信息获取属性。使用Promise异步回调。 2305e41f4b71Sopenharmony_ci 2306e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2307e41f4b71Sopenharmony_ci 2308e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2309e41f4b71Sopenharmony_ci 2310e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 2311e41f4b71Sopenharmony_ci 2312e41f4b71Sopenharmony_ci**参数:** 2313e41f4b71Sopenharmony_ci 2314e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2315e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------ | ---- | ---------------------------------- | 2316e41f4b71Sopenharmony_ci| request | [GetPropertyRequest](#getpropertyrequest8) | 是 | 请求信息,包括认证类型和属性类型列表。 | 2317e41f4b71Sopenharmony_ci 2318e41f4b71Sopenharmony_ci**返回值:** 2319e41f4b71Sopenharmony_ci 2320e41f4b71Sopenharmony_ci| 类型 | 说明 | 2321e41f4b71Sopenharmony_ci| :---------------------------------------------------------------- | :-------------------------------------------------- | 2322e41f4b71Sopenharmony_ci| Promise<[ExecutorProperty](#executorproperty8)> | Promise对象,返回执行者属性信息。 | 2323e41f4b71Sopenharmony_ci 2324e41f4b71Sopenharmony_ci**错误码:** 2325e41f4b71Sopenharmony_ci 2326e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2327e41f4b71Sopenharmony_ci| -------- | --------------------------- | 2328e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2329e41f4b71Sopenharmony_ci| 202 | Not system application.| 2330e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2331e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2332e41f4b71Sopenharmony_ci| 12300002 | Invalid request. | 2333e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 2334e41f4b71Sopenharmony_ci 2335e41f4b71Sopenharmony_ci**示例:** 2336e41f4b71Sopenharmony_ci ```ts 2337e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 2338e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2339e41f4b71Sopenharmony_ci let keys: Array<osAccount.GetPropertyType> = [ 2340e41f4b71Sopenharmony_ci osAccount.GetPropertyType.AUTH_SUB_TYPE, 2341e41f4b71Sopenharmony_ci osAccount.GetPropertyType.REMAIN_TIMES, 2342e41f4b71Sopenharmony_ci osAccount.GetPropertyType.FREEZING_TIME 2343e41f4b71Sopenharmony_ci ]; 2344e41f4b71Sopenharmony_ci let request: osAccount.GetPropertyRequest = { 2345e41f4b71Sopenharmony_ci authType: osAccount.AuthType.PIN, 2346e41f4b71Sopenharmony_ci keys: keys 2347e41f4b71Sopenharmony_ci }; 2348e41f4b71Sopenharmony_ci try { 2349e41f4b71Sopenharmony_ci userAuth.getProperty(request).then((result: osAccount.ExecutorProperty) => { 2350e41f4b71Sopenharmony_ci console.log('getProperty result = ' + JSON.stringify(result)); 2351e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 2352e41f4b71Sopenharmony_ci console.log('getProperty error = ' + JSON.stringify(err)); 2353e41f4b71Sopenharmony_ci }); 2354e41f4b71Sopenharmony_ci } catch (e) { 2355e41f4b71Sopenharmony_ci console.log('getProperty exception = ' + JSON.stringify(e)); 2356e41f4b71Sopenharmony_ci } 2357e41f4b71Sopenharmony_ci ``` 2358e41f4b71Sopenharmony_ci 2359e41f4b71Sopenharmony_ci### setProperty<sup>8+</sup> 2360e41f4b71Sopenharmony_ci 2361e41f4b71Sopenharmony_cisetProperty(request: SetPropertyRequest, callback: AsyncCallback<void>): void 2362e41f4b71Sopenharmony_ci 2363e41f4b71Sopenharmony_ci设置可用于初始化算法的属性。使用callback异步回调。 2364e41f4b71Sopenharmony_ci 2365e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2366e41f4b71Sopenharmony_ci 2367e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2368e41f4b71Sopenharmony_ci 2369e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 2370e41f4b71Sopenharmony_ci 2371e41f4b71Sopenharmony_ci**参数:** 2372e41f4b71Sopenharmony_ci 2373e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2374e41f4b71Sopenharmony_ci| -------- | ----------------------------------------------------- | ---- | ---------------------------------------------------------------------- | 2375e41f4b71Sopenharmony_ci| request | [SetPropertyRequest](#setpropertyrequest8)| 是 | 请求信息,包括认证类型和要设置的密钥值。 | 2376e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 回调函数。如果设置成功,err为null,否则为错误对象。 | 2377e41f4b71Sopenharmony_ci 2378e41f4b71Sopenharmony_ci**错误码:** 2379e41f4b71Sopenharmony_ci 2380e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2381e41f4b71Sopenharmony_ci| -------- | --------------------------- | 2382e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2383e41f4b71Sopenharmony_ci| 202 | Not system application.| 2384e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2385e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2386e41f4b71Sopenharmony_ci| 12300002 | Invalid request. | 2387e41f4b71Sopenharmony_ci 2388e41f4b71Sopenharmony_ci**示例:** 2389e41f4b71Sopenharmony_ci ```ts 2390e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 2391e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2392e41f4b71Sopenharmony_ci let request: osAccount.SetPropertyRequest = { 2393e41f4b71Sopenharmony_ci authType: osAccount.AuthType.PIN, 2394e41f4b71Sopenharmony_ci key: osAccount.SetPropertyType.INIT_ALGORITHM, 2395e41f4b71Sopenharmony_ci setInfo: new Uint8Array([0]) 2396e41f4b71Sopenharmony_ci }; 2397e41f4b71Sopenharmony_ci try { 2398e41f4b71Sopenharmony_ci userAuth.setProperty(request, (err: BusinessError) => { 2399e41f4b71Sopenharmony_ci if (err) { 2400e41f4b71Sopenharmony_ci console.log('setProperty failed, error = ' + JSON.stringify(err)); 2401e41f4b71Sopenharmony_ci } else { 2402e41f4b71Sopenharmony_ci console.log('setProperty successfully'); 2403e41f4b71Sopenharmony_ci } 2404e41f4b71Sopenharmony_ci }); 2405e41f4b71Sopenharmony_ci } catch (e) { 2406e41f4b71Sopenharmony_ci console.log('setProperty exception = ' + JSON.stringify(e)); 2407e41f4b71Sopenharmony_ci } 2408e41f4b71Sopenharmony_ci ``` 2409e41f4b71Sopenharmony_ci 2410e41f4b71Sopenharmony_ci### setProperty<sup>8+</sup> 2411e41f4b71Sopenharmony_ci 2412e41f4b71Sopenharmony_cisetProperty(request: SetPropertyRequest): Promise<void>; 2413e41f4b71Sopenharmony_ci 2414e41f4b71Sopenharmony_ci设置可用于初始化算法的属性。使用Promise异步回调。 2415e41f4b71Sopenharmony_ci 2416e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2417e41f4b71Sopenharmony_ci 2418e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2419e41f4b71Sopenharmony_ci 2420e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 2421e41f4b71Sopenharmony_ci 2422e41f4b71Sopenharmony_ci**参数:** 2423e41f4b71Sopenharmony_ci 2424e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2425e41f4b71Sopenharmony_ci| -------- | ------------------------------------------ | ---- | ---------------------------------------- | 2426e41f4b71Sopenharmony_ci| request | [SetPropertyRequest](#setpropertyrequest8) | 是 | 请求信息,包括身份验证类型和要设置的密钥值。 | 2427e41f4b71Sopenharmony_ci 2428e41f4b71Sopenharmony_ci**返回值:** 2429e41f4b71Sopenharmony_ci 2430e41f4b71Sopenharmony_ci| 类型 | 说明 | 2431e41f4b71Sopenharmony_ci| :-------------------- | :------------------------------------------------------------ | 2432e41f4b71Sopenharmony_ci| Promise<void> | Promise对象,无返回结果的Promise对象。 | 2433e41f4b71Sopenharmony_ci 2434e41f4b71Sopenharmony_ci**错误码:** 2435e41f4b71Sopenharmony_ci 2436e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2437e41f4b71Sopenharmony_ci| -------- | --------------------------- | 2438e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2439e41f4b71Sopenharmony_ci| 202 | Not system application.| 2440e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2441e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2442e41f4b71Sopenharmony_ci| 12300002 | Invalid request. | 2443e41f4b71Sopenharmony_ci 2444e41f4b71Sopenharmony_ci**示例:** 2445e41f4b71Sopenharmony_ci ```ts 2446e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 2447e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2448e41f4b71Sopenharmony_ci let request: osAccount.SetPropertyRequest = { 2449e41f4b71Sopenharmony_ci authType: osAccount.AuthType.PIN, 2450e41f4b71Sopenharmony_ci key: osAccount.SetPropertyType.INIT_ALGORITHM, 2451e41f4b71Sopenharmony_ci setInfo: new Uint8Array([0]) 2452e41f4b71Sopenharmony_ci }; 2453e41f4b71Sopenharmony_ci try { 2454e41f4b71Sopenharmony_ci userAuth.setProperty(request).then(() => { 2455e41f4b71Sopenharmony_ci console.log('setProperty successfully'); 2456e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 2457e41f4b71Sopenharmony_ci console.log('setProperty failed, error = ' + JSON.stringify(err)); 2458e41f4b71Sopenharmony_ci }); 2459e41f4b71Sopenharmony_ci } catch (e) { 2460e41f4b71Sopenharmony_ci console.log('setProperty exception = ' + JSON.stringify(e)); 2461e41f4b71Sopenharmony_ci } 2462e41f4b71Sopenharmony_ci ``` 2463e41f4b71Sopenharmony_ci 2464e41f4b71Sopenharmony_ci### prepareRemoteAuth<sup>12+</sup> 2465e41f4b71Sopenharmony_ci 2466e41f4b71Sopenharmony_ciprepareRemoteAuth(remoteNetworkId: string): Promise<void>; 2467e41f4b71Sopenharmony_ci 2468e41f4b71Sopenharmony_ci准备远端认证。使用Promise异步回调。 2469e41f4b71Sopenharmony_ci 2470e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2471e41f4b71Sopenharmony_ci 2472e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2473e41f4b71Sopenharmony_ci 2474e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 2475e41f4b71Sopenharmony_ci 2476e41f4b71Sopenharmony_ci**参数:** 2477e41f4b71Sopenharmony_ci 2478e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2479e41f4b71Sopenharmony_ci| -------- | ------ | ---- | --------------- | 2480e41f4b71Sopenharmony_ci| remoteNetworkId | string | 是 | 远端网络Id。 | 2481e41f4b71Sopenharmony_ci 2482e41f4b71Sopenharmony_ci**返回值:** 2483e41f4b71Sopenharmony_ci 2484e41f4b71Sopenharmony_ci| 类型 | 说明 | 2485e41f4b71Sopenharmony_ci| :-------------------- | :------------------------------------------------------------ | 2486e41f4b71Sopenharmony_ci| Promise<void> | Promise对象,无返回结果的Promise对象。 | 2487e41f4b71Sopenharmony_ci 2488e41f4b71Sopenharmony_ci**错误码:** 2489e41f4b71Sopenharmony_ci 2490e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2491e41f4b71Sopenharmony_ci| -------- | --------------------------- | 2492e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2493e41f4b71Sopenharmony_ci| 202 | Not system application.| 2494e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2495e41f4b71Sopenharmony_ci| 12300001 | System service exception. | 2496e41f4b71Sopenharmony_ci| 12300002 | Invalid remoteNetworkId. | 2497e41f4b71Sopenharmony_ci 2498e41f4b71Sopenharmony_ci**示例:** 2499e41f4b71Sopenharmony_ci ```ts 2500e41f4b71Sopenharmony_ci import { distributedDeviceManager } from '@kit.DistributedServiceKit'; 2501e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 2502e41f4b71Sopenharmony_ci 2503e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2504e41f4b71Sopenharmony_ci let distributedDeviceMgr = distributedDeviceManager.createDeviceManager("com.example.bundleName"); 2505e41f4b71Sopenharmony_ci distributedDeviceMgr.getAvailableDeviceList().then((data: Array<distributedDeviceManager.DeviceBasicInfo>) => { 2506e41f4b71Sopenharmony_ci try { 2507e41f4b71Sopenharmony_ci if (data.length > 0 && data[0].networkId != null) { 2508e41f4b71Sopenharmony_ci userAuth.prepareRemoteAuth(data[0].networkId).then(() => { 2509e41f4b71Sopenharmony_ci console.log('prepareRemoteAuth successfully'); 2510e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 2511e41f4b71Sopenharmony_ci console.log('prepareRemoteAuth failed, error = ' + JSON.stringify(err)); 2512e41f4b71Sopenharmony_ci }); 2513e41f4b71Sopenharmony_ci } 2514e41f4b71Sopenharmony_ci } catch (e) { 2515e41f4b71Sopenharmony_ci console.log('prepareRemoteAuth exception = ' + JSON.stringify(e)); 2516e41f4b71Sopenharmony_ci } 2517e41f4b71Sopenharmony_ci } 2518e41f4b71Sopenharmony_ci ) 2519e41f4b71Sopenharmony_ci ``` 2520e41f4b71Sopenharmony_ci 2521e41f4b71Sopenharmony_ci### auth<sup>8+</sup> 2522e41f4b71Sopenharmony_ci 2523e41f4b71Sopenharmony_ciauth(challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array; 2524e41f4b71Sopenharmony_ci 2525e41f4b71Sopenharmony_ci认证当前用户。使用callback异步回调。 2526e41f4b71Sopenharmony_ci 2527e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2528e41f4b71Sopenharmony_ci 2529e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2530e41f4b71Sopenharmony_ci 2531e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 2532e41f4b71Sopenharmony_ci 2533e41f4b71Sopenharmony_ci**参数:** 2534e41f4b71Sopenharmony_ci 2535e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2536e41f4b71Sopenharmony_ci| --------------- | ---------------------------------------- | --- | ------------------------------------ | 2537e41f4b71Sopenharmony_ci| challenge | Uint8Array | 是 | 指示挑战值,挑战值为一个随机数,用于提升安全性。| 2538e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 是 | 指示认证类型。 | 2539e41f4b71Sopenharmony_ci| authTrustLevel | [AuthTrustLevel](#authtrustlevel8) | 是 | 指示认证结果的信任级别。 | 2540e41f4b71Sopenharmony_ci| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 回调对象,返回认证结果。 | 2541e41f4b71Sopenharmony_ci 2542e41f4b71Sopenharmony_ci**返回值:** 2543e41f4b71Sopenharmony_ci 2544e41f4b71Sopenharmony_ci| 类型 | 说明 | 2545e41f4b71Sopenharmony_ci| ---------- | ------------------ | 2546e41f4b71Sopenharmony_ci| Uint8Array | 返回取消的上下文ID。 | 2547e41f4b71Sopenharmony_ci 2548e41f4b71Sopenharmony_ci**错误码:** 2549e41f4b71Sopenharmony_ci 2550e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2551e41f4b71Sopenharmony_ci| -------- | --------------------- | 2552e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2553e41f4b71Sopenharmony_ci| 202 | Not system application.| 2554e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2555e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2556e41f4b71Sopenharmony_ci| 12300002 | Invalid challenge, authType or authTrustLevel. | 2557e41f4b71Sopenharmony_ci| 12300101 | The credential is incorrect. | 2558e41f4b71Sopenharmony_ci| 12300102 | Credential not enrolled. | 2559e41f4b71Sopenharmony_ci| 12300105 | The trust level is not supported. | 2560e41f4b71Sopenharmony_ci| 12300106 | The authentication type is not supported. | 2561e41f4b71Sopenharmony_ci| 12300109 | The authentication, enrollment, or update operation is canceled. | 2562e41f4b71Sopenharmony_ci| 12300110 | The authentication is locked. | 2563e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 2564e41f4b71Sopenharmony_ci| 12300112 | The authentication service is busy. | 2565e41f4b71Sopenharmony_ci| 12300117 | PIN is expired. | 2566e41f4b71Sopenharmony_ci 2567e41f4b71Sopenharmony_ci**示例:** 2568e41f4b71Sopenharmony_ci ```ts 2569e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2570e41f4b71Sopenharmony_ci let challenge: Uint8Array = new Uint8Array([0]); 2571e41f4b71Sopenharmony_ci let authType: osAccount.AuthType = osAccount.AuthType.PIN; 2572e41f4b71Sopenharmony_ci let authTrustLevel: osAccount.AuthTrustLevel = osAccount.AuthTrustLevel.ATL1; 2573e41f4b71Sopenharmony_ci try { 2574e41f4b71Sopenharmony_ci userAuth.auth(challenge, authType, authTrustLevel, { 2575e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: osAccount.AuthResult) => { 2576e41f4b71Sopenharmony_ci console.log('auth result = ' + result); 2577e41f4b71Sopenharmony_ci console.log('auth extraInfo = ' + JSON.stringify(extraInfo)); 2578e41f4b71Sopenharmony_ci } 2579e41f4b71Sopenharmony_ci }); 2580e41f4b71Sopenharmony_ci } catch (e) { 2581e41f4b71Sopenharmony_ci console.log('auth exception = ' + JSON.stringify(e)); 2582e41f4b71Sopenharmony_ci } 2583e41f4b71Sopenharmony_ci ``` 2584e41f4b71Sopenharmony_ci 2585e41f4b71Sopenharmony_ci### auth<sup>12+</sup> 2586e41f4b71Sopenharmony_ci 2587e41f4b71Sopenharmony_ciauth(challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, options: AuthOptions, callback: IUserAuthCallback): Uint8Array 2588e41f4b71Sopenharmony_ci 2589e41f4b71Sopenharmony_ci基于指定的挑战值、认证类型(如口令、人脸、指纹等)、认证可信等级以及可选参数(如账号标识、认证意图等)进行身份认证。使用callback异步回调。 2590e41f4b71Sopenharmony_ci 2591e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2592e41f4b71Sopenharmony_ci 2593e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2594e41f4b71Sopenharmony_ci 2595e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 2596e41f4b71Sopenharmony_ci 2597e41f4b71Sopenharmony_ci**参数:** 2598e41f4b71Sopenharmony_ci 2599e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2600e41f4b71Sopenharmony_ci| --------------- | ---------------------------------------- | --- | ------------------------------------ | 2601e41f4b71Sopenharmony_ci| challenge | Uint8Array | 是 | 指示挑战值,挑战值为一个随机数,用于防止重放攻击,提升安全性。| 2602e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 是 | 指示认证类型。 | 2603e41f4b71Sopenharmony_ci| authTrustLevel | [AuthTrustLevel](#authtrustlevel8) | 是 | 指示认证结果的信任级别。 | 2604e41f4b71Sopenharmony_ci| options | [AuthOptions](#authoptions12) | 是 | 指示认证用户的可选参数集合。 | 2605e41f4b71Sopenharmony_ci| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 回调对象,返回认证结果。 | 2606e41f4b71Sopenharmony_ci 2607e41f4b71Sopenharmony_ci**返回值:** 2608e41f4b71Sopenharmony_ci 2609e41f4b71Sopenharmony_ci| 类型 | 说明 | 2610e41f4b71Sopenharmony_ci| ---------- | ------------------ | 2611e41f4b71Sopenharmony_ci| Uint8Array | 返回取消的上下文ID。 | 2612e41f4b71Sopenharmony_ci 2613e41f4b71Sopenharmony_ci**错误码:** 2614e41f4b71Sopenharmony_ci 2615e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2616e41f4b71Sopenharmony_ci| -------- | --------------------- | 2617e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2618e41f4b71Sopenharmony_ci| 202 | Not system application.| 2619e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2620e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2621e41f4b71Sopenharmony_ci| 12300002 | Invalid challenge, authType, authTrustLevel or options. | 2622e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 2623e41f4b71Sopenharmony_ci| 12300101 | The credential is incorrect. | 2624e41f4b71Sopenharmony_ci| 12300102 | Credential not enrolled. | 2625e41f4b71Sopenharmony_ci| 12300105 | The trust level is not supported. | 2626e41f4b71Sopenharmony_ci| 12300106 | The authentication type is not supported. | 2627e41f4b71Sopenharmony_ci| 12300109 | The authentication, enrollment, or update operation is canceled. | 2628e41f4b71Sopenharmony_ci| 12300110 | The authentication is locked. | 2629e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 2630e41f4b71Sopenharmony_ci| 12300112 | The authentication service is busy. | 2631e41f4b71Sopenharmony_ci| 12300117 | PIN is expired. | 2632e41f4b71Sopenharmony_ci 2633e41f4b71Sopenharmony_ci**示例:** 2634e41f4b71Sopenharmony_ci ```ts 2635e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2636e41f4b71Sopenharmony_ci let challenge: Uint8Array = new Uint8Array([0]); 2637e41f4b71Sopenharmony_ci let authType: osAccount.AuthType = osAccount.AuthType.PIN; 2638e41f4b71Sopenharmony_ci let authTrustLevel: osAccount.AuthTrustLevel = osAccount.AuthTrustLevel.ATL1; 2639e41f4b71Sopenharmony_ci let options: osAccount.AuthOptions = { 2640e41f4b71Sopenharmony_ci accountId: 100 2641e41f4b71Sopenharmony_ci }; 2642e41f4b71Sopenharmony_ci try { 2643e41f4b71Sopenharmony_ci userAuth.auth(challenge, authType, authTrustLevel, options, { 2644e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: osAccount.AuthResult) => { 2645e41f4b71Sopenharmony_ci console.log('auth result = ' + result); 2646e41f4b71Sopenharmony_ci console.log('auth extraInfo = ' + JSON.stringify(extraInfo)); 2647e41f4b71Sopenharmony_ci } 2648e41f4b71Sopenharmony_ci }); 2649e41f4b71Sopenharmony_ci } catch (e) { 2650e41f4b71Sopenharmony_ci console.log('auth exception = ' + JSON.stringify(e)); 2651e41f4b71Sopenharmony_ci } 2652e41f4b71Sopenharmony_ci ``` 2653e41f4b71Sopenharmony_ci 2654e41f4b71Sopenharmony_ci### authUser<sup>8+</sup> 2655e41f4b71Sopenharmony_ci 2656e41f4b71Sopenharmony_ciauthUser(userId: number, challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array; 2657e41f4b71Sopenharmony_ci 2658e41f4b71Sopenharmony_ci认证指定用户。使用callback异步回调。 2659e41f4b71Sopenharmony_ci 2660e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2661e41f4b71Sopenharmony_ci 2662e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2663e41f4b71Sopenharmony_ci 2664e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 2665e41f4b71Sopenharmony_ci 2666e41f4b71Sopenharmony_ci**参数:** 2667e41f4b71Sopenharmony_ci 2668e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2669e41f4b71Sopenharmony_ci| --------------- | ---------------------------------------------------- | --- | ------------------------------------ | 2670e41f4b71Sopenharmony_ci| userId | number | 是 | 指示用户身份。 | 2671e41f4b71Sopenharmony_ci| challenge | Uint8Array | 是 | 指示挑战值,挑战值为一个随机数,用于提升安全性。 | 2672e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 是 | 指示认证类型。 | 2673e41f4b71Sopenharmony_ci| authTrustLevel | [AuthTrustLevel](#authtrustlevel8) | 是 | 指示认证结果的信任级别。 | 2674e41f4b71Sopenharmony_ci| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 回调对象,返回认证结果。 | 2675e41f4b71Sopenharmony_ci 2676e41f4b71Sopenharmony_ci**返回值:** 2677e41f4b71Sopenharmony_ci 2678e41f4b71Sopenharmony_ci| 类型 | 说明 | 2679e41f4b71Sopenharmony_ci| ---------- | ------------------ | 2680e41f4b71Sopenharmony_ci| Uint8Array | 返回取消的上下文ID。 | 2681e41f4b71Sopenharmony_ci 2682e41f4b71Sopenharmony_ci**错误码:** 2683e41f4b71Sopenharmony_ci 2684e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2685e41f4b71Sopenharmony_ci| -------- | --------------------- | 2686e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2687e41f4b71Sopenharmony_ci| 202 | Not system application.| 2688e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2689e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2690e41f4b71Sopenharmony_ci| 12300002 | Invalid challenge, authType or authTrustLevel. | 2691e41f4b71Sopenharmony_ci| 12300101 | The credential is incorrect. | 2692e41f4b71Sopenharmony_ci| 12300102 | Credential not enrolled. | 2693e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 2694e41f4b71Sopenharmony_ci| 12300105 | The trust level is not supported. | 2695e41f4b71Sopenharmony_ci| 12300106 | The authentication type is not supported. | 2696e41f4b71Sopenharmony_ci| 12300109 | The authentication, enrollment, or update operation is canceled. | 2697e41f4b71Sopenharmony_ci| 12300110 | The authentication is locked. | 2698e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 2699e41f4b71Sopenharmony_ci| 12300112 | The authentication service is busy. | 2700e41f4b71Sopenharmony_ci| 12300117 | PIN is expired. | 2701e41f4b71Sopenharmony_ci 2702e41f4b71Sopenharmony_ci**示例:** 2703e41f4b71Sopenharmony_ci ```ts 2704e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2705e41f4b71Sopenharmony_ci let userID: number = 100; 2706e41f4b71Sopenharmony_ci let challenge: Uint8Array = new Uint8Array([0]); 2707e41f4b71Sopenharmony_ci let authType: osAccount.AuthType = osAccount.AuthType.PIN; 2708e41f4b71Sopenharmony_ci let authTrustLevel: osAccount.AuthTrustLevel = osAccount.AuthTrustLevel.ATL1; 2709e41f4b71Sopenharmony_ci try { 2710e41f4b71Sopenharmony_ci userAuth.authUser(userID, challenge, authType, authTrustLevel, { 2711e41f4b71Sopenharmony_ci onResult: (result,extraInfo) => { 2712e41f4b71Sopenharmony_ci console.log('authUser result = ' + result); 2713e41f4b71Sopenharmony_ci console.log('authUser extraInfo = ' + JSON.stringify(extraInfo)); 2714e41f4b71Sopenharmony_ci } 2715e41f4b71Sopenharmony_ci }); 2716e41f4b71Sopenharmony_ci } catch (e) { 2717e41f4b71Sopenharmony_ci console.log('authUser exception = ' + JSON.stringify(e)); 2718e41f4b71Sopenharmony_ci } 2719e41f4b71Sopenharmony_ci ``` 2720e41f4b71Sopenharmony_ci 2721e41f4b71Sopenharmony_ci### cancelAuth<sup>8+</sup> 2722e41f4b71Sopenharmony_ci 2723e41f4b71Sopenharmony_cicancelAuth(contextID: Uint8Array): void 2724e41f4b71Sopenharmony_ci 2725e41f4b71Sopenharmony_ci取消指定的认证操作。 2726e41f4b71Sopenharmony_ci 2727e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2728e41f4b71Sopenharmony_ci 2729e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2730e41f4b71Sopenharmony_ci 2731e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 2732e41f4b71Sopenharmony_ci 2733e41f4b71Sopenharmony_ci**参数:** 2734e41f4b71Sopenharmony_ci 2735e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2736e41f4b71Sopenharmony_ci| ----------| ---------- | ---- | ------------------------------------------ | 2737e41f4b71Sopenharmony_ci| contextId | Uint8Array | 是 | 指示身份验证上下文ID,此ID动态生成没有具体值。 | 2738e41f4b71Sopenharmony_ci 2739e41f4b71Sopenharmony_ci**错误码:** 2740e41f4b71Sopenharmony_ci 2741e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2742e41f4b71Sopenharmony_ci| -------- | ------------------ | 2743e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2744e41f4b71Sopenharmony_ci| 202 | Not system application.| 2745e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2746e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2747e41f4b71Sopenharmony_ci| 12300002 | Invalid contextId. | 2748e41f4b71Sopenharmony_ci 2749e41f4b71Sopenharmony_ci**示例:** 2750e41f4b71Sopenharmony_ci ```ts 2751e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 2752e41f4b71Sopenharmony_ci let pinAuth: osAccount.PINAuth = new osAccount.PINAuth(); 2753e41f4b71Sopenharmony_ci let challenge = new Uint8Array([0]); 2754e41f4b71Sopenharmony_ci let contextId: Uint8Array = userAuth.auth(challenge, osAccount.AuthType.PIN, osAccount.AuthTrustLevel.ATL1, { 2755e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: osAccount.AuthResult) => { 2756e41f4b71Sopenharmony_ci console.log('auth result = ' + result); 2757e41f4b71Sopenharmony_ci console.log('auth extraInfo = ' + JSON.stringify(extraInfo)); 2758e41f4b71Sopenharmony_ci } 2759e41f4b71Sopenharmony_ci }); 2760e41f4b71Sopenharmony_ci try { 2761e41f4b71Sopenharmony_ci userAuth.cancelAuth(contextId); 2762e41f4b71Sopenharmony_ci } catch (e) { 2763e41f4b71Sopenharmony_ci console.log('cancelAuth exception = ' + JSON.stringify(e)); 2764e41f4b71Sopenharmony_ci } 2765e41f4b71Sopenharmony_ci ``` 2766e41f4b71Sopenharmony_ci 2767e41f4b71Sopenharmony_ci## PINAuth<sup>8+</sup> 2768e41f4b71Sopenharmony_ci 2769e41f4b71Sopenharmony_ciPIN码认证基类。 2770e41f4b71Sopenharmony_ci 2771e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2772e41f4b71Sopenharmony_ci 2773e41f4b71Sopenharmony_ci### constructor<sup>8+</sup> 2774e41f4b71Sopenharmony_ci 2775e41f4b71Sopenharmony_ciconstructor() 2776e41f4b71Sopenharmony_ci 2777e41f4b71Sopenharmony_ci创建PIN码认证的实例。 2778e41f4b71Sopenharmony_ci 2779e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2780e41f4b71Sopenharmony_ci 2781e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Account.OsAccount 2782e41f4b71Sopenharmony_ci 2783e41f4b71Sopenharmony_ci**错误码:** 2784e41f4b71Sopenharmony_ci 2785e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2786e41f4b71Sopenharmony_ci| -------- | ------------- | 2787e41f4b71Sopenharmony_ci| 202 | Not system application.| 2788e41f4b71Sopenharmony_ci 2789e41f4b71Sopenharmony_ci**示例:** 2790e41f4b71Sopenharmony_ci ```ts 2791e41f4b71Sopenharmony_ci let pinAuth: osAccount.PINAuth = new osAccount.PINAuth(); 2792e41f4b71Sopenharmony_ci ``` 2793e41f4b71Sopenharmony_ci 2794e41f4b71Sopenharmony_ci### registerInputer<sup>8+</sup> 2795e41f4b71Sopenharmony_ci 2796e41f4b71Sopenharmony_ciregisterInputer(inputer: IInputer): void 2797e41f4b71Sopenharmony_ci 2798e41f4b71Sopenharmony_ci注册PIN码输入器。 2799e41f4b71Sopenharmony_ci 2800e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2801e41f4b71Sopenharmony_ci 2802e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2803e41f4b71Sopenharmony_ci 2804e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_PIN_AUTH 2805e41f4b71Sopenharmony_ci 2806e41f4b71Sopenharmony_ci**参数:** 2807e41f4b71Sopenharmony_ci 2808e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2809e41f4b71Sopenharmony_ci| ----------| ----------------------- | --- | -------------------------- | 2810e41f4b71Sopenharmony_ci| inputer | [IInputer](#iinputer8) | 是 | PIN码输入器,用于获取PIN码。 | 2811e41f4b71Sopenharmony_ci 2812e41f4b71Sopenharmony_ci**错误码:** 2813e41f4b71Sopenharmony_ci 2814e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2815e41f4b71Sopenharmony_ci| -------- | --------------------------- | 2816e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2817e41f4b71Sopenharmony_ci| 202 | Not system application.| 2818e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2819e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2820e41f4b71Sopenharmony_ci| 12300002 | Invalid inputer. | 2821e41f4b71Sopenharmony_ci| 12300103 | The credential inputer already exists. | 2822e41f4b71Sopenharmony_ci 2823e41f4b71Sopenharmony_ci**示例:** 2824e41f4b71Sopenharmony_ci ```ts 2825e41f4b71Sopenharmony_ci let pinAuth: osAccount.PINAuth = new osAccount.PINAuth(); 2826e41f4b71Sopenharmony_ci let password = new Uint8Array([0, 0, 0, 0, 0]); 2827e41f4b71Sopenharmony_ci try { 2828e41f4b71Sopenharmony_ci pinAuth.registerInputer({ 2829e41f4b71Sopenharmony_ci onGetData: (authSubType: osAccount.AuthSubType, callback: osAccount.IInputData) => { 2830e41f4b71Sopenharmony_ci callback.onSetData(authSubType, password); 2831e41f4b71Sopenharmony_ci } 2832e41f4b71Sopenharmony_ci }); 2833e41f4b71Sopenharmony_ci console.log('registerInputer success.'); 2834e41f4b71Sopenharmony_ci } catch (e) { 2835e41f4b71Sopenharmony_ci console.log('registerInputer exception = ' + JSON.stringify(e)); 2836e41f4b71Sopenharmony_ci } 2837e41f4b71Sopenharmony_ci ``` 2838e41f4b71Sopenharmony_ci 2839e41f4b71Sopenharmony_ci### unregisterInputer<sup>8+</sup> 2840e41f4b71Sopenharmony_ci 2841e41f4b71Sopenharmony_ciunregisterInputer(): void 2842e41f4b71Sopenharmony_ci 2843e41f4b71Sopenharmony_ci解注册PIN码输入器。 2844e41f4b71Sopenharmony_ci 2845e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2846e41f4b71Sopenharmony_ci 2847e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2848e41f4b71Sopenharmony_ci 2849e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_PIN_AUTH 2850e41f4b71Sopenharmony_ci 2851e41f4b71Sopenharmony_ci**错误码:** 2852e41f4b71Sopenharmony_ci 2853e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2854e41f4b71Sopenharmony_ci| -------- | --------------------------- | 2855e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2856e41f4b71Sopenharmony_ci| 202 | Not system application.| 2857e41f4b71Sopenharmony_ci 2858e41f4b71Sopenharmony_ci**示例:** 2859e41f4b71Sopenharmony_ci ```ts 2860e41f4b71Sopenharmony_ci let pinAuth: osAccount.PINAuth = new osAccount.PINAuth(); 2861e41f4b71Sopenharmony_ci pinAuth.unregisterInputer(); 2862e41f4b71Sopenharmony_ci ``` 2863e41f4b71Sopenharmony_ci 2864e41f4b71Sopenharmony_ci## InputerManager <sup>9+</sup> 2865e41f4b71Sopenharmony_ci 2866e41f4b71Sopenharmony_ci凭据输入管理器。 2867e41f4b71Sopenharmony_ci 2868e41f4b71Sopenharmony_ci### registerInputer<sup>9+</sup> 2869e41f4b71Sopenharmony_ci 2870e41f4b71Sopenharmony_cistatic registerInputer(authType: AuthType, inputer: IInputer): void 2871e41f4b71Sopenharmony_ci 2872e41f4b71Sopenharmony_ci注册凭据输入器。 2873e41f4b71Sopenharmony_ci 2874e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2875e41f4b71Sopenharmony_ci 2876e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2877e41f4b71Sopenharmony_ci 2878e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 或 ohos.permission.MANAGE_USER_IDM 2879e41f4b71Sopenharmony_ci 2880e41f4b71Sopenharmony_ci**参数:** 2881e41f4b71Sopenharmony_ci 2882e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2883e41f4b71Sopenharmony_ci| ----------| ----------------------- | --- | -------------------------- | 2884e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 是 | 认证类型。 | 2885e41f4b71Sopenharmony_ci| inputer | [IInputer](#iinputer8) | 是 | 凭据输入器,用于获取凭据。 | 2886e41f4b71Sopenharmony_ci 2887e41f4b71Sopenharmony_ci**错误码:** 2888e41f4b71Sopenharmony_ci 2889e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2890e41f4b71Sopenharmony_ci| -------- | --------------------------- | 2891e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2892e41f4b71Sopenharmony_ci| 202 | Not system application.| 2893e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2894e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 2895e41f4b71Sopenharmony_ci| 12300002 | Invalid authType or inputer. | 2896e41f4b71Sopenharmony_ci| 12300103 | The credential inputer already exists. | 2897e41f4b71Sopenharmony_ci| 12300106 | The authentication type is not supported. | 2898e41f4b71Sopenharmony_ci 2899e41f4b71Sopenharmony_ci**示例:** 2900e41f4b71Sopenharmony_ci ```ts 2901e41f4b71Sopenharmony_ci let authType: osAccount.AuthType = osAccount.AuthType.DOMAIN; 2902e41f4b71Sopenharmony_ci let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0]); 2903e41f4b71Sopenharmony_ci try { 2904e41f4b71Sopenharmony_ci osAccount.InputerManager.registerInputer(authType, { 2905e41f4b71Sopenharmony_ci onGetData: (authSubType: osAccount.AuthSubType, callback: osAccount.IInputData) => { 2906e41f4b71Sopenharmony_ci callback.onSetData(authSubType, password); 2907e41f4b71Sopenharmony_ci } 2908e41f4b71Sopenharmony_ci }); 2909e41f4b71Sopenharmony_ci console.log('registerInputer success.'); 2910e41f4b71Sopenharmony_ci } catch (e) { 2911e41f4b71Sopenharmony_ci console.log('registerInputer exception = ' + JSON.stringify(e)); 2912e41f4b71Sopenharmony_ci } 2913e41f4b71Sopenharmony_ci ``` 2914e41f4b71Sopenharmony_ci 2915e41f4b71Sopenharmony_ci### unregisterInputer<sup>9+</sup> 2916e41f4b71Sopenharmony_ci 2917e41f4b71Sopenharmony_cistatic unregisterInputer(authType: AuthType): void 2918e41f4b71Sopenharmony_ci 2919e41f4b71Sopenharmony_ci解注册凭据输入器。 2920e41f4b71Sopenharmony_ci 2921e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2922e41f4b71Sopenharmony_ci 2923e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2924e41f4b71Sopenharmony_ci 2925e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 或 ohos.permission.MANAGE_USER_IDM 2926e41f4b71Sopenharmony_ci 2927e41f4b71Sopenharmony_ci**参数:** 2928e41f4b71Sopenharmony_ci 2929e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2930e41f4b71Sopenharmony_ci| ----------| ----------------------- | --- | -------------------------- | 2931e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 是 | 认证类型。 | 2932e41f4b71Sopenharmony_ci 2933e41f4b71Sopenharmony_ci**错误码:** 2934e41f4b71Sopenharmony_ci 2935e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2936e41f4b71Sopenharmony_ci| -------- | --------------------------- | 2937e41f4b71Sopenharmony_ci| 201 | Permission denied.| 2938e41f4b71Sopenharmony_ci| 202 | Not system application.| 2939e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2940e41f4b71Sopenharmony_ci| 12300002 | Invalid authType. | 2941e41f4b71Sopenharmony_ci 2942e41f4b71Sopenharmony_ci**示例:** 2943e41f4b71Sopenharmony_ci ```ts 2944e41f4b71Sopenharmony_ci let authType: osAccount.AuthType = osAccount.AuthType.DOMAIN; 2945e41f4b71Sopenharmony_ci try { 2946e41f4b71Sopenharmony_ci osAccount.InputerManager.unregisterInputer(authType); 2947e41f4b71Sopenharmony_ci console.log('unregisterInputer success.'); 2948e41f4b71Sopenharmony_ci } catch(err) { 2949e41f4b71Sopenharmony_ci console.log('unregisterInputer err:' + JSON.stringify(err)); 2950e41f4b71Sopenharmony_ci } 2951e41f4b71Sopenharmony_ci ``` 2952e41f4b71Sopenharmony_ci 2953e41f4b71Sopenharmony_ci## DomainPlugin<sup>9+</sup> 2954e41f4b71Sopenharmony_ci 2955e41f4b71Sopenharmony_ci域插件,提供域账号认证功能。 2956e41f4b71Sopenharmony_ci 2957e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2958e41f4b71Sopenharmony_ci 2959e41f4b71Sopenharmony_ci### auth<sup>9+</sup> 2960e41f4b71Sopenharmony_ci 2961e41f4b71Sopenharmony_ciauth(domainAccountInfo: DomainAccountInfo, credential: Uint8Array, callback: IUserAuthCallback): void 2962e41f4b71Sopenharmony_ci 2963e41f4b71Sopenharmony_ci认证指定的域账号。 2964e41f4b71Sopenharmony_ci 2965e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 2966e41f4b71Sopenharmony_ci 2967e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 2968e41f4b71Sopenharmony_ci 2969e41f4b71Sopenharmony_ci**参数:** 2970e41f4b71Sopenharmony_ci 2971e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2972e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 2973e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 2974e41f4b71Sopenharmony_ci| credential | Uint8Array | 是 | 指示域账号的凭据。| 2975e41f4b71Sopenharmony_ci| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 指示认证结果回调。| 2976e41f4b71Sopenharmony_ci 2977e41f4b71Sopenharmony_ci**示例:** 2978e41f4b71Sopenharmony_ci ```ts 2979e41f4b71Sopenharmony_ci import { AsyncCallback } from '@kit.BasicServicesKit'; 2980e41f4b71Sopenharmony_ci let plugin: osAccount.DomainPlugin = { 2981e41f4b71Sopenharmony_ci auth: (domainAccountInfo: osAccount.DomainAccountInfo, credential: Uint8Array, 2982e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => { 2983e41f4b71Sopenharmony_ci // mock authentication 2984e41f4b71Sopenharmony_ci // notify authentication result 2985e41f4b71Sopenharmony_ci let result: osAccount.AuthResult = { 2986e41f4b71Sopenharmony_ci token: new Uint8Array([0]), 2987e41f4b71Sopenharmony_ci remainTimes: 5, 2988e41f4b71Sopenharmony_ci freezingTime: 0 2989e41f4b71Sopenharmony_ci }; 2990e41f4b71Sopenharmony_ci callback.onResult(0, result); 2991e41f4b71Sopenharmony_ci }, 2992e41f4b71Sopenharmony_ci authWithPopup: (domainAccountInfo: osAccount.DomainAccountInfo, 2993e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 2994e41f4b71Sopenharmony_ci authWithToken: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 2995e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 2996e41f4b71Sopenharmony_ci getAccountInfo: (options: osAccount.GetDomainAccountInfoPluginOptions, 2997e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.DomainAccountInfo>) => {}, 2998e41f4b71Sopenharmony_ci getAuthStatusInfo: (domainAccountInfo: osAccount.DomainAccountInfo, 2999e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.AuthStatusInfo>) => {}, 3000e41f4b71Sopenharmony_ci bindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, localId: number, 3001e41f4b71Sopenharmony_ci callback: AsyncCallback<void>) => {}, 3002e41f4b71Sopenharmony_ci unbindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {}, 3003e41f4b71Sopenharmony_ci isAccountTokenValid: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3004e41f4b71Sopenharmony_ci callback: AsyncCallback<boolean>) => {}, 3005e41f4b71Sopenharmony_ci getAccessToken: (options: osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {} 3006e41f4b71Sopenharmony_ci } 3007e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.registerPlugin(plugin); 3008e41f4b71Sopenharmony_ci let userAuth = new osAccount.UserAuth(); 3009e41f4b71Sopenharmony_ci let challenge: Uint8Array = new Uint8Array([0]); 3010e41f4b71Sopenharmony_ci let authType: osAccount.AuthType = osAccount.AuthType.DOMAIN; 3011e41f4b71Sopenharmony_ci let authTrustLevel: osAccount.AuthTrustLevel = osAccount.AuthTrustLevel.ATL1; 3012e41f4b71Sopenharmony_ci try { 3013e41f4b71Sopenharmony_ci userAuth.auth(challenge, authType, authTrustLevel, { 3014e41f4b71Sopenharmony_ci onResult: (resultCode: number, authResult: osAccount.AuthResult) => { 3015e41f4b71Sopenharmony_ci console.log('auth resultCode = ' + resultCode); 3016e41f4b71Sopenharmony_ci console.log('auth authResult = ' + JSON.stringify(authResult)); 3017e41f4b71Sopenharmony_ci } 3018e41f4b71Sopenharmony_ci }); 3019e41f4b71Sopenharmony_ci } catch (err) { 3020e41f4b71Sopenharmony_ci console.log('auth exception = ' + JSON.stringify(err)); 3021e41f4b71Sopenharmony_ci } 3022e41f4b71Sopenharmony_ci ``` 3023e41f4b71Sopenharmony_ci 3024e41f4b71Sopenharmony_ci### authWithPopup<sup>10+</sup> 3025e41f4b71Sopenharmony_ci 3026e41f4b71Sopenharmony_ciauthWithPopup(domainAccountInfo: DomainAccountInfo, callback: IUserAuthCallback): void 3027e41f4b71Sopenharmony_ci 3028e41f4b71Sopenharmony_ci弹窗认证指定的域账号。 3029e41f4b71Sopenharmony_ci 3030e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3031e41f4b71Sopenharmony_ci 3032e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3033e41f4b71Sopenharmony_ci 3034e41f4b71Sopenharmony_ci**参数:** 3035e41f4b71Sopenharmony_ci 3036e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3037e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3038e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 3039e41f4b71Sopenharmony_ci| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 指示认证结果回调。| 3040e41f4b71Sopenharmony_ci 3041e41f4b71Sopenharmony_ci**示例:** 3042e41f4b71Sopenharmony_ci ```ts 3043e41f4b71Sopenharmony_ci import { AsyncCallback } from '@kit.BasicServicesKit'; 3044e41f4b71Sopenharmony_ci let plugin: osAccount.DomainPlugin = { 3045e41f4b71Sopenharmony_ci auth: (domainAccountInfo: osAccount.DomainAccountInfo, credential: Uint8Array, 3046e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3047e41f4b71Sopenharmony_ci authWithPopup: (domainAccountInfo: osAccount.DomainAccountInfo, 3048e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => { 3049e41f4b71Sopenharmony_ci // mock authentication 3050e41f4b71Sopenharmony_ci // notify authentication result 3051e41f4b71Sopenharmony_ci let result: osAccount.AuthResult = { 3052e41f4b71Sopenharmony_ci token: new Uint8Array([0]), 3053e41f4b71Sopenharmony_ci remainTimes: 5, 3054e41f4b71Sopenharmony_ci freezingTime: 0 3055e41f4b71Sopenharmony_ci }; 3056e41f4b71Sopenharmony_ci callback.onResult(0, result); 3057e41f4b71Sopenharmony_ci }, 3058e41f4b71Sopenharmony_ci authWithToken: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3059e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3060e41f4b71Sopenharmony_ci getAccountInfo: (options: osAccount.GetDomainAccountInfoPluginOptions, 3061e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.DomainAccountInfo>) => {}, 3062e41f4b71Sopenharmony_ci getAuthStatusInfo: (domainAccountInfo: osAccount.DomainAccountInfo, 3063e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.AuthStatusInfo>) => {}, 3064e41f4b71Sopenharmony_ci bindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, localId: number, 3065e41f4b71Sopenharmony_ci callback: AsyncCallback<void>) => {}, 3066e41f4b71Sopenharmony_ci unbindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {}, 3067e41f4b71Sopenharmony_ci isAccountTokenValid: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3068e41f4b71Sopenharmony_ci callback: AsyncCallback<boolean>) => {}, 3069e41f4b71Sopenharmony_ci getAccessToken: (options: osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {} 3070e41f4b71Sopenharmony_ci } 3071e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.registerPlugin(plugin) 3072e41f4b71Sopenharmony_ci ``` 3073e41f4b71Sopenharmony_ci 3074e41f4b71Sopenharmony_ci### authWithToken<sup>10+</sup> 3075e41f4b71Sopenharmony_ci 3076e41f4b71Sopenharmony_ciauthWithToken(domainAccountInfo: DomainAccountInfo, token: Uint8Array, callback: IUserAuthCallback): void 3077e41f4b71Sopenharmony_ci 3078e41f4b71Sopenharmony_ci使用授权令牌认证指定的域账号。 3079e41f4b71Sopenharmony_ci 3080e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3081e41f4b71Sopenharmony_ci 3082e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3083e41f4b71Sopenharmony_ci 3084e41f4b71Sopenharmony_ci**参数:** 3085e41f4b71Sopenharmony_ci 3086e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3087e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3088e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 3089e41f4b71Sopenharmony_ci| token | Uint8Array | 是 | 指示PIN码或生物识别认证成功时生成的授权令牌。| 3090e41f4b71Sopenharmony_ci| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 指示认证结果回调。| 3091e41f4b71Sopenharmony_ci 3092e41f4b71Sopenharmony_ci**示例:** 3093e41f4b71Sopenharmony_ci ```ts 3094e41f4b71Sopenharmony_ci import { AsyncCallback } from '@kit.BasicServicesKit'; 3095e41f4b71Sopenharmony_ci let plugin: osAccount.DomainPlugin = { 3096e41f4b71Sopenharmony_ci auth: (domainAccountInfo: osAccount.DomainAccountInfo, credential: Uint8Array, 3097e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3098e41f4b71Sopenharmony_ci authWithPopup: (domainAccountInfo: osAccount.DomainAccountInfo, 3099e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3100e41f4b71Sopenharmony_ci authWithToken: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3101e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => { 3102e41f4b71Sopenharmony_ci // mock authentication 3103e41f4b71Sopenharmony_ci // notify authentication result 3104e41f4b71Sopenharmony_ci let result: osAccount.AuthResult = { 3105e41f4b71Sopenharmony_ci token: new Uint8Array([0]), 3106e41f4b71Sopenharmony_ci remainTimes: 5, 3107e41f4b71Sopenharmony_ci freezingTime: 0 3108e41f4b71Sopenharmony_ci }; 3109e41f4b71Sopenharmony_ci callback.onResult(0, result); 3110e41f4b71Sopenharmony_ci }, 3111e41f4b71Sopenharmony_ci getAccountInfo: (options: osAccount.GetDomainAccountInfoPluginOptions, 3112e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.DomainAccountInfo>) => {}, 3113e41f4b71Sopenharmony_ci getAuthStatusInfo: (domainAccountInfo: osAccount.DomainAccountInfo, 3114e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.AuthStatusInfo>) => {}, 3115e41f4b71Sopenharmony_ci bindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, localId: number, 3116e41f4b71Sopenharmony_ci callback: AsyncCallback<void>) => {}, 3117e41f4b71Sopenharmony_ci unbindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {}, 3118e41f4b71Sopenharmony_ci isAccountTokenValid: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3119e41f4b71Sopenharmony_ci callback: AsyncCallback<boolean>) => {}, 3120e41f4b71Sopenharmony_ci getAccessToken: (options: osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {} 3121e41f4b71Sopenharmony_ci } 3122e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.registerPlugin(plugin) 3123e41f4b71Sopenharmony_ci ``` 3124e41f4b71Sopenharmony_ci 3125e41f4b71Sopenharmony_ci### getAccountInfo<sup>10+</sup> 3126e41f4b71Sopenharmony_ci 3127e41f4b71Sopenharmony_cigetAccountInfo(options: GetDomainAccountInfoPluginOptions, callback: AsyncCallback<DomainAccountInfo>): void 3128e41f4b71Sopenharmony_ci 3129e41f4b71Sopenharmony_ci查询指定域账号的信息。 3130e41f4b71Sopenharmony_ci 3131e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3132e41f4b71Sopenharmony_ci 3133e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3134e41f4b71Sopenharmony_ci 3135e41f4b71Sopenharmony_ci**参数:** 3136e41f4b71Sopenharmony_ci 3137e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3138e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3139e41f4b71Sopenharmony_ci| options | [GetDomainAccountInfoPluginOptions](#getdomainaccountinfopluginoptions10) | 是 | 指示域账号信息。| 3140e41f4b71Sopenharmony_ci| callback | AsyncCallback<[DomainAccountInfo](#domainaccountinfo8)> | 是 | 指示查询结果回调。| 3141e41f4b71Sopenharmony_ci 3142e41f4b71Sopenharmony_ci**示例:** 3143e41f4b71Sopenharmony_ci ```ts 3144e41f4b71Sopenharmony_ci import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit'; 3145e41f4b71Sopenharmony_ci let plugin: osAccount.DomainPlugin = { 3146e41f4b71Sopenharmony_ci auth: (domainAccountInfo: osAccount.DomainAccountInfo, credential: Uint8Array, 3147e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3148e41f4b71Sopenharmony_ci authWithPopup: (domainAccountInfo: osAccount.DomainAccountInfo, 3149e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3150e41f4b71Sopenharmony_ci authWithToken: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3151e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3152e41f4b71Sopenharmony_ci getAccountInfo: (options: osAccount.GetDomainAccountInfoPluginOptions, 3153e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.DomainAccountInfo>) => { 3154e41f4b71Sopenharmony_ci // mock getting account information 3155e41f4b71Sopenharmony_ci // notify result 3156e41f4b71Sopenharmony_ci let code: BusinessError = { 3157e41f4b71Sopenharmony_ci code: 0, 3158e41f4b71Sopenharmony_ci name: "", 3159e41f4b71Sopenharmony_ci message: "" 3160e41f4b71Sopenharmony_ci }; 3161e41f4b71Sopenharmony_ci let accountInfo: osAccount.DomainAccountInfo = { 3162e41f4b71Sopenharmony_ci domain: options.domain ? options.domain : "", 3163e41f4b71Sopenharmony_ci accountName: options.accountName, 3164e41f4b71Sopenharmony_ci accountId: 'xxxx' 3165e41f4b71Sopenharmony_ci }; 3166e41f4b71Sopenharmony_ci callback(code, accountInfo); 3167e41f4b71Sopenharmony_ci }, 3168e41f4b71Sopenharmony_ci getAuthStatusInfo: (domainAccountInfo: osAccount.DomainAccountInfo, 3169e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.AuthStatusInfo>) => {}, 3170e41f4b71Sopenharmony_ci bindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, localId: number, 3171e41f4b71Sopenharmony_ci callback: AsyncCallback<void>) => {}, 3172e41f4b71Sopenharmony_ci unbindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {}, 3173e41f4b71Sopenharmony_ci isAccountTokenValid: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3174e41f4b71Sopenharmony_ci callback: AsyncCallback<boolean>) => {}, 3175e41f4b71Sopenharmony_ci getAccessToken: (options: osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {} 3176e41f4b71Sopenharmony_ci } 3177e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.registerPlugin(plugin) 3178e41f4b71Sopenharmony_ci ``` 3179e41f4b71Sopenharmony_ci 3180e41f4b71Sopenharmony_ci### getAuthStatusInfo<sup>10+</sup> 3181e41f4b71Sopenharmony_ci 3182e41f4b71Sopenharmony_cigetAuthStatusInfo(domainAccountInfo: DomainAccountInfo, callback: AsyncCallback<AuthStatusInfo>): void 3183e41f4b71Sopenharmony_ci 3184e41f4b71Sopenharmony_ci查询指定域账号的认证状态信息。 3185e41f4b71Sopenharmony_ci 3186e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3187e41f4b71Sopenharmony_ci 3188e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3189e41f4b71Sopenharmony_ci 3190e41f4b71Sopenharmony_ci**参数:** 3191e41f4b71Sopenharmony_ci 3192e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3193e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3194e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 3195e41f4b71Sopenharmony_ci| callback | AsyncCallback<[AuthStatusInfo](#authstatusinfo10)> | 是 | 指示查询结果回调。| 3196e41f4b71Sopenharmony_ci 3197e41f4b71Sopenharmony_ci**示例:** 3198e41f4b71Sopenharmony_ci ```ts 3199e41f4b71Sopenharmony_ci import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit'; 3200e41f4b71Sopenharmony_ci let plugin: osAccount.DomainPlugin = { 3201e41f4b71Sopenharmony_ci auth: (domainAccountInfo: osAccount.DomainAccountInfo, credential: Uint8Array, 3202e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3203e41f4b71Sopenharmony_ci authWithPopup: (domainAccountInfo: osAccount.DomainAccountInfo, 3204e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3205e41f4b71Sopenharmony_ci authWithToken: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3206e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3207e41f4b71Sopenharmony_ci getAccountInfo: (options: osAccount.GetDomainAccountInfoPluginOptions, 3208e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.DomainAccountInfo>) => {}, 3209e41f4b71Sopenharmony_ci getAuthStatusInfo: (domainAccountInfo: osAccount.DomainAccountInfo, 3210e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.AuthStatusInfo>) => { 3211e41f4b71Sopenharmony_ci let code: BusinessError = { 3212e41f4b71Sopenharmony_ci code: 0, 3213e41f4b71Sopenharmony_ci name: "", 3214e41f4b71Sopenharmony_ci message: "" 3215e41f4b71Sopenharmony_ci }; 3216e41f4b71Sopenharmony_ci let statusInfo: osAccount.AuthStatusInfo = { 3217e41f4b71Sopenharmony_ci remainTimes: 5, 3218e41f4b71Sopenharmony_ci freezingTime: 0 3219e41f4b71Sopenharmony_ci }; 3220e41f4b71Sopenharmony_ci callback(code, statusInfo); 3221e41f4b71Sopenharmony_ci }, 3222e41f4b71Sopenharmony_ci bindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, localId: number, 3223e41f4b71Sopenharmony_ci callback: AsyncCallback<void>) => {}, 3224e41f4b71Sopenharmony_ci unbindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {}, 3225e41f4b71Sopenharmony_ci isAccountTokenValid: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3226e41f4b71Sopenharmony_ci callback: AsyncCallback<boolean>) => {}, 3227e41f4b71Sopenharmony_ci getAccessToken: (options: osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {} 3228e41f4b71Sopenharmony_ci } 3229e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.registerPlugin(plugin) 3230e41f4b71Sopenharmony_ci ``` 3231e41f4b71Sopenharmony_ci 3232e41f4b71Sopenharmony_ci### bindAccount<sup>10+</sup> 3233e41f4b71Sopenharmony_ci 3234e41f4b71Sopenharmony_cibindAccount(domainAccountInfo: DomainAccountInfo, localId: number, callback: AsyncCallback<void>): void 3235e41f4b71Sopenharmony_ci 3236e41f4b71Sopenharmony_ci绑定指定的域账号。 3237e41f4b71Sopenharmony_ci 3238e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3239e41f4b71Sopenharmony_ci 3240e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3241e41f4b71Sopenharmony_ci 3242e41f4b71Sopenharmony_ci**参数:** 3243e41f4b71Sopenharmony_ci 3244e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3245e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3246e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 3247e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 指示绑定结果回调。| 3248e41f4b71Sopenharmony_ci 3249e41f4b71Sopenharmony_ci**示例:** 3250e41f4b71Sopenharmony_ci ```ts 3251e41f4b71Sopenharmony_ci import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit'; 3252e41f4b71Sopenharmony_ci let plugin: osAccount.DomainPlugin = { 3253e41f4b71Sopenharmony_ci auth: (domainAccountInfo: osAccount.DomainAccountInfo, credential: Uint8Array, 3254e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3255e41f4b71Sopenharmony_ci authWithPopup: (domainAccountInfo: osAccount.DomainAccountInfo, 3256e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3257e41f4b71Sopenharmony_ci authWithToken: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3258e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3259e41f4b71Sopenharmony_ci getAccountInfo: (options: osAccount.GetDomainAccountInfoPluginOptions, 3260e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.DomainAccountInfo>) => {}, 3261e41f4b71Sopenharmony_ci getAuthStatusInfo: (domainAccountInfo: osAccount.DomainAccountInfo, 3262e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.AuthStatusInfo>) => {}, 3263e41f4b71Sopenharmony_ci bindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, localId: number, 3264e41f4b71Sopenharmony_ci callback: AsyncCallback<void>) => { 3265e41f4b71Sopenharmony_ci // mock unbinding operation 3266e41f4b71Sopenharmony_ci // notify binding result 3267e41f4b71Sopenharmony_ci let code: BusinessError = { 3268e41f4b71Sopenharmony_ci code: 0, 3269e41f4b71Sopenharmony_ci name: "", 3270e41f4b71Sopenharmony_ci message: "" 3271e41f4b71Sopenharmony_ci }; 3272e41f4b71Sopenharmony_ci callback(code); 3273e41f4b71Sopenharmony_ci }, 3274e41f4b71Sopenharmony_ci unbindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {}, 3275e41f4b71Sopenharmony_ci isAccountTokenValid: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3276e41f4b71Sopenharmony_ci callback: AsyncCallback<boolean>) => {}, 3277e41f4b71Sopenharmony_ci getAccessToken: (options: osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {} 3278e41f4b71Sopenharmony_ci } 3279e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.registerPlugin(plugin) 3280e41f4b71Sopenharmony_ci ``` 3281e41f4b71Sopenharmony_ci 3282e41f4b71Sopenharmony_ci### unbindAccount<sup>10+</sup> 3283e41f4b71Sopenharmony_ci 3284e41f4b71Sopenharmony_ciunbindAccount(domainAccountInfo: DomainAccountInfo, callback: AsyncCallback<void>): void 3285e41f4b71Sopenharmony_ci 3286e41f4b71Sopenharmony_ci解绑指定的域账号。 3287e41f4b71Sopenharmony_ci 3288e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3289e41f4b71Sopenharmony_ci 3290e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3291e41f4b71Sopenharmony_ci 3292e41f4b71Sopenharmony_ci**参数:** 3293e41f4b71Sopenharmony_ci 3294e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3295e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3296e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 3297e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 指示绑定结果回调。| 3298e41f4b71Sopenharmony_ci 3299e41f4b71Sopenharmony_ci**示例:** 3300e41f4b71Sopenharmony_ci ```ts 3301e41f4b71Sopenharmony_ci import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit'; 3302e41f4b71Sopenharmony_ci let plugin: osAccount.DomainPlugin = { 3303e41f4b71Sopenharmony_ci auth: (domainAccountInfo: osAccount.DomainAccountInfo, credential: Uint8Array, 3304e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3305e41f4b71Sopenharmony_ci authWithPopup: (domainAccountInfo: osAccount.DomainAccountInfo, 3306e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3307e41f4b71Sopenharmony_ci authWithToken: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3308e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3309e41f4b71Sopenharmony_ci getAccountInfo: (options: osAccount.GetDomainAccountInfoPluginOptions, 3310e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.DomainAccountInfo>) => {}, 3311e41f4b71Sopenharmony_ci getAuthStatusInfo: (domainAccountInfo: osAccount.DomainAccountInfo, 3312e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.AuthStatusInfo>) => {}, 3313e41f4b71Sopenharmony_ci bindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, localId: number, 3314e41f4b71Sopenharmony_ci callback: AsyncCallback<void>) => {}, 3315e41f4b71Sopenharmony_ci unbindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => { 3316e41f4b71Sopenharmony_ci // mock unbinding operation 3317e41f4b71Sopenharmony_ci // notify unbinding result 3318e41f4b71Sopenharmony_ci let code: BusinessError = { 3319e41f4b71Sopenharmony_ci code: 0, 3320e41f4b71Sopenharmony_ci name: "", 3321e41f4b71Sopenharmony_ci message: "" 3322e41f4b71Sopenharmony_ci }; 3323e41f4b71Sopenharmony_ci callback(code); 3324e41f4b71Sopenharmony_ci }, 3325e41f4b71Sopenharmony_ci isAccountTokenValid: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3326e41f4b71Sopenharmony_ci callback: AsyncCallback<boolean>) => {}, 3327e41f4b71Sopenharmony_ci getAccessToken: (options: osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {} 3328e41f4b71Sopenharmony_ci } 3329e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.registerPlugin(plugin) 3330e41f4b71Sopenharmony_ci ``` 3331e41f4b71Sopenharmony_ci 3332e41f4b71Sopenharmony_ci### isAccountTokenValid<sup>10+</sup> 3333e41f4b71Sopenharmony_ci 3334e41f4b71Sopenharmony_ciisAccountTokenValid(domainAccountInfo: DomainAccountInfo, token: Uint8Array, callback: AsyncCallback<boolean>): void 3335e41f4b71Sopenharmony_ci 3336e41f4b71Sopenharmony_ci检查指定的域账号令牌是否有效。 3337e41f4b71Sopenharmony_ci 3338e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3339e41f4b71Sopenharmony_ci 3340e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3341e41f4b71Sopenharmony_ci 3342e41f4b71Sopenharmony_ci**参数:** 3343e41f4b71Sopenharmony_ci 3344e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3345e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3346e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 3347e41f4b71Sopenharmony_ci| token | Uint8Array | 是 | 指示域账号令牌。 | 3348e41f4b71Sopenharmony_ci| callback | AsyncCallback<boolean> | 是 | 指示检查结果回调。| 3349e41f4b71Sopenharmony_ci 3350e41f4b71Sopenharmony_ci**示例:** 3351e41f4b71Sopenharmony_ci ```ts 3352e41f4b71Sopenharmony_ci import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit'; 3353e41f4b71Sopenharmony_ci let plugin: osAccount.DomainPlugin = { 3354e41f4b71Sopenharmony_ci auth: (domainAccountInfo: osAccount.DomainAccountInfo, credential: Uint8Array, 3355e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3356e41f4b71Sopenharmony_ci authWithPopup: (domainAccountInfo: osAccount.DomainAccountInfo, 3357e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3358e41f4b71Sopenharmony_ci authWithToken: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3359e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3360e41f4b71Sopenharmony_ci getAccountInfo: (options: osAccount.GetDomainAccountInfoPluginOptions, 3361e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.DomainAccountInfo>) => {}, 3362e41f4b71Sopenharmony_ci getAuthStatusInfo: (domainAccountInfo: osAccount.DomainAccountInfo, 3363e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.AuthStatusInfo>) => {}, 3364e41f4b71Sopenharmony_ci bindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, localId: number, 3365e41f4b71Sopenharmony_ci callback: AsyncCallback<void>) => {}, 3366e41f4b71Sopenharmony_ci unbindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {}, 3367e41f4b71Sopenharmony_ci isAccountTokenValid: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3368e41f4b71Sopenharmony_ci callback: AsyncCallback<boolean>) => { 3369e41f4b71Sopenharmony_ci // mock checking operation 3370e41f4b71Sopenharmony_ci // notify checking result 3371e41f4b71Sopenharmony_ci let code: BusinessError = { 3372e41f4b71Sopenharmony_ci code: 0, 3373e41f4b71Sopenharmony_ci name: "", 3374e41f4b71Sopenharmony_ci message: "" 3375e41f4b71Sopenharmony_ci }; 3376e41f4b71Sopenharmony_ci callback(code, true); 3377e41f4b71Sopenharmony_ci }, 3378e41f4b71Sopenharmony_ci getAccessToken: (options: osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {} 3379e41f4b71Sopenharmony_ci } 3380e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.registerPlugin(plugin) 3381e41f4b71Sopenharmony_ci ``` 3382e41f4b71Sopenharmony_ci 3383e41f4b71Sopenharmony_ci### getAccessToken<sup>10+</sup> 3384e41f4b71Sopenharmony_ci 3385e41f4b71Sopenharmony_cigetAccessToken(options: GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>): void 3386e41f4b71Sopenharmony_ci 3387e41f4b71Sopenharmony_ci根据指定的选项获取域访问令牌。 3388e41f4b71Sopenharmony_ci 3389e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3390e41f4b71Sopenharmony_ci 3391e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3392e41f4b71Sopenharmony_ci 3393e41f4b71Sopenharmony_ci**参数:** 3394e41f4b71Sopenharmony_ci 3395e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3396e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3397e41f4b71Sopenharmony_ci| options | [GetDomainAccessTokenOptions](#getdomainaccesstokenoptions10) | 是 | 指示获取域访问令牌的选项。| 3398e41f4b71Sopenharmony_ci| callback | AsyncCallback<Uint8Array> | 是 | 指示结果回调。| 3399e41f4b71Sopenharmony_ci 3400e41f4b71Sopenharmony_ci**示例:** 3401e41f4b71Sopenharmony_ci ```ts 3402e41f4b71Sopenharmony_ci import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit'; 3403e41f4b71Sopenharmony_ci let plugin: osAccount.DomainPlugin = { 3404e41f4b71Sopenharmony_ci auth: (domainAccountInfo: osAccount.DomainAccountInfo, credential: Uint8Array, 3405e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3406e41f4b71Sopenharmony_ci authWithPopup: (domainAccountInfo: osAccount.DomainAccountInfo, 3407e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3408e41f4b71Sopenharmony_ci authWithToken: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3409e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3410e41f4b71Sopenharmony_ci getAccountInfo: (options: osAccount.GetDomainAccountInfoPluginOptions, 3411e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.DomainAccountInfo>) => {}, 3412e41f4b71Sopenharmony_ci getAuthStatusInfo: (domainAccountInfo: osAccount.DomainAccountInfo, 3413e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.AuthStatusInfo>) => {}, 3414e41f4b71Sopenharmony_ci bindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, localId: number, 3415e41f4b71Sopenharmony_ci callback: AsyncCallback<void>) => {}, 3416e41f4b71Sopenharmony_ci unbindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {}, 3417e41f4b71Sopenharmony_ci isAccountTokenValid: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3418e41f4b71Sopenharmony_ci callback: AsyncCallback<boolean>) => {}, 3419e41f4b71Sopenharmony_ci getAccessToken: (options: osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => { 3420e41f4b71Sopenharmony_ci // mock getting operation 3421e41f4b71Sopenharmony_ci // notify result 3422e41f4b71Sopenharmony_ci let code: BusinessError = { 3423e41f4b71Sopenharmony_ci code: 0, 3424e41f4b71Sopenharmony_ci name: "", 3425e41f4b71Sopenharmony_ci message: "" 3426e41f4b71Sopenharmony_ci }; 3427e41f4b71Sopenharmony_ci let token: Uint8Array = new Uint8Array([0]); 3428e41f4b71Sopenharmony_ci callback(code, token); 3429e41f4b71Sopenharmony_ci } 3430e41f4b71Sopenharmony_ci } 3431e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.registerPlugin(plugin) 3432e41f4b71Sopenharmony_ci ``` 3433e41f4b71Sopenharmony_ci 3434e41f4b71Sopenharmony_ci## DomainAccountManager <sup>9+</sup> 3435e41f4b71Sopenharmony_ci域账号管理器类。 3436e41f4b71Sopenharmony_ci 3437e41f4b71Sopenharmony_ci### registerPlugin<sup>9+</sup> 3438e41f4b71Sopenharmony_ci 3439e41f4b71Sopenharmony_cistatic registerPlugin(plugin: DomainPlugin): void 3440e41f4b71Sopenharmony_ci 3441e41f4b71Sopenharmony_ci注册域插件。 3442e41f4b71Sopenharmony_ci 3443e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3444e41f4b71Sopenharmony_ci 3445e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3446e41f4b71Sopenharmony_ci 3447e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 3448e41f4b71Sopenharmony_ci 3449e41f4b71Sopenharmony_ci**参数:** 3450e41f4b71Sopenharmony_ci 3451e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3452e41f4b71Sopenharmony_ci| ----------| ----------------------- | --- | -------------------------- | 3453e41f4b71Sopenharmony_ci| plugin | [DomainPlugin](#domainplugin9) | 是 | 指示域插件。 | 3454e41f4b71Sopenharmony_ci 3455e41f4b71Sopenharmony_ci**错误码:** 3456e41f4b71Sopenharmony_ci 3457e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3458e41f4b71Sopenharmony_ci| -------- | --------------------------- | 3459e41f4b71Sopenharmony_ci| 201 | Permission denied.| 3460e41f4b71Sopenharmony_ci| 202 | Not system application.| 3461e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 3462e41f4b71Sopenharmony_ci| 12300201 | The domain plugin has been registered. | 3463e41f4b71Sopenharmony_ci 3464e41f4b71Sopenharmony_ci**示例:** 3465e41f4b71Sopenharmony_ci ```ts 3466e41f4b71Sopenharmony_ci import { AsyncCallback } from '@kit.BasicServicesKit'; 3467e41f4b71Sopenharmony_ci let plugin: osAccount.DomainPlugin = { 3468e41f4b71Sopenharmony_ci auth: (domainAccountInfo: osAccount.DomainAccountInfo, credential: Uint8Array, 3469e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3470e41f4b71Sopenharmony_ci authWithPopup: (domainAccountInfo: osAccount.DomainAccountInfo, 3471e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3472e41f4b71Sopenharmony_ci authWithToken: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3473e41f4b71Sopenharmony_ci callback: osAccount.IUserAuthCallback) => {}, 3474e41f4b71Sopenharmony_ci getAccountInfo: (options: osAccount.GetDomainAccountInfoPluginOptions, 3475e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.DomainAccountInfo>) => {}, 3476e41f4b71Sopenharmony_ci getAuthStatusInfo: (domainAccountInfo: osAccount.DomainAccountInfo, 3477e41f4b71Sopenharmony_ci callback: AsyncCallback<osAccount.AuthStatusInfo>) => {}, 3478e41f4b71Sopenharmony_ci bindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, localId: number, 3479e41f4b71Sopenharmony_ci callback: AsyncCallback<void>) => {}, 3480e41f4b71Sopenharmony_ci unbindAccount: (domainAccountInfo: osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {}, 3481e41f4b71Sopenharmony_ci isAccountTokenValid: (domainAccountInfo: osAccount.DomainAccountInfo, token: Uint8Array, 3482e41f4b71Sopenharmony_ci callback: AsyncCallback<boolean>) => {}, 3483e41f4b71Sopenharmony_ci getAccessToken: (options: osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {} 3484e41f4b71Sopenharmony_ci } 3485e41f4b71Sopenharmony_ci try { 3486e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.registerPlugin(plugin); 3487e41f4b71Sopenharmony_ci console.log('registerPlugin success.'); 3488e41f4b71Sopenharmony_ci } catch(err) { 3489e41f4b71Sopenharmony_ci console.log('registerPlugin err:' + JSON.stringify(err)); 3490e41f4b71Sopenharmony_ci } 3491e41f4b71Sopenharmony_ci ``` 3492e41f4b71Sopenharmony_ci 3493e41f4b71Sopenharmony_ci### unregisterPlugin<sup>9+</sup> 3494e41f4b71Sopenharmony_ci 3495e41f4b71Sopenharmony_cistatic unregisterPlugin(): void 3496e41f4b71Sopenharmony_ci 3497e41f4b71Sopenharmony_ci注销域插件。 3498e41f4b71Sopenharmony_ci 3499e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3500e41f4b71Sopenharmony_ci 3501e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3502e41f4b71Sopenharmony_ci 3503e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 3504e41f4b71Sopenharmony_ci 3505e41f4b71Sopenharmony_ci**错误码:** 3506e41f4b71Sopenharmony_ci 3507e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3508e41f4b71Sopenharmony_ci| -------- | --------------------------- | 3509e41f4b71Sopenharmony_ci| 201 | Permission denied.| 3510e41f4b71Sopenharmony_ci| 202 | Not system application.| 3511e41f4b71Sopenharmony_ci 3512e41f4b71Sopenharmony_ci**示例:** 3513e41f4b71Sopenharmony_ci ```ts 3514e41f4b71Sopenharmony_ci try { 3515e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.unregisterPlugin(); 3516e41f4b71Sopenharmony_ci console.log('unregisterPlugin success.'); 3517e41f4b71Sopenharmony_ci } catch(err) { 3518e41f4b71Sopenharmony_ci console.log('unregisterPlugin err:' + JSON.stringify(err)); 3519e41f4b71Sopenharmony_ci } 3520e41f4b71Sopenharmony_ci ``` 3521e41f4b71Sopenharmony_ci 3522e41f4b71Sopenharmony_ci### auth<sup>10+</sup> 3523e41f4b71Sopenharmony_ci 3524e41f4b71Sopenharmony_ciauth(domainAccountInfo: DomainAccountInfo, credential: Uint8Array, callback: IUserAuthCallback): void 3525e41f4b71Sopenharmony_ci 3526e41f4b71Sopenharmony_ci认证指定的域账号。 3527e41f4b71Sopenharmony_ci 3528e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3529e41f4b71Sopenharmony_ci 3530e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3531e41f4b71Sopenharmony_ci 3532e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 3533e41f4b71Sopenharmony_ci 3534e41f4b71Sopenharmony_ci**参数:** 3535e41f4b71Sopenharmony_ci 3536e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3537e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3538e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 3539e41f4b71Sopenharmony_ci| credential | Uint8Array | 是 | 指示域账号的凭据。| 3540e41f4b71Sopenharmony_ci| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 指示认证结果回调。| 3541e41f4b71Sopenharmony_ci 3542e41f4b71Sopenharmony_ci**错误码:** 3543e41f4b71Sopenharmony_ci 3544e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3545e41f4b71Sopenharmony_ci| -------- | --------------------------- | 3546e41f4b71Sopenharmony_ci| 201 | Permission denied.| 3547e41f4b71Sopenharmony_ci| 202 | Not system application.| 3548e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 3549e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 3550e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 3551e41f4b71Sopenharmony_ci| 12300002 | Invalid domainAccountInfo or credential. | 3552e41f4b71Sopenharmony_ci| 12300003 | Domain account does not exist. | 3553e41f4b71Sopenharmony_ci| 12300013 | Network exception. | 3554e41f4b71Sopenharmony_ci| 12300101 | Authentication failed. | 3555e41f4b71Sopenharmony_ci| 12300109 | The authentication, enrollment, or update operation is canceled. | 3556e41f4b71Sopenharmony_ci| 12300110 | The authentication is locked. | 3557e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 3558e41f4b71Sopenharmony_ci| 12300112 | The authentication service is busy. | 3559e41f4b71Sopenharmony_ci| 12300113 | The account authentication service does not exist. | 3560e41f4b71Sopenharmony_ci| 12300114 | The account authentication service works abnormally. | 3561e41f4b71Sopenharmony_ci 3562e41f4b71Sopenharmony_ci**示例:** 3563e41f4b71Sopenharmony_ci ```ts 3564e41f4b71Sopenharmony_ci let domainAccountInfo: osAccount.DomainAccountInfo = { 3565e41f4b71Sopenharmony_ci domain: 'CHINA', 3566e41f4b71Sopenharmony_ci accountName: 'zhangsan' 3567e41f4b71Sopenharmony_ci } 3568e41f4b71Sopenharmony_ci let credential = new Uint8Array([0]) 3569e41f4b71Sopenharmony_ci try { 3570e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.auth(domainAccountInfo, credential, { 3571e41f4b71Sopenharmony_ci onResult: (resultCode: number, authResult: osAccount.AuthResult) => { 3572e41f4b71Sopenharmony_ci console.log('auth resultCode = ' + resultCode); 3573e41f4b71Sopenharmony_ci console.log('auth authResult = ' + JSON.stringify(authResult)); 3574e41f4b71Sopenharmony_ci } 3575e41f4b71Sopenharmony_ci }); 3576e41f4b71Sopenharmony_ci } catch (err) { 3577e41f4b71Sopenharmony_ci console.log('auth exception = ' + JSON.stringify(err)); 3578e41f4b71Sopenharmony_ci } 3579e41f4b71Sopenharmony_ci ``` 3580e41f4b71Sopenharmony_ci 3581e41f4b71Sopenharmony_ci### authWithPopup<sup>10+</sup> 3582e41f4b71Sopenharmony_ci 3583e41f4b71Sopenharmony_ciauthWithPopup(callback: IUserAuthCallback): void 3584e41f4b71Sopenharmony_ci 3585e41f4b71Sopenharmony_ci弹框认证指定的域账号。 3586e41f4b71Sopenharmony_ci 3587e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3588e41f4b71Sopenharmony_ci 3589e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3590e41f4b71Sopenharmony_ci 3591e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 3592e41f4b71Sopenharmony_ci 3593e41f4b71Sopenharmony_ci从API version 11开始无需申请权限,建议升级SDK版本。 3594e41f4b71Sopenharmony_ci 3595e41f4b71Sopenharmony_ci**参数:** 3596e41f4b71Sopenharmony_ci 3597e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3598e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3599e41f4b71Sopenharmony_ci| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 指示认证结果回调。| 3600e41f4b71Sopenharmony_ci 3601e41f4b71Sopenharmony_ci**错误码:** 3602e41f4b71Sopenharmony_ci 3603e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3604e41f4b71Sopenharmony_ci| -------- | --------------------------- | 3605e41f4b71Sopenharmony_ci| 201 | Permission denied.| 3606e41f4b71Sopenharmony_ci| 202 | Not system application.| 3607e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 3608e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 3609e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 3610e41f4b71Sopenharmony_ci| 12300003 | No domain account is bound. | 3611e41f4b71Sopenharmony_ci| 12300013 | Network exception. | 3612e41f4b71Sopenharmony_ci| 12300101 | Authentication failed. | 3613e41f4b71Sopenharmony_ci| 12300109 | The authentication, enrollment, or update operation is canceled. | 3614e41f4b71Sopenharmony_ci| 12300110 | The authentication is locked. | 3615e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 3616e41f4b71Sopenharmony_ci| 12300112 | The authentication service is busy. | 3617e41f4b71Sopenharmony_ci| 12300113 | The account authentication service does not exist. | 3618e41f4b71Sopenharmony_ci| 12300114 | The account authentication service works abnormally. | 3619e41f4b71Sopenharmony_ci 3620e41f4b71Sopenharmony_ci**示例:** 3621e41f4b71Sopenharmony_ci ```ts 3622e41f4b71Sopenharmony_ci try { 3623e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.authWithPopup({ 3624e41f4b71Sopenharmony_ci onResult: (resultCode: number, authResult: osAccount.AuthResult) => { 3625e41f4b71Sopenharmony_ci console.log('auth resultCode = ' + resultCode); 3626e41f4b71Sopenharmony_ci console.log('auth authResult = ' + JSON.stringify(authResult)); 3627e41f4b71Sopenharmony_ci } 3628e41f4b71Sopenharmony_ci }) 3629e41f4b71Sopenharmony_ci } catch (err) { 3630e41f4b71Sopenharmony_ci console.log('auth exception = ' + JSON.stringify(err)); 3631e41f4b71Sopenharmony_ci } 3632e41f4b71Sopenharmony_ci ``` 3633e41f4b71Sopenharmony_ci 3634e41f4b71Sopenharmony_ci### authWithPopup<sup>10+</sup> 3635e41f4b71Sopenharmony_ci 3636e41f4b71Sopenharmony_ciauthWithPopup(localId: number, callback: IUserAuthCallback): void 3637e41f4b71Sopenharmony_ci 3638e41f4b71Sopenharmony_ci弹框认证指定的域账号。 3639e41f4b71Sopenharmony_ci 3640e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3641e41f4b71Sopenharmony_ci 3642e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3643e41f4b71Sopenharmony_ci 3644e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 3645e41f4b71Sopenharmony_ci 3646e41f4b71Sopenharmony_ci从API version 11开始无需申请权限,建议升级SDK版本。 3647e41f4b71Sopenharmony_ci 3648e41f4b71Sopenharmony_ci**参数:** 3649e41f4b71Sopenharmony_ci 3650e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3651e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3652e41f4b71Sopenharmony_ci| localId | number | 是 | 指示绑定域账号的系统账号的本地标识。| 3653e41f4b71Sopenharmony_ci| callback | [IUserAuthCallback](#iuserauthcallback8) | 是 | 指示认证结果回调。| 3654e41f4b71Sopenharmony_ci 3655e41f4b71Sopenharmony_ci**错误码:** 3656e41f4b71Sopenharmony_ci 3657e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3658e41f4b71Sopenharmony_ci| -------- | --------------------------- | 3659e41f4b71Sopenharmony_ci| 201 | Permission denied.| 3660e41f4b71Sopenharmony_ci| 202 | Not system application.| 3661e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 3662e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 3663e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 3664e41f4b71Sopenharmony_ci| 12300002 | Invalid localId. | 3665e41f4b71Sopenharmony_ci| 12300003 | No domain account is bound. | 3666e41f4b71Sopenharmony_ci| 12300013 | Network exception. | 3667e41f4b71Sopenharmony_ci| 12300101 | Authentication failed. | 3668e41f4b71Sopenharmony_ci| 12300109 | The authentication, enrollment, or update operation is canceled. | 3669e41f4b71Sopenharmony_ci| 12300110 | The authentication is locked. | 3670e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 3671e41f4b71Sopenharmony_ci| 12300112 | The authentication service is busy. | 3672e41f4b71Sopenharmony_ci| 12300113 | The account authentication service does not exist. | 3673e41f4b71Sopenharmony_ci| 12300114 | The account authentication service works abnormally. | 3674e41f4b71Sopenharmony_ci 3675e41f4b71Sopenharmony_ci**示例:** 3676e41f4b71Sopenharmony_ci ```ts 3677e41f4b71Sopenharmony_ci try { 3678e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.authWithPopup(100, { 3679e41f4b71Sopenharmony_ci onResult: (resultCode: number, authResult: osAccount.AuthResult) => { 3680e41f4b71Sopenharmony_ci console.log('authWithPopup resultCode = ' + resultCode); 3681e41f4b71Sopenharmony_ci console.log('authWithPopup authResult = ' + JSON.stringify(authResult)); 3682e41f4b71Sopenharmony_ci } 3683e41f4b71Sopenharmony_ci }) 3684e41f4b71Sopenharmony_ci } catch (err) { 3685e41f4b71Sopenharmony_ci console.log('authWithPopup exception = ' + JSON.stringify(err)); 3686e41f4b71Sopenharmony_ci } 3687e41f4b71Sopenharmony_ci ``` 3688e41f4b71Sopenharmony_ci 3689e41f4b71Sopenharmony_ci### hasAccount<sup>10+</sup> 3690e41f4b71Sopenharmony_ci 3691e41f4b71Sopenharmony_cihasAccount(domainAccountInfo: DomainAccountInfo, callback: AsyncCallback<boolean>): void 3692e41f4b71Sopenharmony_ci 3693e41f4b71Sopenharmony_ci检查是否存在指定的域账号。 3694e41f4b71Sopenharmony_ci 3695e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3696e41f4b71Sopenharmony_ci 3697e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3698e41f4b71Sopenharmony_ci 3699e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 3700e41f4b71Sopenharmony_ci 3701e41f4b71Sopenharmony_ci**参数:** 3702e41f4b71Sopenharmony_ci 3703e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3704e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3705e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 3706e41f4b71Sopenharmony_ci| callback | AsyncCallback<boolean> | 是 | 指示检查结果回调。| 3707e41f4b71Sopenharmony_ci 3708e41f4b71Sopenharmony_ci**错误码:** 3709e41f4b71Sopenharmony_ci 3710e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3711e41f4b71Sopenharmony_ci| -------- | --------------------------- | 3712e41f4b71Sopenharmony_ci| 201 | Permission denied.| 3713e41f4b71Sopenharmony_ci| 202 | Not system application.| 3714e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 3715e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 3716e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 3717e41f4b71Sopenharmony_ci| 12300002 | Invalid domainAccountInfo. | 3718e41f4b71Sopenharmony_ci| 12300013 | Network exception. | 3719e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 3720e41f4b71Sopenharmony_ci 3721e41f4b71Sopenharmony_ci**示例:** 3722e41f4b71Sopenharmony_ci ```ts 3723e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 3724e41f4b71Sopenharmony_ci let domainAccountInfo: osAccount.DomainAccountInfo = { 3725e41f4b71Sopenharmony_ci domain: 'CHINA', 3726e41f4b71Sopenharmony_ci accountName: 'zhangsan' 3727e41f4b71Sopenharmony_ci } 3728e41f4b71Sopenharmony_ci try { 3729e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.hasAccount(domainAccountInfo, (err: BusinessError, result: boolean) => { 3730e41f4b71Sopenharmony_ci if (err) { 3731e41f4b71Sopenharmony_ci console.log('call hasAccount failed, error: ' + JSON.stringify(err)); 3732e41f4b71Sopenharmony_ci } else { 3733e41f4b71Sopenharmony_ci console.log('hasAccount result: ' + result); 3734e41f4b71Sopenharmony_ci } 3735e41f4b71Sopenharmony_ci }); 3736e41f4b71Sopenharmony_ci } catch (err) { 3737e41f4b71Sopenharmony_ci console.log('hasAccount exception = ' + JSON.stringify(err)); 3738e41f4b71Sopenharmony_ci } 3739e41f4b71Sopenharmony_ci ``` 3740e41f4b71Sopenharmony_ci 3741e41f4b71Sopenharmony_ci### hasAccount<sup>10+</sup> 3742e41f4b71Sopenharmony_ci 3743e41f4b71Sopenharmony_cihasAccount(domainAccountInfo: DomainAccountInfo): Promise<boolean> 3744e41f4b71Sopenharmony_ci 3745e41f4b71Sopenharmony_ci检查是否存在指定的域账号。 3746e41f4b71Sopenharmony_ci 3747e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3748e41f4b71Sopenharmony_ci 3749e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3750e41f4b71Sopenharmony_ci 3751e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 3752e41f4b71Sopenharmony_ci 3753e41f4b71Sopenharmony_ci**参数:** 3754e41f4b71Sopenharmony_ci 3755e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3756e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3757e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 3758e41f4b71Sopenharmony_ci 3759e41f4b71Sopenharmony_ci**返回值:** 3760e41f4b71Sopenharmony_ci 3761e41f4b71Sopenharmony_ci| 类型 | 说明 | 3762e41f4b71Sopenharmony_ci| :------------------------ | ----------------------- | 3763e41f4b71Sopenharmony_ci| Promise<boolean> | Promise对象,返回指定的域账号是否存在。 | 3764e41f4b71Sopenharmony_ci 3765e41f4b71Sopenharmony_ci**错误码:** 3766e41f4b71Sopenharmony_ci 3767e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3768e41f4b71Sopenharmony_ci| -------- | --------------------------- | 3769e41f4b71Sopenharmony_ci| 201 | Permission denied.| 3770e41f4b71Sopenharmony_ci| 202 | Not system application.| 3771e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 3772e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 3773e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 3774e41f4b71Sopenharmony_ci| 12300002 | Invalid domainAccountInfo. | 3775e41f4b71Sopenharmony_ci| 12300013 | Network exception. | 3776e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 3777e41f4b71Sopenharmony_ci 3778e41f4b71Sopenharmony_ci**示例:** 3779e41f4b71Sopenharmony_ci ```ts 3780e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 3781e41f4b71Sopenharmony_ci let domainAccountInfo: osAccount.DomainAccountInfo = { 3782e41f4b71Sopenharmony_ci domain: 'CHINA', 3783e41f4b71Sopenharmony_ci accountName: 'zhangsan' 3784e41f4b71Sopenharmony_ci } 3785e41f4b71Sopenharmony_ci try { 3786e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.hasAccount(domainAccountInfo).then((result: boolean) => { 3787e41f4b71Sopenharmony_ci console.log('hasAccount result: ' + result); 3788e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 3789e41f4b71Sopenharmony_ci console.log('call hasAccount failed, error: ' + JSON.stringify(err)); 3790e41f4b71Sopenharmony_ci }); 3791e41f4b71Sopenharmony_ci } catch (err) { 3792e41f4b71Sopenharmony_ci console.log('hasAccount exception = ' + JSON.stringify(err)); 3793e41f4b71Sopenharmony_ci } 3794e41f4b71Sopenharmony_ci ``` 3795e41f4b71Sopenharmony_ci 3796e41f4b71Sopenharmony_ci### updateAccountToken<sup>10+</sup> 3797e41f4b71Sopenharmony_ci 3798e41f4b71Sopenharmony_ciupdateAccountToken(domainAccountInfo: DomainAccountInfo, token: Uint8Array, callback: AsyncCallback<void>): void 3799e41f4b71Sopenharmony_ci 3800e41f4b71Sopenharmony_ci更新指定域账号的令牌,空令牌表示目标域账号的令牌失效。使用callback异步回调。 3801e41f4b71Sopenharmony_ci 3802e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3803e41f4b71Sopenharmony_ci 3804e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3805e41f4b71Sopenharmony_ci 3806e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 3807e41f4b71Sopenharmony_ci 3808e41f4b71Sopenharmony_ci**参数:** 3809e41f4b71Sopenharmony_ci 3810e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3811e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3812e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 3813e41f4b71Sopenharmony_ci| token | Uint8Array | 是 | 指示域账号的令牌。| 3814e41f4b71Sopenharmony_ci| callback | AsyncCallback<void> | 是 | 回调函数。如果更新成功,err为null,否则为错误对象。| 3815e41f4b71Sopenharmony_ci 3816e41f4b71Sopenharmony_ci**错误码:** 3817e41f4b71Sopenharmony_ci 3818e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3819e41f4b71Sopenharmony_ci| -------- | --------------------------- | 3820e41f4b71Sopenharmony_ci| 201 | Permission denied.| 3821e41f4b71Sopenharmony_ci| 202 | Not system application.| 3822e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 3823e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 3824e41f4b71Sopenharmony_ci| 12300002 | Invalid token. | 3825e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 3826e41f4b71Sopenharmony_ci 3827e41f4b71Sopenharmony_ci**示例:** 3828e41f4b71Sopenharmony_ci ```ts 3829e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 3830e41f4b71Sopenharmony_ci let domainAccountInfo: osAccount.DomainAccountInfo = { 3831e41f4b71Sopenharmony_ci domain: 'CHINA', 3832e41f4b71Sopenharmony_ci accountName: 'zhangsan', 3833e41f4b71Sopenharmony_ci accountId: '123456' 3834e41f4b71Sopenharmony_ci } 3835e41f4b71Sopenharmony_ci let token = new Uint8Array([0]) 3836e41f4b71Sopenharmony_ci try { 3837e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.updateAccountToken(domainAccountInfo, token, (err: BusinessError) => { 3838e41f4b71Sopenharmony_ci if (err != null) { 3839e41f4b71Sopenharmony_ci console.log('updateAccountToken failed, error: ' + JSON.stringify(err)); 3840e41f4b71Sopenharmony_ci } else { 3841e41f4b71Sopenharmony_ci console.log('updateAccountToken successfully'); 3842e41f4b71Sopenharmony_ci } 3843e41f4b71Sopenharmony_ci }) 3844e41f4b71Sopenharmony_ci } catch (err) { 3845e41f4b71Sopenharmony_ci console.log('updateAccountToken exception = ' + JSON.stringify(err)); 3846e41f4b71Sopenharmony_ci } 3847e41f4b71Sopenharmony_ci ``` 3848e41f4b71Sopenharmony_ci 3849e41f4b71Sopenharmony_ci### updateAccountToken<sup>10+</sup> 3850e41f4b71Sopenharmony_ci 3851e41f4b71Sopenharmony_ciupdateAccountToken(domainAccountInfo: DomainAccountInfo, token: Uint8Array): Promise<void> 3852e41f4b71Sopenharmony_ci 3853e41f4b71Sopenharmony_ci更新指定域账号的令牌,空令牌表示目标域账号的令牌失效。使用Promise异步回调。 3854e41f4b71Sopenharmony_ci 3855e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3856e41f4b71Sopenharmony_ci 3857e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3858e41f4b71Sopenharmony_ci 3859e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 3860e41f4b71Sopenharmony_ci 3861e41f4b71Sopenharmony_ci**参数:** 3862e41f4b71Sopenharmony_ci 3863e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3864e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3865e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 3866e41f4b71Sopenharmony_ci| token | Uint8Array | 是 | 指示域账号的令牌。| 3867e41f4b71Sopenharmony_ci 3868e41f4b71Sopenharmony_ci**返回值:** 3869e41f4b71Sopenharmony_ci 3870e41f4b71Sopenharmony_ci| 类型 | 说明 | 3871e41f4b71Sopenharmony_ci| :------------------------ | ----------------------- | 3872e41f4b71Sopenharmony_ci| Promise<void> | Promise对象,无返回结果的Promise对象。 | 3873e41f4b71Sopenharmony_ci 3874e41f4b71Sopenharmony_ci**错误码:** 3875e41f4b71Sopenharmony_ci 3876e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3877e41f4b71Sopenharmony_ci| -------- | --------------------------- | 3878e41f4b71Sopenharmony_ci| 201 | Permission denied.| 3879e41f4b71Sopenharmony_ci| 202 | Not system application.| 3880e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 3881e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 3882e41f4b71Sopenharmony_ci| 12300002 | Invalid token. | 3883e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 3884e41f4b71Sopenharmony_ci 3885e41f4b71Sopenharmony_ci**示例:** 3886e41f4b71Sopenharmony_ci ```ts 3887e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 3888e41f4b71Sopenharmony_ci let domainAccountInfo: osAccount.DomainAccountInfo = { 3889e41f4b71Sopenharmony_ci domain: 'CHINA', 3890e41f4b71Sopenharmony_ci accountName: 'zhangsan', 3891e41f4b71Sopenharmony_ci accountId: '123456' 3892e41f4b71Sopenharmony_ci } 3893e41f4b71Sopenharmony_ci let token = new Uint8Array([0]) 3894e41f4b71Sopenharmony_ci try { 3895e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.updateAccountToken(domainAccountInfo, token).then(() => { 3896e41f4b71Sopenharmony_ci console.log('updateAccountToken successfully'); 3897e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 3898e41f4b71Sopenharmony_ci console.log('updateAccountToken failed, error: ' + JSON.stringify(err)); 3899e41f4b71Sopenharmony_ci }); 3900e41f4b71Sopenharmony_ci } catch (err) { 3901e41f4b71Sopenharmony_ci console.log('updateAccountToken exception = ' + JSON.stringify(err)); 3902e41f4b71Sopenharmony_ci } 3903e41f4b71Sopenharmony_ci ``` 3904e41f4b71Sopenharmony_ci 3905e41f4b71Sopenharmony_ci### updateAccountInfo<sup>12+</sup> 3906e41f4b71Sopenharmony_ci 3907e41f4b71Sopenharmony_ciupdateAccountInfo(oldAccountInfo: DomainAccountInfo, newAccountInfo: DomainAccountInfo): Promise<void> 3908e41f4b71Sopenharmony_ci 3909e41f4b71Sopenharmony_ci修改指定域账号信息。使用Promise异步回调。 3910e41f4b71Sopenharmony_ci 3911e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3912e41f4b71Sopenharmony_ci 3913e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 3914e41f4b71Sopenharmony_ci 3915e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3916e41f4b71Sopenharmony_ci 3917e41f4b71Sopenharmony_ci**参数:** 3918e41f4b71Sopenharmony_ci 3919e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3920e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3921e41f4b71Sopenharmony_ci| oldAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示旧域账号信息。| 3922e41f4b71Sopenharmony_ci| newAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示新域账号信息。| 3923e41f4b71Sopenharmony_ci 3924e41f4b71Sopenharmony_ci**错误码:** 3925e41f4b71Sopenharmony_ci 3926e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3927e41f4b71Sopenharmony_ci| -------- | --------------------------- | 3928e41f4b71Sopenharmony_ci| 201 | Permission denied.| 3929e41f4b71Sopenharmony_ci| 202 | Not system application.| 3930e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 3931e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 3932e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 3933e41f4b71Sopenharmony_ci| 12300002 | The new account info is invalid. | 3934e41f4b71Sopenharmony_ci| 12300003 | The old account not found. | 3935e41f4b71Sopenharmony_ci| 12300004 | The new account already exists. | 3936e41f4b71Sopenharmony_ci 3937e41f4b71Sopenharmony_ci**示例:** 3938e41f4b71Sopenharmony_ci ```ts 3939e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 3940e41f4b71Sopenharmony_ci let oldDomainInfo: osAccount.DomainAccountInfo = 3941e41f4b71Sopenharmony_ci {domain: 'testDomain', accountName: 'oldtestAccountName'}; 3942e41f4b71Sopenharmony_ci let newDomainInfo: osAccount.DomainAccountInfo = 3943e41f4b71Sopenharmony_ci {domain: 'testDomain', accountName: 'newtestAccountName'}; 3944e41f4b71Sopenharmony_ci try { 3945e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.updateAccountInfo(oldDomainInfo, newDomainInfo).then(() => { 3946e41f4b71Sopenharmony_ci console.log('updateAccountInfo, success'); 3947e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 3948e41f4b71Sopenharmony_ci console.log('updateAccountInfo err: ' + err); 3949e41f4b71Sopenharmony_ci }); 3950e41f4b71Sopenharmony_ci } catch (e) { 3951e41f4b71Sopenharmony_ci console.log('updateAccountInfo exception: ' + e); 3952e41f4b71Sopenharmony_ci } 3953e41f4b71Sopenharmony_ci ``` 3954e41f4b71Sopenharmony_ci 3955e41f4b71Sopenharmony_ci### getAccountInfo<sup>10+</sup> 3956e41f4b71Sopenharmony_ci 3957e41f4b71Sopenharmony_cigetAccountInfo(options: GetDomainAccountInfoOptions, callback: AsyncCallback<DomainAccountInfo>): void 3958e41f4b71Sopenharmony_ci 3959e41f4b71Sopenharmony_ci查询指定的域账号信息,callback方式。 3960e41f4b71Sopenharmony_ci 3961e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 3962e41f4b71Sopenharmony_ci 3963e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 3964e41f4b71Sopenharmony_ci 3965e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.GET_DOMAIN_ACCOUNTS 3966e41f4b71Sopenharmony_ci 3967e41f4b71Sopenharmony_ci**参数:** 3968e41f4b71Sopenharmony_ci 3969e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3970e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 3971e41f4b71Sopenharmony_ci| options | [GetDomainAccountInfoOptions](#getdomainaccountinfooptions10) | 是 | 指示域账号信息。| 3972e41f4b71Sopenharmony_ci| callback | AsyncCallback<DomainAccountInfo> | 是 | 指示查询结果回调。| 3973e41f4b71Sopenharmony_ci 3974e41f4b71Sopenharmony_ci**错误码:** 3975e41f4b71Sopenharmony_ci 3976e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3977e41f4b71Sopenharmony_ci| -------- | --------------------------- | 3978e41f4b71Sopenharmony_ci| 201 | Permission denied.| 3979e41f4b71Sopenharmony_ci| 202 | Not system application.| 3980e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 3981e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 3982e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 3983e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 3984e41f4b71Sopenharmony_ci| 12300013 | Network exception. | 3985e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 3986e41f4b71Sopenharmony_ci 3987e41f4b71Sopenharmony_ci**示例:** 3988e41f4b71Sopenharmony_ci ```ts 3989e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 3990e41f4b71Sopenharmony_ci let domainAccountInfo: osAccount.GetDomainAccountInfoOptions = { 3991e41f4b71Sopenharmony_ci domain: 'CHINA', 3992e41f4b71Sopenharmony_ci accountName: 'zhangsan' 3993e41f4b71Sopenharmony_ci } 3994e41f4b71Sopenharmony_ci try { 3995e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.getAccountInfo(domainAccountInfo, 3996e41f4b71Sopenharmony_ci (err: BusinessError, result: osAccount.DomainAccountInfo) => { 3997e41f4b71Sopenharmony_ci if (err) { 3998e41f4b71Sopenharmony_ci console.log('call getAccountInfo failed, error: ' + JSON.stringify(err)); 3999e41f4b71Sopenharmony_ci } else { 4000e41f4b71Sopenharmony_ci console.log('getAccountInfo result: ' + result); 4001e41f4b71Sopenharmony_ci } 4002e41f4b71Sopenharmony_ci }); 4003e41f4b71Sopenharmony_ci } catch (err) { 4004e41f4b71Sopenharmony_ci console.log('getAccountInfo exception = ' + JSON.stringify(err)); 4005e41f4b71Sopenharmony_ci } 4006e41f4b71Sopenharmony_ci ``` 4007e41f4b71Sopenharmony_ci 4008e41f4b71Sopenharmony_ci### getAccountInfo<sup>10+</sup> 4009e41f4b71Sopenharmony_ci 4010e41f4b71Sopenharmony_cigetAccountInfo(options: GetDomainAccountInfoOptions): Promise<DomainAccountInfo> 4011e41f4b71Sopenharmony_ci 4012e41f4b71Sopenharmony_ci查询指定的域账号信息,promise方式。 4013e41f4b71Sopenharmony_ci 4014e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4015e41f4b71Sopenharmony_ci 4016e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4017e41f4b71Sopenharmony_ci 4018e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.GET_DOMAIN_ACCOUNTS 4019e41f4b71Sopenharmony_ci 4020e41f4b71Sopenharmony_ci**参数:** 4021e41f4b71Sopenharmony_ci 4022e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4023e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 4024e41f4b71Sopenharmony_ci| options | [GetDomainAccountInfoOptions](#getdomainaccountinfooptions10) | 是 | 指示域账号信息。| 4025e41f4b71Sopenharmony_ci 4026e41f4b71Sopenharmony_ci**返回值:** 4027e41f4b71Sopenharmony_ci 4028e41f4b71Sopenharmony_ci| 类型 | 说明 | 4029e41f4b71Sopenharmony_ci| :------------------------ | ----------------------- | 4030e41f4b71Sopenharmony_ci| Promise<DomainAccountInfo> | Promise对象,返回指定的域账号信息。 | 4031e41f4b71Sopenharmony_ci 4032e41f4b71Sopenharmony_ci**错误码:** 4033e41f4b71Sopenharmony_ci 4034e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4035e41f4b71Sopenharmony_ci| -------- | --------------------------- | 4036e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4037e41f4b71Sopenharmony_ci| 202 | Not system application.| 4038e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4039e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 4040e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4041e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 4042e41f4b71Sopenharmony_ci| 12300013 | Network exception. | 4043e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 4044e41f4b71Sopenharmony_ci 4045e41f4b71Sopenharmony_ci**示例:** 4046e41f4b71Sopenharmony_ci ```ts 4047e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4048e41f4b71Sopenharmony_ci let domainAccountInfo: osAccount.GetDomainAccountInfoOptions = { 4049e41f4b71Sopenharmony_ci domain: 'CHINA', 4050e41f4b71Sopenharmony_ci accountName: 'zhangsan' 4051e41f4b71Sopenharmony_ci } 4052e41f4b71Sopenharmony_ci try { 4053e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.getAccountInfo(domainAccountInfo) 4054e41f4b71Sopenharmony_ci .then((result: osAccount.DomainAccountInfo) => { 4055e41f4b71Sopenharmony_ci console.log('getAccountInfo result: ' + result); 4056e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4057e41f4b71Sopenharmony_ci console.log('call getAccountInfo failed, error: ' + JSON.stringify(err)); 4058e41f4b71Sopenharmony_ci }); 4059e41f4b71Sopenharmony_ci } catch (err) { 4060e41f4b71Sopenharmony_ci console.log('getAccountInfo exception = ' + JSON.stringify(err)); 4061e41f4b71Sopenharmony_ci } 4062e41f4b71Sopenharmony_ci ``` 4063e41f4b71Sopenharmony_ci 4064e41f4b71Sopenharmony_ci### getAccessToken<sup>11+</sup> 4065e41f4b71Sopenharmony_ci 4066e41f4b71Sopenharmony_cigetAccessToken(businessParams: Record<string, Object>, callback: AsyncCallback<Uint8Array>): void 4067e41f4b71Sopenharmony_ci 4068e41f4b71Sopenharmony_ci获取当前域账号的业务访问令牌,使用callback异步回调。 4069e41f4b71Sopenharmony_ci 4070e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4071e41f4b71Sopenharmony_ci 4072e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4073e41f4b71Sopenharmony_ci 4074e41f4b71Sopenharmony_ci**参数:** 4075e41f4b71Sopenharmony_ci 4076e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4077e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 4078e41f4b71Sopenharmony_ci| businessParams | Record<string, Object> | 是 | 指示业务参数,具体格式取决于域插件的实现要求。| 4079e41f4b71Sopenharmony_ci| callback | AsyncCallback<Uint8Array> | 是 | 指示结果回调。如果获取成功,err返回null,否则为错误对象。| 4080e41f4b71Sopenharmony_ci 4081e41f4b71Sopenharmony_ci**错误码:** 4082e41f4b71Sopenharmony_ci 4083e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4084e41f4b71Sopenharmony_ci| -------- | --------------------------- | 4085e41f4b71Sopenharmony_ci| 202 | Not system application.| 4086e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4087e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 4088e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4089e41f4b71Sopenharmony_ci| 12300002 | Invalid business parameters. | 4090e41f4b71Sopenharmony_ci| 12300003 | Domain account not found. | 4091e41f4b71Sopenharmony_ci| 12300013 | Network exception. | 4092e41f4b71Sopenharmony_ci| 12300014 | The domain account is not authenticated. | 4093e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 4094e41f4b71Sopenharmony_ci 4095e41f4b71Sopenharmony_ci**示例:** 4096e41f4b71Sopenharmony_ci ```ts 4097e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4098e41f4b71Sopenharmony_ci let businessParams: Record<string, Object> = { 4099e41f4b71Sopenharmony_ci 'clientId': 'xxx', 4100e41f4b71Sopenharmony_ci 'secretId': 'yyy' 4101e41f4b71Sopenharmony_ci }; // depends on the implementation of the domain plugin 4102e41f4b71Sopenharmony_ci try { 4103e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.getAccessToken(businessParams, 4104e41f4b71Sopenharmony_ci (err: BusinessError, result: Uint8Array) => { 4105e41f4b71Sopenharmony_ci if (err) { 4106e41f4b71Sopenharmony_ci console.log('getAccessToken failed, error: ' + JSON.stringify(err)); 4107e41f4b71Sopenharmony_ci } else { 4108e41f4b71Sopenharmony_ci console.log('getAccessToken result: ' + result); 4109e41f4b71Sopenharmony_ci } 4110e41f4b71Sopenharmony_ci }); 4111e41f4b71Sopenharmony_ci } catch (err) { 4112e41f4b71Sopenharmony_ci console.log('getAccessToken exception = ' + JSON.stringify(err)); 4113e41f4b71Sopenharmony_ci } 4114e41f4b71Sopenharmony_ci ``` 4115e41f4b71Sopenharmony_ci 4116e41f4b71Sopenharmony_ci### getAccessToken<sup>11+</sup> 4117e41f4b71Sopenharmony_ci 4118e41f4b71Sopenharmony_cigetAccessToken(businessParams: Record<string, Object>): Promise<Uint8Array> 4119e41f4b71Sopenharmony_ci 4120e41f4b71Sopenharmony_ci查询当前域账号的业务访问令牌,使用promise异步回调。 4121e41f4b71Sopenharmony_ci 4122e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4123e41f4b71Sopenharmony_ci 4124e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4125e41f4b71Sopenharmony_ci 4126e41f4b71Sopenharmony_ci**参数:** 4127e41f4b71Sopenharmony_ci 4128e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4129e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 4130e41f4b71Sopenharmony_ci| businessParams | Record<string, Object> | 是 | 指示业务参数,具体格式取决于域插件的实现要求。| 4131e41f4b71Sopenharmony_ci 4132e41f4b71Sopenharmony_ci**返回值:** 4133e41f4b71Sopenharmony_ci 4134e41f4b71Sopenharmony_ci| 类型 | 说明 | 4135e41f4b71Sopenharmony_ci| :------------------------ | ----------------------- | 4136e41f4b71Sopenharmony_ci| Promise<Uint8Array> | Promise对象,返回业务访问令牌。 | 4137e41f4b71Sopenharmony_ci 4138e41f4b71Sopenharmony_ci**错误码:** 4139e41f4b71Sopenharmony_ci 4140e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4141e41f4b71Sopenharmony_ci| -------- | --------------------------- | 4142e41f4b71Sopenharmony_ci| 202 | Not system application.| 4143e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4144e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 4145e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4146e41f4b71Sopenharmony_ci| 12300002 | Invalid business parameters. | 4147e41f4b71Sopenharmony_ci| 12300003 | Domain account not found. | 4148e41f4b71Sopenharmony_ci| 12300013 | Network exception. | 4149e41f4b71Sopenharmony_ci| 12300014 | The domain account is not authenticated. | 4150e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 4151e41f4b71Sopenharmony_ci 4152e41f4b71Sopenharmony_ci**示例:** 4153e41f4b71Sopenharmony_ci ```ts 4154e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4155e41f4b71Sopenharmony_ci let businessParams: Record<string, Object> = { 4156e41f4b71Sopenharmony_ci 'clientId': 'xxx', 4157e41f4b71Sopenharmony_ci 'secretId': 'yyy' 4158e41f4b71Sopenharmony_ci }; // depends on the implementation of the domain plugin 4159e41f4b71Sopenharmony_ci try { 4160e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.getAccessToken(businessParams) 4161e41f4b71Sopenharmony_ci .then((result: Uint8Array) => { 4162e41f4b71Sopenharmony_ci console.log('getAccessToken result: ' + result); 4163e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4164e41f4b71Sopenharmony_ci console.log('getAccessToken failed, error: ' + JSON.stringify(err)); 4165e41f4b71Sopenharmony_ci }); 4166e41f4b71Sopenharmony_ci } catch (err) { 4167e41f4b71Sopenharmony_ci console.log('getAccessToken exception = ' + JSON.stringify(err)); 4168e41f4b71Sopenharmony_ci } 4169e41f4b71Sopenharmony_ci ``` 4170e41f4b71Sopenharmony_ci 4171e41f4b71Sopenharmony_ci### isAuthenticationExpired<sup>12+</sup> 4172e41f4b71Sopenharmony_ci 4173e41f4b71Sopenharmony_ciisAuthenticationExpired(domainAccountInfo: DomainAccountInfo): Promise<boolean>; 4174e41f4b71Sopenharmony_ci 4175e41f4b71Sopenharmony_ci判断指定域账号是否登录超期。使用Promise异步回调。 4176e41f4b71Sopenharmony_ci 4177e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4178e41f4b71Sopenharmony_ci 4179e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS 4180e41f4b71Sopenharmony_ci 4181e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4182e41f4b71Sopenharmony_ci 4183e41f4b71Sopenharmony_ci**参数:** 4184e41f4b71Sopenharmony_ci 4185e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4186e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 4187e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示域账号信息。| 4188e41f4b71Sopenharmony_ci 4189e41f4b71Sopenharmony_ci**返回值:** 4190e41f4b71Sopenharmony_ci 4191e41f4b71Sopenharmony_ci| 类型 | 说明 | 4192e41f4b71Sopenharmony_ci| :------------------------ | ----------------------- | 4193e41f4b71Sopenharmony_ci| Promise<boolean> | Promise对象,返回指定的域账号是否登录超期。 | 4194e41f4b71Sopenharmony_ci 4195e41f4b71Sopenharmony_ci**错误码:** 4196e41f4b71Sopenharmony_ci 4197e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4198e41f4b71Sopenharmony_ci| -------- | --------------------------- | 4199e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4200e41f4b71Sopenharmony_ci| 202 | Not system application.| 4201e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4202e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 4203e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4204e41f4b71Sopenharmony_ci| 12300003 | Domain account not found. | 4205e41f4b71Sopenharmony_ci 4206e41f4b71Sopenharmony_ci**示例:** 4207e41f4b71Sopenharmony_ci ```ts 4208e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4209e41f4b71Sopenharmony_ci let domainInfo: osAccount.DomainAccountInfo = 4210e41f4b71Sopenharmony_ci {domain: 'testDomain', accountName: 'testAccountName'}; 4211e41f4b71Sopenharmony_ci try { 4212e41f4b71Sopenharmony_ci osAccount.DomainAccountManager.isAuthenticationExpired(domainInfo).then((result: boolean) => { 4213e41f4b71Sopenharmony_ci console.log('isAuthenticationExpired, result: ' + result); 4214e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4215e41f4b71Sopenharmony_ci console.log('isAuthenticationExpired err: ' + err); 4216e41f4b71Sopenharmony_ci }); 4217e41f4b71Sopenharmony_ci } catch (e) { 4218e41f4b71Sopenharmony_ci console.log('isAuthenticationExpired exception: ' + e); 4219e41f4b71Sopenharmony_ci } 4220e41f4b71Sopenharmony_ci ``` 4221e41f4b71Sopenharmony_ci 4222e41f4b71Sopenharmony_ci## DomainServerConfig<sup>12+</sup> 4223e41f4b71Sopenharmony_ci 4224e41f4b71Sopenharmony_ci域服务器配置。 4225e41f4b71Sopenharmony_ci 4226e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4227e41f4b71Sopenharmony_ci 4228e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4229e41f4b71Sopenharmony_ci 4230e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 4231e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------- | 4232e41f4b71Sopenharmony_ci| parameters | Record<string, Object> | 是 | 服务器配置参数。 | 4233e41f4b71Sopenharmony_ci| id | string | 是 | 服务器配置标识。| 4234e41f4b71Sopenharmony_ci| domain | string | 是 | 服务器所属的域。 | 4235e41f4b71Sopenharmony_ci 4236e41f4b71Sopenharmony_ci## DomainServerConfigManager<sup>12+</sup> 4237e41f4b71Sopenharmony_ci 4238e41f4b71Sopenharmony_ci域服务器配置管理类。 4239e41f4b71Sopenharmony_ci 4240e41f4b71Sopenharmony_ci### addServerConfig<sup>12+</sup> 4241e41f4b71Sopenharmony_ci 4242e41f4b71Sopenharmony_cistatic addServerConfig(parameters: Record<string, Object>): Promise<DomainServerConfig> 4243e41f4b71Sopenharmony_ci 4244e41f4b71Sopenharmony_ci添加域服务器配置。使用Promise异步回调。 4245e41f4b71Sopenharmony_ci 4246e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4247e41f4b71Sopenharmony_ci 4248e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4249e41f4b71Sopenharmony_ci 4250e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 4251e41f4b71Sopenharmony_ci 4252e41f4b71Sopenharmony_ci**参数:** 4253e41f4b71Sopenharmony_ci 4254e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4255e41f4b71Sopenharmony_ci| ----------| ----------------------- | --- | -------------------------- | 4256e41f4b71Sopenharmony_ci| parameters | Record<string, Object> | 是 | 指示域服务器配置参数。 | 4257e41f4b71Sopenharmony_ci 4258e41f4b71Sopenharmony_ci**返回值:** 4259e41f4b71Sopenharmony_ci 4260e41f4b71Sopenharmony_ci| 类型 | 说明 | 4261e41f4b71Sopenharmony_ci| :------------------------ | ----------------------- | 4262e41f4b71Sopenharmony_ci| Promise<[DomainServerConfig](#domainserverconfig12)> | Promise对象,返回新添加的域服务器配置。 | 4263e41f4b71Sopenharmony_ci 4264e41f4b71Sopenharmony_ci**错误码:** 4265e41f4b71Sopenharmony_ci 4266e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4267e41f4b71Sopenharmony_ci| -------- | --------------------------- | 4268e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4269e41f4b71Sopenharmony_ci| 202 | Not system application.| 4270e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4271e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 4272e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4273e41f4b71Sopenharmony_ci| 12300002 | - Invalid server config parameters. | 4274e41f4b71Sopenharmony_ci| 12300211 | - Server unreachable. | 4275e41f4b71Sopenharmony_ci 4276e41f4b71Sopenharmony_ci**示例:** 4277e41f4b71Sopenharmony_ci ```ts 4278e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4279e41f4b71Sopenharmony_ci let configParams: Record<string, Object> = { 4280e41f4b71Sopenharmony_ci 'uri': 'test.example.com', 4281e41f4b71Sopenharmony_ci 'port': 100 4282e41f4b71Sopenharmony_ci }; 4283e41f4b71Sopenharmony_ci osAccount.DomainServerConfigManager.addServerConfig(configParams).then(( 4284e41f4b71Sopenharmony_ci serverConfig: osAccount.DomainServerConfig) => { 4285e41f4b71Sopenharmony_ci console.log('add server configuration successfully, the return config: ' + JSON.stringify(serverConfig)); 4286e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4287e41f4b71Sopenharmony_ci console.log('add server configuration failed, error: ' + JSON.stringify(err)); 4288e41f4b71Sopenharmony_ci }); 4289e41f4b71Sopenharmony_ci ``` 4290e41f4b71Sopenharmony_ci 4291e41f4b71Sopenharmony_ci### removeServerConfig<sup>12+</sup> 4292e41f4b71Sopenharmony_ci 4293e41f4b71Sopenharmony_cistatic removeServerConfig(configId: string): Promise<void> 4294e41f4b71Sopenharmony_ci 4295e41f4b71Sopenharmony_ci删除域服务器配置。使用Promise异步回调。 4296e41f4b71Sopenharmony_ci 4297e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4298e41f4b71Sopenharmony_ci 4299e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4300e41f4b71Sopenharmony_ci 4301e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 4302e41f4b71Sopenharmony_ci 4303e41f4b71Sopenharmony_ci**参数:** 4304e41f4b71Sopenharmony_ci 4305e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4306e41f4b71Sopenharmony_ci| ----------| ----------------------- | --- | -------------------------- | 4307e41f4b71Sopenharmony_ci| configId | string | 是 | 指示服务器配置标识。 | 4308e41f4b71Sopenharmony_ci 4309e41f4b71Sopenharmony_ci**返回值:** 4310e41f4b71Sopenharmony_ci 4311e41f4b71Sopenharmony_ci| 类型 | 说明 | 4312e41f4b71Sopenharmony_ci| :------------------------ | ----------------------- | 4313e41f4b71Sopenharmony_ci| Promise<void> | Promise对象,无返回结果的Promise对象。 | 4314e41f4b71Sopenharmony_ci 4315e41f4b71Sopenharmony_ci**错误码:** 4316e41f4b71Sopenharmony_ci 4317e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4318e41f4b71Sopenharmony_ci| -------- | --------------------------- | 4319e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4320e41f4b71Sopenharmony_ci| 202 | Not system application.| 4321e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4322e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 4323e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4324e41f4b71Sopenharmony_ci| 12300212 | - Server config not found. | 4325e41f4b71Sopenharmony_ci 4326e41f4b71Sopenharmony_ci**示例:** 4327e41f4b71Sopenharmony_ci ```ts 4328e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4329e41f4b71Sopenharmony_ci let configParams: Record<string, Object> = { 4330e41f4b71Sopenharmony_ci 'uri': 'test.example.com', 4331e41f4b71Sopenharmony_ci 'port': 100 4332e41f4b71Sopenharmony_ci }; 4333e41f4b71Sopenharmony_ci osAccount.DomainServerConfigManager.addServerConfig(configParams).then(( 4334e41f4b71Sopenharmony_ci serverConfig: osAccount.DomainServerConfig) => { 4335e41f4b71Sopenharmony_ci console.log('add domain server configuration successfully, the added config: ' + JSON.stringify(serverConfig)); 4336e41f4b71Sopenharmony_ci osAccount.DomainServerConfigManager.removeServerConfig(serverConfig.id); 4337e41f4b71Sopenharmony_ci console.log('remove domain server configuration successfully'); 4338e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4339e41f4b71Sopenharmony_ci console.log('add server configuration failed, error: ' + JSON.stringify(err)); 4340e41f4b71Sopenharmony_ci }); 4341e41f4b71Sopenharmony_ci ``` 4342e41f4b71Sopenharmony_ci 4343e41f4b71Sopenharmony_ci### getAccountServerConfig<sup>12+</sup> 4344e41f4b71Sopenharmony_ci 4345e41f4b71Sopenharmony_cistatic getAccountServerConfig(domainAccountInfo: DomainAccountInfo): Promise<DomainServerConfig> 4346e41f4b71Sopenharmony_ci 4347e41f4b71Sopenharmony_ci获取目标域账号的服务器配置。使用Promise异步回调。 4348e41f4b71Sopenharmony_ci 4349e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4350e41f4b71Sopenharmony_ci 4351e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4352e41f4b71Sopenharmony_ci 4353e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 4354e41f4b71Sopenharmony_ci 4355e41f4b71Sopenharmony_ci**参数:** 4356e41f4b71Sopenharmony_ci 4357e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4358e41f4b71Sopenharmony_ci| ----------| ----------------------- | --- | -------------------------- | 4359e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 指示目标域账号信息。 | 4360e41f4b71Sopenharmony_ci 4361e41f4b71Sopenharmony_ci**返回值:** 4362e41f4b71Sopenharmony_ci 4363e41f4b71Sopenharmony_ci| 类型 | 说明 | 4364e41f4b71Sopenharmony_ci| :------------------------ | ----------------------- | 4365e41f4b71Sopenharmony_ci| Promise<[DomainServerConfig](#domainserverconfig12)> | Promise对象,返回目标账号的域服务器配置。 | 4366e41f4b71Sopenharmony_ci 4367e41f4b71Sopenharmony_ci**错误码:** 4368e41f4b71Sopenharmony_ci 4369e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4370e41f4b71Sopenharmony_ci| -------- | --------------------------- | 4371e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4372e41f4b71Sopenharmony_ci| 202 | Not system application.| 4373e41f4b71Sopenharmony_ci| 401 |Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4374e41f4b71Sopenharmony_ci| 801 | Capability not supported.| 4375e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4376e41f4b71Sopenharmony_ci| 12300003 | Domain account not found. | 4377e41f4b71Sopenharmony_ci 4378e41f4b71Sopenharmony_ci**示例:** 4379e41f4b71Sopenharmony_ci ```ts 4380e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4381e41f4b71Sopenharmony_ci let accountInfo: osAccount.DomainAccountInfo = { 4382e41f4b71Sopenharmony_ci 'accountName': 'demoName', 4383e41f4b71Sopenharmony_ci 'accountId': 'demoId', 4384e41f4b71Sopenharmony_ci 'domain': 'demoDomain' 4385e41f4b71Sopenharmony_ci }; 4386e41f4b71Sopenharmony_ci osAccount.DomainServerConfigManager.getAccountServerConfig(accountInfo).then(( 4387e41f4b71Sopenharmony_ci serverConfig: osAccount.DomainServerConfig) => { 4388e41f4b71Sopenharmony_ci console.log('get account server configuration successfully, the return config: ' + JSON.stringify(serverConfig)); 4389e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4390e41f4b71Sopenharmony_ci console.log('add server configuration failed, error: ' + JSON.stringify(err)); 4391e41f4b71Sopenharmony_ci }); 4392e41f4b71Sopenharmony_ci ``` 4393e41f4b71Sopenharmony_ci 4394e41f4b71Sopenharmony_ci## UserIdentityManager<sup>8+</sup> 4395e41f4b71Sopenharmony_ci 4396e41f4b71Sopenharmony_ci获取用户身份管理类。 4397e41f4b71Sopenharmony_ci 4398e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4399e41f4b71Sopenharmony_ci 4400e41f4b71Sopenharmony_ci### constructor<sup>8+</sup> 4401e41f4b71Sopenharmony_ci 4402e41f4b71Sopenharmony_ciconstructor() 4403e41f4b71Sopenharmony_ci 4404e41f4b71Sopenharmony_ci用户身份管理类的默认构造函数。 4405e41f4b71Sopenharmony_ci 4406e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4407e41f4b71Sopenharmony_ci 4408e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Account.OsAccount 4409e41f4b71Sopenharmony_ci 4410e41f4b71Sopenharmony_ci**错误码:** 4411e41f4b71Sopenharmony_ci 4412e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4413e41f4b71Sopenharmony_ci| -------- | --------------------------- | 4414e41f4b71Sopenharmony_ci| 202 | Not system application.| 4415e41f4b71Sopenharmony_ci 4416e41f4b71Sopenharmony_ci**示例:** 4417e41f4b71Sopenharmony_ci ```ts 4418e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4419e41f4b71Sopenharmony_ci ``` 4420e41f4b71Sopenharmony_ci 4421e41f4b71Sopenharmony_ci### openSession<sup>8+</sup> 4422e41f4b71Sopenharmony_ci 4423e41f4b71Sopenharmony_ciopenSession(callback: AsyncCallback<Uint8Array>): void 4424e41f4b71Sopenharmony_ci 4425e41f4b71Sopenharmony_ci打开会话,获取挑战值。使用callback异步回调。 4426e41f4b71Sopenharmony_ci 4427e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4428e41f4b71Sopenharmony_ci 4429e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4430e41f4b71Sopenharmony_ci 4431e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_USER_IDM 4432e41f4b71Sopenharmony_ci 4433e41f4b71Sopenharmony_ci**参数:** 4434e41f4b71Sopenharmony_ci 4435e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4436e41f4b71Sopenharmony_ci| -------- | -------------------------------- | ---- | -------------------------------------------------------------- | 4437e41f4b71Sopenharmony_ci| callback | AsyncCallback<Uint8Array> | 是 | 回调函数。如果打开会话成功,err为null,data为挑战值;否则为错误对象。| 4438e41f4b71Sopenharmony_ci 4439e41f4b71Sopenharmony_ci**错误码:** 4440e41f4b71Sopenharmony_ci 4441e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4442e41f4b71Sopenharmony_ci| -------- | --------------------------- | 4443e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4444e41f4b71Sopenharmony_ci| 202 | Not system application.| 4445e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4446e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4447e41f4b71Sopenharmony_ci 4448e41f4b71Sopenharmony_ci**示例:** 4449e41f4b71Sopenharmony_ci ```ts 4450e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4451e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4452e41f4b71Sopenharmony_ci try { 4453e41f4b71Sopenharmony_ci userIDM.openSession((err: BusinessError, challenge: Uint8Array) => { 4454e41f4b71Sopenharmony_ci console.log('openSession error = ' + JSON.stringify(err)); 4455e41f4b71Sopenharmony_ci console.log('openSession challenge = ' + JSON.stringify(challenge)); 4456e41f4b71Sopenharmony_ci }); 4457e41f4b71Sopenharmony_ci } catch (e) { 4458e41f4b71Sopenharmony_ci console.log('openSession exception = ' + JSON.stringify(e)); 4459e41f4b71Sopenharmony_ci } 4460e41f4b71Sopenharmony_ci ``` 4461e41f4b71Sopenharmony_ci 4462e41f4b71Sopenharmony_ci### openSession<sup>8+</sup> 4463e41f4b71Sopenharmony_ci 4464e41f4b71Sopenharmony_ciopenSession(accountId?: number): Promise<Uint8Array> 4465e41f4b71Sopenharmony_ci 4466e41f4b71Sopenharmony_ci打开会话,获取挑战值(用于判断后续的身份认证场景是否处于该会话下,防止重放攻击)。使用Promise异步回调。 4467e41f4b71Sopenharmony_ci 4468e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4469e41f4b71Sopenharmony_ci 4470e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4471e41f4b71Sopenharmony_ci 4472e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_USER_IDM 4473e41f4b71Sopenharmony_ci 4474e41f4b71Sopenharmony_ci**参数:** 4475e41f4b71Sopenharmony_ci 4476e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4477e41f4b71Sopenharmony_ci| --------- | ------- | ---- | ----------- | 4478e41f4b71Sopenharmony_ci| accountId<sup>12+</sup> | number | 否 | 系统账号标识,默认为空。 | 4479e41f4b71Sopenharmony_ci 4480e41f4b71Sopenharmony_ci**返回值:** 4481e41f4b71Sopenharmony_ci 4482e41f4b71Sopenharmony_ci| 类型 | 说明 | 4483e41f4b71Sopenharmony_ci| :------------------------ | ----------------------- | 4484e41f4b71Sopenharmony_ci| Promise<Uint8Array> | Promise对象,返回挑战值。 | 4485e41f4b71Sopenharmony_ci 4486e41f4b71Sopenharmony_ci**错误码:** 4487e41f4b71Sopenharmony_ci 4488e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4489e41f4b71Sopenharmony_ci| -------- | --------------------------- | 4490e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4491e41f4b71Sopenharmony_ci| 202 | Not system application.| 4492e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: Incorrect parameter types. | 4493e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4494e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 4495e41f4b71Sopenharmony_ci| 12300008 | Restricted account. | 4496e41f4b71Sopenharmony_ci 4497e41f4b71Sopenharmony_ci**示例:** 4498e41f4b71Sopenharmony_ci ```ts 4499e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4500e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4501e41f4b71Sopenharmony_ci let accountId = 100; 4502e41f4b71Sopenharmony_ci try { 4503e41f4b71Sopenharmony_ci userIDM.openSession(accountId).then((challenge: Uint8Array) => { 4504e41f4b71Sopenharmony_ci console.info('openSession challenge = ' + JSON.stringify(challenge)); 4505e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4506e41f4b71Sopenharmony_ci console.info('openSession error = ' + JSON.stringify(err)); 4507e41f4b71Sopenharmony_ci }); 4508e41f4b71Sopenharmony_ci } catch (e) { 4509e41f4b71Sopenharmony_ci console.log('openSession exception = ' + JSON.stringify(e)); 4510e41f4b71Sopenharmony_ci } 4511e41f4b71Sopenharmony_ci ``` 4512e41f4b71Sopenharmony_ci 4513e41f4b71Sopenharmony_ci### addCredential<sup>8+</sup> 4514e41f4b71Sopenharmony_ci 4515e41f4b71Sopenharmony_ciaddCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void 4516e41f4b71Sopenharmony_ci 4517e41f4b71Sopenharmony_ci添加凭据,添加用户凭据信息,传入凭据添加方法和凭据信息(凭据类型,子类,如果添加用户的非密码凭据,则传入密码身份验证令牌),并获取结果/获取信息。 4518e41f4b71Sopenharmony_ci 4519e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4520e41f4b71Sopenharmony_ci 4521e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4522e41f4b71Sopenharmony_ci 4523e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_USER_IDM 4524e41f4b71Sopenharmony_ci 4525e41f4b71Sopenharmony_ci**参数:** 4526e41f4b71Sopenharmony_ci 4527e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4528e41f4b71Sopenharmony_ci| --------------- | ------------------------------------ | --- | ---------------------------- | 4529e41f4b71Sopenharmony_ci| credentialInfo | [CredentialInfo](#credentialinfo8) | 是 | 指示凭据信息。 | 4530e41f4b71Sopenharmony_ci| callback | [IIdmCallback](#iidmcallback8) | 是 | 回调对象,返回添加凭据的结果。 | 4531e41f4b71Sopenharmony_ci 4532e41f4b71Sopenharmony_ci**错误码:** 4533e41f4b71Sopenharmony_ci 4534e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4535e41f4b71Sopenharmony_ci| -------- | ------------------- | 4536e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4537e41f4b71Sopenharmony_ci| 202 | Not system application.| 4538e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4539e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4540e41f4b71Sopenharmony_ci| 12300002 | Invalid credentialInfo, i.e. authType or authSubType. | 4541e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 4542e41f4b71Sopenharmony_ci| 12300008 | Restricted account. | 4543e41f4b71Sopenharmony_ci| 12300101 | The token is invalid. | 4544e41f4b71Sopenharmony_ci| 12300106 | The authentication type is not supported. | 4545e41f4b71Sopenharmony_ci| 12300109 | The authentication, enrollment, or update operation is canceled. | 4546e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 4547e41f4b71Sopenharmony_ci| 12300115 | The number of credentials reaches the upper limit. | 4548e41f4b71Sopenharmony_ci| 12300116 | Credential complexity verification failed. | 4549e41f4b71Sopenharmony_ci 4550e41f4b71Sopenharmony_ci**示例:** 4551e41f4b71Sopenharmony_ci ```ts 4552e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4553e41f4b71Sopenharmony_ci let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]); 4554e41f4b71Sopenharmony_ci let pinAuth: osAccount.PINAuth = new osAccount.PINAuth(); 4555e41f4b71Sopenharmony_ci pinAuth.registerInputer({ 4556e41f4b71Sopenharmony_ci onGetData: (authSubType: osAccount.AuthSubType, callback: osAccount.IInputData) => { 4557e41f4b71Sopenharmony_ci callback.onSetData(authSubType, password); 4558e41f4b71Sopenharmony_ci } 4559e41f4b71Sopenharmony_ci }); 4560e41f4b71Sopenharmony_ci let credentialInfo: osAccount.CredentialInfo = { 4561e41f4b71Sopenharmony_ci credType: osAccount.AuthType.PIN, 4562e41f4b71Sopenharmony_ci credSubType: osAccount.AuthSubType.PIN_SIX, 4563e41f4b71Sopenharmony_ci token: new Uint8Array([]), 4564e41f4b71Sopenharmony_ci }; 4565e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4566e41f4b71Sopenharmony_ci userIDM.openSession((err: BusinessError, challenge: Uint8Array) => { 4567e41f4b71Sopenharmony_ci try { 4568e41f4b71Sopenharmony_ci userIDM.addCredential(credentialInfo, { 4569e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: osAccount.RequestResult) => { 4570e41f4b71Sopenharmony_ci console.log('addCredential result = ' + result); 4571e41f4b71Sopenharmony_ci console.log('addCredential extraInfo = ' + extraInfo); 4572e41f4b71Sopenharmony_ci } 4573e41f4b71Sopenharmony_ci }); 4574e41f4b71Sopenharmony_ci } catch (e) { 4575e41f4b71Sopenharmony_ci console.log('addCredential exception = ' + JSON.stringify(e)); 4576e41f4b71Sopenharmony_ci } 4577e41f4b71Sopenharmony_ci }); 4578e41f4b71Sopenharmony_ci ``` 4579e41f4b71Sopenharmony_ci 4580e41f4b71Sopenharmony_ci### updateCredential<sup>8+</sup> 4581e41f4b71Sopenharmony_ci 4582e41f4b71Sopenharmony_ciupdateCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void 4583e41f4b71Sopenharmony_ci 4584e41f4b71Sopenharmony_ci更新凭据。使用callback异步回调。 4585e41f4b71Sopenharmony_ci 4586e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4587e41f4b71Sopenharmony_ci 4588e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4589e41f4b71Sopenharmony_ci 4590e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_USER_IDM 4591e41f4b71Sopenharmony_ci 4592e41f4b71Sopenharmony_ci**参数:** 4593e41f4b71Sopenharmony_ci 4594e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4595e41f4b71Sopenharmony_ci| --------------- | ------------------------------------- | --- | ------------------------- | 4596e41f4b71Sopenharmony_ci| credentialInfo | [CredentialInfo](#credentialinfo8) | 是 | 指示凭据信息。 | 4597e41f4b71Sopenharmony_ci| callback | [IIdmCallback](#iidmcallback8) | 是 | 回调对象,返回更新凭据的结果。 | 4598e41f4b71Sopenharmony_ci 4599e41f4b71Sopenharmony_ci**错误码:** 4600e41f4b71Sopenharmony_ci 4601e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4602e41f4b71Sopenharmony_ci| -------- | ------------------- | 4603e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4604e41f4b71Sopenharmony_ci| 202 | Not system application.| 4605e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4606e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4607e41f4b71Sopenharmony_ci| 12300002 | Invalid credentialInfo, i.e. authType or authSubType or token. | 4608e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 4609e41f4b71Sopenharmony_ci| 12300101 | The token is invalid. | 4610e41f4b71Sopenharmony_ci| 12300102 | Credential not enrolled.| 4611e41f4b71Sopenharmony_ci| 12300106 | The authentication type is not supported. | 4612e41f4b71Sopenharmony_ci| 12300109 | The authentication, enrollment, or update operation is canceled. | 4613e41f4b71Sopenharmony_ci| 12300111 | The authentication time out. | 4614e41f4b71Sopenharmony_ci| 12300116 | Credential complexity verification failed. | 4615e41f4b71Sopenharmony_ci 4616e41f4b71Sopenharmony_ci**示例:** 4617e41f4b71Sopenharmony_ci ```ts 4618e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4619e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4620e41f4b71Sopenharmony_ci let userAuth: osAccount.UserAuth = new osAccount.UserAuth(); 4621e41f4b71Sopenharmony_ci let pinAuth: osAccount.PINAuth = new osAccount.PINAuth(); 4622e41f4b71Sopenharmony_ci let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]); 4623e41f4b71Sopenharmony_ci let credentialInfo: osAccount.CredentialInfo = { 4624e41f4b71Sopenharmony_ci credType: osAccount.AuthType.PIN, 4625e41f4b71Sopenharmony_ci credSubType: osAccount.AuthSubType.PIN_SIX, 4626e41f4b71Sopenharmony_ci token: new Uint8Array([]), 4627e41f4b71Sopenharmony_ci }; 4628e41f4b71Sopenharmony_ci pinAuth.registerInputer({ 4629e41f4b71Sopenharmony_ci onGetData: (authSubType: osAccount.AuthSubType, callback: osAccount.IInputData) => { 4630e41f4b71Sopenharmony_ci callback.onSetData(authSubType, password); 4631e41f4b71Sopenharmony_ci } 4632e41f4b71Sopenharmony_ci }); 4633e41f4b71Sopenharmony_ci userIDM.openSession((err: BusinessError, challenge: Uint8Array) => { 4634e41f4b71Sopenharmony_ci userAuth.auth(challenge, credentialInfo.credType, osAccount.AuthTrustLevel.ATL1, { 4635e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: osAccount.AuthResult) => { 4636e41f4b71Sopenharmony_ci if (result != osAccount.ResultCode.SUCCESS) { 4637e41f4b71Sopenharmony_ci return; 4638e41f4b71Sopenharmony_ci } 4639e41f4b71Sopenharmony_ci if (extraInfo.token != null) { 4640e41f4b71Sopenharmony_ci credentialInfo.token = extraInfo.token; 4641e41f4b71Sopenharmony_ci } 4642e41f4b71Sopenharmony_ci try { 4643e41f4b71Sopenharmony_ci userIDM.updateCredential(credentialInfo, { 4644e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: osAccount.RequestResult) => { 4645e41f4b71Sopenharmony_ci console.log('updateCredential result = ' + result); 4646e41f4b71Sopenharmony_ci console.log('updateCredential extraInfo = ' + extraInfo); 4647e41f4b71Sopenharmony_ci } 4648e41f4b71Sopenharmony_ci }); 4649e41f4b71Sopenharmony_ci } catch (e) { 4650e41f4b71Sopenharmony_ci console.log('updateCredential exception = ' + JSON.stringify(e)); 4651e41f4b71Sopenharmony_ci } 4652e41f4b71Sopenharmony_ci } 4653e41f4b71Sopenharmony_ci }); 4654e41f4b71Sopenharmony_ci }); 4655e41f4b71Sopenharmony_ci ``` 4656e41f4b71Sopenharmony_ci 4657e41f4b71Sopenharmony_ci### closeSession<sup>8+</sup> 4658e41f4b71Sopenharmony_ci 4659e41f4b71Sopenharmony_cicloseSession(accountId?: number): void 4660e41f4b71Sopenharmony_ci 4661e41f4b71Sopenharmony_ci关闭会话,结束IDM操作。 4662e41f4b71Sopenharmony_ci 4663e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4664e41f4b71Sopenharmony_ci 4665e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4666e41f4b71Sopenharmony_ci 4667e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_USER_IDM 4668e41f4b71Sopenharmony_ci 4669e41f4b71Sopenharmony_ci**参数:** 4670e41f4b71Sopenharmony_ci 4671e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4672e41f4b71Sopenharmony_ci| --------- | ------- | ---- | ----------- | 4673e41f4b71Sopenharmony_ci| accountId<sup>12+</sup> | number | 否 | 系统账号标识,默认为空。 | 4674e41f4b71Sopenharmony_ci 4675e41f4b71Sopenharmony_ci**错误码:** 4676e41f4b71Sopenharmony_ci 4677e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4678e41f4b71Sopenharmony_ci| -------- | --------------------------- | 4679e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4680e41f4b71Sopenharmony_ci| 202 | Not system application.| 4681e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: Incorrect parameter types. | 4682e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4683e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 4684e41f4b71Sopenharmony_ci| 12300008 | Restricted account. | 4685e41f4b71Sopenharmony_ci 4686e41f4b71Sopenharmony_ci**示例:** 4687e41f4b71Sopenharmony_ci ```ts 4688e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4689e41f4b71Sopenharmony_ci let accountId = 100; 4690e41f4b71Sopenharmony_ci userIDM.closeSession(accountId); 4691e41f4b71Sopenharmony_ci ``` 4692e41f4b71Sopenharmony_ci 4693e41f4b71Sopenharmony_ci### cancel<sup>8+</sup> 4694e41f4b71Sopenharmony_ci 4695e41f4b71Sopenharmony_cicancel(challenge: Uint8Array): void 4696e41f4b71Sopenharmony_ci 4697e41f4b71Sopenharmony_ci根据挑战值取消条目。 4698e41f4b71Sopenharmony_ci 4699e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4700e41f4b71Sopenharmony_ci 4701e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4702e41f4b71Sopenharmony_ci 4703e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_USER_IDM 4704e41f4b71Sopenharmony_ci 4705e41f4b71Sopenharmony_ci**参数:** 4706e41f4b71Sopenharmony_ci 4707e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4708e41f4b71Sopenharmony_ci| -------- | ----------- | ---- | ----- | 4709e41f4b71Sopenharmony_ci| challenge | Uint8Array | 是 | 挑战值。 | 4710e41f4b71Sopenharmony_ci 4711e41f4b71Sopenharmony_ci**错误码:** 4712e41f4b71Sopenharmony_ci 4713e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4714e41f4b71Sopenharmony_ci| -------- | ------------------- | 4715e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4716e41f4b71Sopenharmony_ci| 202 | Not system application.| 4717e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4718e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4719e41f4b71Sopenharmony_ci| 12300002 | Invalid challenge. | 4720e41f4b71Sopenharmony_ci 4721e41f4b71Sopenharmony_ci**示例:** 4722e41f4b71Sopenharmony_ci ```ts 4723e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4724e41f4b71Sopenharmony_ci let challenge: Uint8Array = new Uint8Array([0]); 4725e41f4b71Sopenharmony_ci try { 4726e41f4b71Sopenharmony_ci userIDM.cancel(challenge); 4727e41f4b71Sopenharmony_ci } catch(err) { 4728e41f4b71Sopenharmony_ci console.log('cancel err:' + JSON.stringify(err)); 4729e41f4b71Sopenharmony_ci } 4730e41f4b71Sopenharmony_ci ``` 4731e41f4b71Sopenharmony_ci 4732e41f4b71Sopenharmony_ci### delUser<sup>8+</sup> 4733e41f4b71Sopenharmony_ci 4734e41f4b71Sopenharmony_cidelUser(token: Uint8Array, callback: IIdmCallback): void 4735e41f4b71Sopenharmony_ci 4736e41f4b71Sopenharmony_ci删除具有身份验证令牌的用户,使用callback方式异步返回结果。 4737e41f4b71Sopenharmony_ci 4738e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4739e41f4b71Sopenharmony_ci 4740e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4741e41f4b71Sopenharmony_ci 4742e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_USER_IDM 4743e41f4b71Sopenharmony_ci 4744e41f4b71Sopenharmony_ci**参数:** 4745e41f4b71Sopenharmony_ci 4746e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4747e41f4b71Sopenharmony_ci| -------- | ------------------------------ | --- | ------------------------- | 4748e41f4b71Sopenharmony_ci| token | Uint8Array | 是 | 身份验证令牌。 | 4749e41f4b71Sopenharmony_ci| callback | [IIdmCallback](#iidmcallback8) | 是 | 回调对象,返回删除用户的结果。| 4750e41f4b71Sopenharmony_ci 4751e41f4b71Sopenharmony_ci**错误码:** 4752e41f4b71Sopenharmony_ci 4753e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4754e41f4b71Sopenharmony_ci| -------- | ------------------- | 4755e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4756e41f4b71Sopenharmony_ci| 202 | Not system application.| 4757e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4758e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4759e41f4b71Sopenharmony_ci| 12300101 | The token is invalid. | 4760e41f4b71Sopenharmony_ci 4761e41f4b71Sopenharmony_ci**示例:** 4762e41f4b71Sopenharmony_ci ```ts 4763e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4764e41f4b71Sopenharmony_ci let token: Uint8Array = new Uint8Array([0]); 4765e41f4b71Sopenharmony_ci try { 4766e41f4b71Sopenharmony_ci userIDM.delUser(token, { 4767e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: osAccount.RequestResult) => { 4768e41f4b71Sopenharmony_ci console.log('delUser result = ' + result); 4769e41f4b71Sopenharmony_ci console.log('delUser extraInfo = ' + JSON.stringify(extraInfo)); 4770e41f4b71Sopenharmony_ci } 4771e41f4b71Sopenharmony_ci }); 4772e41f4b71Sopenharmony_ci } catch (e) { 4773e41f4b71Sopenharmony_ci console.log('delUser exception = ' + JSON.stringify(e)); 4774e41f4b71Sopenharmony_ci } 4775e41f4b71Sopenharmony_ci ``` 4776e41f4b71Sopenharmony_ci 4777e41f4b71Sopenharmony_ci### delCred<sup>8+</sup> 4778e41f4b71Sopenharmony_ci 4779e41f4b71Sopenharmony_cidelCred(credentialId: Uint8Array, token: Uint8Array, callback: IIdmCallback): void 4780e41f4b71Sopenharmony_ci 4781e41f4b71Sopenharmony_ci删除用户凭据信息。 4782e41f4b71Sopenharmony_ci 4783e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4784e41f4b71Sopenharmony_ci 4785e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4786e41f4b71Sopenharmony_ci 4787e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.MANAGE_USER_IDM 4788e41f4b71Sopenharmony_ci 4789e41f4b71Sopenharmony_ci**参数:** 4790e41f4b71Sopenharmony_ci 4791e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4792e41f4b71Sopenharmony_ci| --------------- | ----------------------------------- | --- | ---------------------------| 4793e41f4b71Sopenharmony_ci| credentialId | Uint8Array | 是 | 凭证索引。 | 4794e41f4b71Sopenharmony_ci| token | Uint8Array | 是 | 身份验证令牌。 | 4795e41f4b71Sopenharmony_ci| callback | [IIdmCallback](#iidmcallback8) | 是 | 回调对象,返回删除凭据的结果。 | 4796e41f4b71Sopenharmony_ci 4797e41f4b71Sopenharmony_ci**错误码:** 4798e41f4b71Sopenharmony_ci 4799e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4800e41f4b71Sopenharmony_ci| -------- | ------------------- | 4801e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4802e41f4b71Sopenharmony_ci| 202 | Not system application.| 4803e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4804e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4805e41f4b71Sopenharmony_ci| 12300002 | Invalid credentialId. | 4806e41f4b71Sopenharmony_ci| 12300101 | The token is invalid. | 4807e41f4b71Sopenharmony_ci| 12300102 | Credential not enrolled. | 4808e41f4b71Sopenharmony_ci 4809e41f4b71Sopenharmony_ci**示例:** 4810e41f4b71Sopenharmony_ci ```ts 4811e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4812e41f4b71Sopenharmony_ci let credentialId: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]); 4813e41f4b71Sopenharmony_ci let token: Uint8Array = new Uint8Array([0]); 4814e41f4b71Sopenharmony_ci try { 4815e41f4b71Sopenharmony_ci userIDM.delCred(credentialId, token, { 4816e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: osAccount.RequestResult) => { 4817e41f4b71Sopenharmony_ci console.log('delCred result = ' + result); 4818e41f4b71Sopenharmony_ci console.log('delCred extraInfo = ' + JSON.stringify(extraInfo)); 4819e41f4b71Sopenharmony_ci } 4820e41f4b71Sopenharmony_ci }); 4821e41f4b71Sopenharmony_ci } catch (e) { 4822e41f4b71Sopenharmony_ci console.log('delCred exception = ' + JSON.stringify(e)); 4823e41f4b71Sopenharmony_ci } 4824e41f4b71Sopenharmony_ci ``` 4825e41f4b71Sopenharmony_ci 4826e41f4b71Sopenharmony_ci### getAuthInfo<sup>8+</sup> 4827e41f4b71Sopenharmony_ci 4828e41f4b71Sopenharmony_cigetAuthInfo(callback: AsyncCallback<Array<EnrolledCredInfo>>): void 4829e41f4b71Sopenharmony_ci 4830e41f4b71Sopenharmony_ci获取认证信息。使用callback异步回调。 4831e41f4b71Sopenharmony_ci 4832e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4833e41f4b71Sopenharmony_ci 4834e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4835e41f4b71Sopenharmony_ci 4836e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.USE_USER_IDM 4837e41f4b71Sopenharmony_ci 4838e41f4b71Sopenharmony_ci**参数:** 4839e41f4b71Sopenharmony_ci 4840e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4841e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------------------ | ---- | --------------------------------------------- | 4842e41f4b71Sopenharmony_ci| callback | AsyncCallback<Array<[EnrolledCredInfo](#enrolledcredinfo8)>> | 是 | 回调函数。如果成功,err为null,data为当前用户的所有已注册凭据信息;否则为错误对象。| 4843e41f4b71Sopenharmony_ci 4844e41f4b71Sopenharmony_ci**错误码:** 4845e41f4b71Sopenharmony_ci 4846e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4847e41f4b71Sopenharmony_ci| -------- | --------------------- | 4848e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4849e41f4b71Sopenharmony_ci| 202 | Not system application.| 4850e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4851e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4852e41f4b71Sopenharmony_ci| 12300102 | Credential not enrolled. | 4853e41f4b71Sopenharmony_ci 4854e41f4b71Sopenharmony_ci**示例:** 4855e41f4b71Sopenharmony_ci ```ts 4856e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4857e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4858e41f4b71Sopenharmony_ci try { 4859e41f4b71Sopenharmony_ci userIDM.getAuthInfo((err: BusinessError, result: osAccount.EnrolledCredInfo[]) => { 4860e41f4b71Sopenharmony_ci console.log('getAuthInfo err = ' + JSON.stringify(err)); 4861e41f4b71Sopenharmony_ci console.log('getAuthInfo result = ' + JSON.stringify(result)); 4862e41f4b71Sopenharmony_ci }); 4863e41f4b71Sopenharmony_ci } catch (e) { 4864e41f4b71Sopenharmony_ci console.log('getAuthInfo exception = ' + JSON.stringify(e)); 4865e41f4b71Sopenharmony_ci } 4866e41f4b71Sopenharmony_ci ``` 4867e41f4b71Sopenharmony_ci 4868e41f4b71Sopenharmony_ci### getAuthInfo<sup>8+</sup> 4869e41f4b71Sopenharmony_ci 4870e41f4b71Sopenharmony_cigetAuthInfo(authType: AuthType, callback: AsyncCallback<Array<EnrolledCredInfo>>): void 4871e41f4b71Sopenharmony_ci 4872e41f4b71Sopenharmony_ci获取指定类型的认证信息。使用callback异步回调。 4873e41f4b71Sopenharmony_ci 4874e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4875e41f4b71Sopenharmony_ci 4876e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4877e41f4b71Sopenharmony_ci 4878e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.USE_USER_IDM 4879e41f4b71Sopenharmony_ci 4880e41f4b71Sopenharmony_ci**参数:** 4881e41f4b71Sopenharmony_ci 4882e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4883e41f4b71Sopenharmony_ci| -------- | -------------------------------------------------- | ---- | -------------------------------------------------- | 4884e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 是 | 认证类型。 | 4885e41f4b71Sopenharmony_ci| callback | AsyncCallback<Array<[EnrolledCredInfo](#enrolledcredinfo8)>> | 是 | 回调函数,如果获取成功,err为null,data为当前用户指定类型的所有已注册凭据信息;否则为错误对象。 | 4886e41f4b71Sopenharmony_ci 4887e41f4b71Sopenharmony_ci**错误码:** 4888e41f4b71Sopenharmony_ci 4889e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4890e41f4b71Sopenharmony_ci| -------- | ------------------- | 4891e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4892e41f4b71Sopenharmony_ci| 202 | Not system application.| 4893e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4894e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4895e41f4b71Sopenharmony_ci| 12300002 | Invalid authType. | 4896e41f4b71Sopenharmony_ci| 12300102 | Credential not enrolled. | 4897e41f4b71Sopenharmony_ci 4898e41f4b71Sopenharmony_ci**示例:** 4899e41f4b71Sopenharmony_ci ```ts 4900e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4901e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4902e41f4b71Sopenharmony_ci try { 4903e41f4b71Sopenharmony_ci userIDM.getAuthInfo(osAccount.AuthType.PIN, 4904e41f4b71Sopenharmony_ci (err: BusinessError, result: osAccount.EnrolledCredInfo[]) => { 4905e41f4b71Sopenharmony_ci console.log('getAuthInfo err = ' + JSON.stringify(err)); 4906e41f4b71Sopenharmony_ci console.log('getAuthInfo result = ' + JSON.stringify(result)); 4907e41f4b71Sopenharmony_ci }); 4908e41f4b71Sopenharmony_ci } catch (e) { 4909e41f4b71Sopenharmony_ci console.log('getAuthInfo exception = ' + JSON.stringify(e)); 4910e41f4b71Sopenharmony_ci } 4911e41f4b71Sopenharmony_ci ``` 4912e41f4b71Sopenharmony_ci 4913e41f4b71Sopenharmony_ci### getAuthInfo<sup>8+</sup> 4914e41f4b71Sopenharmony_ci 4915e41f4b71Sopenharmony_cigetAuthInfo(authType?: AuthType): Promise<Array<EnrolledCredInfo>>; 4916e41f4b71Sopenharmony_ci 4917e41f4b71Sopenharmony_ci获取认证信息。使用Promise异步回调。 4918e41f4b71Sopenharmony_ci 4919e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4920e41f4b71Sopenharmony_ci 4921e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4922e41f4b71Sopenharmony_ci 4923e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.USE_USER_IDM 4924e41f4b71Sopenharmony_ci 4925e41f4b71Sopenharmony_ci**参数:** 4926e41f4b71Sopenharmony_ci 4927e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4928e41f4b71Sopenharmony_ci| -------- | ----------------------------------- | ---- | -------- | 4929e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 否 | 认证类型,默认为空,表示查询所有认证类型的信息。| 4930e41f4b71Sopenharmony_ci 4931e41f4b71Sopenharmony_ci**返回值:** 4932e41f4b71Sopenharmony_ci 4933e41f4b71Sopenharmony_ci| 类型 | 说明 | 4934e41f4b71Sopenharmony_ci| :------------------------------------------- | :----------------------------------------------------------------------- | 4935e41f4b71Sopenharmony_ci| Promise<Array<[EnrolledCredInfo](#enrolledcredinfo8)>> | Promise对象,返回当前用户指定类型的所有已注册凭据信息。| 4936e41f4b71Sopenharmony_ci 4937e41f4b71Sopenharmony_ci**错误码:** 4938e41f4b71Sopenharmony_ci 4939e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4940e41f4b71Sopenharmony_ci| -------- | ------------------- | 4941e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4942e41f4b71Sopenharmony_ci| 202 | Not system application.| 4943e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: Incorrect parameter types. | 4944e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4945e41f4b71Sopenharmony_ci| 12300002 | Invalid authType. | 4946e41f4b71Sopenharmony_ci| 12300102 | Credential not enrolled. | 4947e41f4b71Sopenharmony_ci 4948e41f4b71Sopenharmony_ci**示例:** 4949e41f4b71Sopenharmony_ci ```ts 4950e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 4951e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 4952e41f4b71Sopenharmony_ci try { 4953e41f4b71Sopenharmony_ci userIDM.getAuthInfo(osAccount.AuthType.PIN).then((result: osAccount.EnrolledCredInfo[]) => { 4954e41f4b71Sopenharmony_ci console.log('getAuthInfo result = ' + JSON.stringify(result)) 4955e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 4956e41f4b71Sopenharmony_ci console.log('getAuthInfo error = ' + JSON.stringify(err)); 4957e41f4b71Sopenharmony_ci }); 4958e41f4b71Sopenharmony_ci } catch (e) { 4959e41f4b71Sopenharmony_ci console.log('getAuthInfo exception = ' + JSON.stringify(e)); 4960e41f4b71Sopenharmony_ci } 4961e41f4b71Sopenharmony_ci ``` 4962e41f4b71Sopenharmony_ci 4963e41f4b71Sopenharmony_ci### getAuthInfo<sup>12+</sup> 4964e41f4b71Sopenharmony_ci 4965e41f4b71Sopenharmony_cigetAuthInfo(options?: GetAuthInfoOptions): Promise<Array<EnrolledCredInfo>> 4966e41f4b71Sopenharmony_ci 4967e41f4b71Sopenharmony_ci依据提供的可选参数,获取认证信息。使用Promise异步回调。 4968e41f4b71Sopenharmony_ci 4969e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 4970e41f4b71Sopenharmony_ci 4971e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 4972e41f4b71Sopenharmony_ci 4973e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.USE_USER_IDM 4974e41f4b71Sopenharmony_ci 4975e41f4b71Sopenharmony_ci**参数:** 4976e41f4b71Sopenharmony_ci 4977e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4978e41f4b71Sopenharmony_ci| -------- | ----------------------------------- | ---- | -------- | 4979e41f4b71Sopenharmony_ci| options | [GetAuthInfoOptions](#getauthinfooptions12) | 否 | 获取认证信息的可选参数集合。 | 4980e41f4b71Sopenharmony_ci 4981e41f4b71Sopenharmony_ci**返回值:** 4982e41f4b71Sopenharmony_ci 4983e41f4b71Sopenharmony_ci| 类型 | 说明 | 4984e41f4b71Sopenharmony_ci| :------------------------------------------- | :----------------------------------------------------------------------- | 4985e41f4b71Sopenharmony_ci| Promise<Array<[EnrolledCredInfo](#enrolledcredinfo8)>> | Promise对象,返回当前用户指定类型的所有已注册凭据信息。| 4986e41f4b71Sopenharmony_ci 4987e41f4b71Sopenharmony_ci**错误码:** 4988e41f4b71Sopenharmony_ci 4989e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4990e41f4b71Sopenharmony_ci| -------- | ------------------- | 4991e41f4b71Sopenharmony_ci| 201 | Permission denied.| 4992e41f4b71Sopenharmony_ci| 202 | Not system application.| 4993e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: Incorrect parameter types. | 4994e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 4995e41f4b71Sopenharmony_ci| 12300002 | Invalid options. | 4996e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 4997e41f4b71Sopenharmony_ci 4998e41f4b71Sopenharmony_ci**示例:** 4999e41f4b71Sopenharmony_ci ```ts 5000e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 5001e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 5002e41f4b71Sopenharmony_ci let options: osAccount.GetAuthInfoOptions = { 5003e41f4b71Sopenharmony_ci authType: osAccount.AuthType.PIN, 5004e41f4b71Sopenharmony_ci accountId: 100, 5005e41f4b71Sopenharmony_ci }; 5006e41f4b71Sopenharmony_ci try { 5007e41f4b71Sopenharmony_ci userIDM.getAuthInfo(options).then((result: osAccount.EnrolledCredInfo[]) => { 5008e41f4b71Sopenharmony_ci console.log('getAuthInfo result = ' + JSON.stringify(result)) 5009e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 5010e41f4b71Sopenharmony_ci console.log('getAuthInfo error = ' + JSON.stringify(err)); 5011e41f4b71Sopenharmony_ci }); 5012e41f4b71Sopenharmony_ci } catch (e) { 5013e41f4b71Sopenharmony_ci console.log('getAuthInfo exception = ' + JSON.stringify(e)); 5014e41f4b71Sopenharmony_ci } 5015e41f4b71Sopenharmony_ci ``` 5016e41f4b71Sopenharmony_ci 5017e41f4b71Sopenharmony_ci### getEnrolledId<sup>12+</sup> 5018e41f4b71Sopenharmony_ci 5019e41f4b71Sopenharmony_cigetEnrolledId(authType: AuthType, accountId?: number): Promise<Uint8Array> 5020e41f4b71Sopenharmony_ci 5021e41f4b71Sopenharmony_ci基于凭据类型,以及可选的账号标识,获取已注册的凭据ID。使用Promise异步回调。 5022e41f4b71Sopenharmony_ci 5023e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5024e41f4b71Sopenharmony_ci 5025e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5026e41f4b71Sopenharmony_ci 5027e41f4b71Sopenharmony_ci**需要权限:** ohos.permission.USE_USER_IDM 5028e41f4b71Sopenharmony_ci 5029e41f4b71Sopenharmony_ci**参数:** 5030e41f4b71Sopenharmony_ci 5031e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5032e41f4b71Sopenharmony_ci| -------- | ---------------------- | ---- | -------- | 5033e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 是 | 认证凭据类型 | 5034e41f4b71Sopenharmony_ci| accountId | number | 否 | 系统账号标识,默认为空。 | 5035e41f4b71Sopenharmony_ci 5036e41f4b71Sopenharmony_ci**返回值:** 5037e41f4b71Sopenharmony_ci 5038e41f4b71Sopenharmony_ci| 类型 | 说明 | 5039e41f4b71Sopenharmony_ci| :------------------------ | :----------------------------------------------------------------------- | 5040e41f4b71Sopenharmony_ci| Promise<Uint8Array> | Promise对象,返回已注册的凭据ID。| 5041e41f4b71Sopenharmony_ci 5042e41f4b71Sopenharmony_ci**错误码:** 5043e41f4b71Sopenharmony_ci 5044e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 5045e41f4b71Sopenharmony_ci| -------- | ------------------- | 5046e41f4b71Sopenharmony_ci| 201 | Permission denied.| 5047e41f4b71Sopenharmony_ci| 202 | Not system application.| 5048e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 5049e41f4b71Sopenharmony_ci| 12300001 | The system service works abnormally. | 5050e41f4b71Sopenharmony_ci| 12300002 | Invalid authType. | 5051e41f4b71Sopenharmony_ci| 12300003 | Account not found. | 5052e41f4b71Sopenharmony_ci| 12300102 | Credential not enrolled. | 5053e41f4b71Sopenharmony_ci| 12300106 | The authentication type is not supported. | 5054e41f4b71Sopenharmony_ci 5055e41f4b71Sopenharmony_ci**示例:** 5056e41f4b71Sopenharmony_ci ```ts 5057e41f4b71Sopenharmony_ci import { BusinessError } from '@kit.BasicServicesKit'; 5058e41f4b71Sopenharmony_ci let userIDM = new osAccount.UserIdentityManager(); 5059e41f4b71Sopenharmony_ci let authType: osAccount.AuthType = osAccount.AuthType.PIN; 5060e41f4b71Sopenharmony_ci let accountId = 100; 5061e41f4b71Sopenharmony_ci try { 5062e41f4b71Sopenharmony_ci userIDM.getEnrolledId(authType, accountId).then((enrolledId: Uint8Array) => { 5063e41f4b71Sopenharmony_ci console.info('getEnrolledId enrolledId = ' + JSON.stringify(enrolledId)); 5064e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 5065e41f4b71Sopenharmony_ci console.info('getEnrolledId error = ' + JSON.stringify(err)); 5066e41f4b71Sopenharmony_ci }); 5067e41f4b71Sopenharmony_ci } catch (e) { 5068e41f4b71Sopenharmony_ci console.log('getEnrolledId exception = ' + JSON.stringify(e)); 5069e41f4b71Sopenharmony_ci } 5070e41f4b71Sopenharmony_ci ``` 5071e41f4b71Sopenharmony_ci 5072e41f4b71Sopenharmony_ci## IInputData<sup>8+</sup> 5073e41f4b71Sopenharmony_ci 5074e41f4b71Sopenharmony_ci密码数据回调。 5075e41f4b71Sopenharmony_ci 5076e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5077e41f4b71Sopenharmony_ci 5078e41f4b71Sopenharmony_ci### onSetData<sup>8+</sup> 5079e41f4b71Sopenharmony_ci 5080e41f4b71Sopenharmony_cionSetData: (authSubType: AuthSubType, data: Uint8Array) => void; 5081e41f4b71Sopenharmony_ci 5082e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5083e41f4b71Sopenharmony_ci 5084e41f4b71Sopenharmony_ci通知设置数据。 5085e41f4b71Sopenharmony_ci 5086e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5087e41f4b71Sopenharmony_ci 5088e41f4b71Sopenharmony_ci**参数:** 5089e41f4b71Sopenharmony_ci 5090e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5091e41f4b71Sopenharmony_ci| ---------- | ---------------------------------------- | ---- | ----------------------------------------------- | 5092e41f4b71Sopenharmony_ci| authSubType | [AuthSubType](#authsubtype8) | 是 | 用于认证的凭据子类型。 | 5093e41f4b71Sopenharmony_ci| data | Uint8Array | 是 | 要设置的数据是凭据,用来在认证、添加、修改凭据操作。 | 5094e41f4b71Sopenharmony_ci 5095e41f4b71Sopenharmony_ci**错误码:** 5096e41f4b71Sopenharmony_ci 5097e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 5098e41f4b71Sopenharmony_ci| -------- | ------------------- | 5099e41f4b71Sopenharmony_ci| 202 | Not system application.| 5100e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 5101e41f4b71Sopenharmony_ci| 12300002 | Invalid pinSubType. | 5102e41f4b71Sopenharmony_ci 5103e41f4b71Sopenharmony_ci**示例:** 5104e41f4b71Sopenharmony_ci ```ts 5105e41f4b71Sopenharmony_ci let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]); 5106e41f4b71Sopenharmony_ci let passwordNumber: Uint8Array = new Uint8Array([1, 2, 3, 4]); 5107e41f4b71Sopenharmony_ci let inputer: osAccount.IInputer = { 5108e41f4b71Sopenharmony_ci onGetData: (authSubType: osAccount.AuthSubType, callback: osAccount.IInputData) => { 5109e41f4b71Sopenharmony_ci if (authSubType == osAccount.AuthSubType.PIN_NUMBER) { 5110e41f4b71Sopenharmony_ci callback.onSetData(authSubType, passwordNumber); 5111e41f4b71Sopenharmony_ci } else { 5112e41f4b71Sopenharmony_ci callback.onSetData(authSubType, password); 5113e41f4b71Sopenharmony_ci } 5114e41f4b71Sopenharmony_ci } 5115e41f4b71Sopenharmony_ci }; 5116e41f4b71Sopenharmony_ci ``` 5117e41f4b71Sopenharmony_ci 5118e41f4b71Sopenharmony_ci## IInputer<sup>8+</sup> 5119e41f4b71Sopenharmony_ci 5120e41f4b71Sopenharmony_ci凭据输入器回调。 5121e41f4b71Sopenharmony_ci 5122e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5123e41f4b71Sopenharmony_ci 5124e41f4b71Sopenharmony_ci### onGetData<sup>8+</sup> 5125e41f4b71Sopenharmony_ci 5126e41f4b71Sopenharmony_cionGetData: (authSubType: AuthSubType, callback: IInputData, options: GetInputDataOptions) => void; 5127e41f4b71Sopenharmony_ci 5128e41f4b71Sopenharmony_ci通知调用者获取数据的回调函数。 5129e41f4b71Sopenharmony_ci 5130e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5131e41f4b71Sopenharmony_ci 5132e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5133e41f4b71Sopenharmony_ci 5134e41f4b71Sopenharmony_ci**参数:** 5135e41f4b71Sopenharmony_ci 5136e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5137e41f4b71Sopenharmony_ci| ---------- | --------------------------------------- | ---- | --------------- | 5138e41f4b71Sopenharmony_ci| authSubType | [AuthSubType](#authsubtype8) | 是 | 认证凭据子类型。 | 5139e41f4b71Sopenharmony_ci| callback | [IInputData](#iinputdata8) | 是 | 指示密码数据回调。| 5140e41f4b71Sopenharmony_ci| options | [GetInputDataOptions](#getinputdataoptions-12) | 是 | 回调函数的可选参数集合。 | 5141e41f4b71Sopenharmony_ci 5142e41f4b71Sopenharmony_ci**示例:** 5143e41f4b71Sopenharmony_ci ```ts 5144e41f4b71Sopenharmony_ci let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]); 5145e41f4b71Sopenharmony_ci let passwordNumber: Uint8Array = new Uint8Array([1, 2, 3, 4]); 5146e41f4b71Sopenharmony_ci let inputer: osAccount.IInputer = { 5147e41f4b71Sopenharmony_ci onGetData: (authSubType: osAccount.AuthSubType, 5148e41f4b71Sopenharmony_ci callback: osAccount.IInputData, options: osAccount.GetInputDataOptions) => { 5149e41f4b71Sopenharmony_ci if (authSubType == osAccount.AuthSubType.PIN_NUMBER) { 5150e41f4b71Sopenharmony_ci callback.onSetData(authSubType, passwordNumber); 5151e41f4b71Sopenharmony_ci } else { 5152e41f4b71Sopenharmony_ci callback.onSetData(authSubType, password); 5153e41f4b71Sopenharmony_ci } 5154e41f4b71Sopenharmony_ci } 5155e41f4b71Sopenharmony_ci }; 5156e41f4b71Sopenharmony_ci let pinAuth: osAccount.PINAuth = new osAccount.PINAuth(); 5157e41f4b71Sopenharmony_ci let result = pinAuth.registerInputer(inputer); 5158e41f4b71Sopenharmony_ci console.log('registerInputer result: ' + result); 5159e41f4b71Sopenharmony_ci ``` 5160e41f4b71Sopenharmony_ci 5161e41f4b71Sopenharmony_ci## IUserAuthCallback<sup>8+</sup> 5162e41f4b71Sopenharmony_ci 5163e41f4b71Sopenharmony_ci表示用户认证回调类。 5164e41f4b71Sopenharmony_ci 5165e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5166e41f4b71Sopenharmony_ci 5167e41f4b71Sopenharmony_ci### onResult<sup>8+</sup> 5168e41f4b71Sopenharmony_ci 5169e41f4b71Sopenharmony_cionResult: (result: number, extraInfo: AuthResult) => void; 5170e41f4b71Sopenharmony_ci 5171e41f4b71Sopenharmony_ci身份认证结果回调函数,返回结果码和认证结果信息。 5172e41f4b71Sopenharmony_ci 5173e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5174e41f4b71Sopenharmony_ci 5175e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5176e41f4b71Sopenharmony_ci 5177e41f4b71Sopenharmony_ci**参数:** 5178e41f4b71Sopenharmony_ci 5179e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5180e41f4b71Sopenharmony_ci| --------- | --------------------------------------- | ---- | ------------------- | 5181e41f4b71Sopenharmony_ci| result | number | 是 | 表示身份认证结果代码。| 5182e41f4b71Sopenharmony_ci| extraInfo | [AuthResult](#authresult8) | 是 | 表示不同情况下的具体信息,如果认证通过,则在extrainfo中返回认证令牌,如果身份验证失败,则在extrainfo中返回剩余的身份验证时间,如果身份验证执行器被锁定,冻结时间将在extrainfo中返回。| 5183e41f4b71Sopenharmony_ci 5184e41f4b71Sopenharmony_ci**示例:** 5185e41f4b71Sopenharmony_ci ```ts 5186e41f4b71Sopenharmony_ci let authCallback: osAccount.IUserAuthCallback = { 5187e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: osAccount.AuthResult) => { 5188e41f4b71Sopenharmony_ci console.log('auth result = ' + result); 5189e41f4b71Sopenharmony_ci console.log('auth extraInfo = ' + JSON.stringify(extraInfo)); 5190e41f4b71Sopenharmony_ci } 5191e41f4b71Sopenharmony_ci }; 5192e41f4b71Sopenharmony_ci ``` 5193e41f4b71Sopenharmony_ci 5194e41f4b71Sopenharmony_ci### onAcquireInfo?<sup>8+</sup> 5195e41f4b71Sopenharmony_ci 5196e41f4b71Sopenharmony_cionAcquireInfo?: (module: number, acquire: number, extraInfo: Uint8Array) => void; 5197e41f4b71Sopenharmony_ci 5198e41f4b71Sopenharmony_ci身份认证信息获取回调函数。 5199e41f4b71Sopenharmony_ci 5200e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5201e41f4b71Sopenharmony_ci 5202e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5203e41f4b71Sopenharmony_ci 5204e41f4b71Sopenharmony_ci**参数:** 5205e41f4b71Sopenharmony_ci 5206e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5207e41f4b71Sopenharmony_ci| --------- | ------- | ---- | ----------------------------- | 5208e41f4b71Sopenharmony_ci| module | number | 是 | 指示用于身份验证的执行器类型。 | 5209e41f4b71Sopenharmony_ci| acquire | number | 是 | 指示不同身份验证执行器的tip代码。| 5210e41f4b71Sopenharmony_ci| extraInfo | Uint8Array | 是 | 保留参数。 | 5211e41f4b71Sopenharmony_ci 5212e41f4b71Sopenharmony_ci**示例:** 5213e41f4b71Sopenharmony_ci ```ts 5214e41f4b71Sopenharmony_ci let authCallback: osAccount.IUserAuthCallback = { 5215e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: osAccount.AuthResult) => { 5216e41f4b71Sopenharmony_ci console.log('auth result = ' + result) 5217e41f4b71Sopenharmony_ci console.log('auth extraInfo = ' + JSON.stringify(extraInfo)); 5218e41f4b71Sopenharmony_ci }, 5219e41f4b71Sopenharmony_ci onAcquireInfo: (module: number, acquire: number, extraInfo: Uint8Array) => { 5220e41f4b71Sopenharmony_ci console.log('auth module = ' + module); 5221e41f4b71Sopenharmony_ci console.log('auth acquire = ' + acquire); 5222e41f4b71Sopenharmony_ci console.info('auth extraInfo = ' + JSON.stringify(extraInfo)); 5223e41f4b71Sopenharmony_ci } 5224e41f4b71Sopenharmony_ci }; 5225e41f4b71Sopenharmony_ci ``` 5226e41f4b71Sopenharmony_ci 5227e41f4b71Sopenharmony_ci## IIdmCallback<sup>8+</sup> 5228e41f4b71Sopenharmony_ci 5229e41f4b71Sopenharmony_ci表示身份管理回调类。 5230e41f4b71Sopenharmony_ci 5231e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5232e41f4b71Sopenharmony_ci 5233e41f4b71Sopenharmony_ci### onResult<sup>8+</sup> 5234e41f4b71Sopenharmony_ci 5235e41f4b71Sopenharmony_cionResult: (result: number, extraInfo: RequestResult) => void; 5236e41f4b71Sopenharmony_ci 5237e41f4b71Sopenharmony_ci身份管理操作结果回调函数,返回结果码和请求结果信息。 5238e41f4b71Sopenharmony_ci 5239e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5240e41f4b71Sopenharmony_ci 5241e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5242e41f4b71Sopenharmony_ci 5243e41f4b71Sopenharmony_ci**参数:** 5244e41f4b71Sopenharmony_ci 5245e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5246e41f4b71Sopenharmony_ci| --------- | --------------------------------------- | ---- | ----------------------- | 5247e41f4b71Sopenharmony_ci| result | number | 是 | 表示身份认证结果代码。 | 5248e41f4b71Sopenharmony_ci| extraInfo | [RequestResult](#requestresult8) | 是 | 针对不同情况传递具体信息。| 5249e41f4b71Sopenharmony_ci 5250e41f4b71Sopenharmony_ci**示例:** 5251e41f4b71Sopenharmony_ci ```ts 5252e41f4b71Sopenharmony_ci let idmCallback: osAccount.IIdmCallback = { 5253e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: osAccount.RequestResult) => { 5254e41f4b71Sopenharmony_ci console.log('callback result = ' + result) 5255e41f4b71Sopenharmony_ci console.info('callback extraInfo = ' + JSON.stringify(extraInfo)); 5256e41f4b71Sopenharmony_ci } 5257e41f4b71Sopenharmony_ci }; 5258e41f4b71Sopenharmony_ci ``` 5259e41f4b71Sopenharmony_ci 5260e41f4b71Sopenharmony_ci### onAcquireInfo?<sup>8+</sup> 5261e41f4b71Sopenharmony_ci 5262e41f4b71Sopenharmony_cionAcquireInfo?: (module: number, acquire: number, extraInfo: Uint8Array) => void; 5263e41f4b71Sopenharmony_ci 5264e41f4b71Sopenharmony_ci身份管理信息获取回调函数。 5265e41f4b71Sopenharmony_ci 5266e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5267e41f4b71Sopenharmony_ci 5268e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5269e41f4b71Sopenharmony_ci 5270e41f4b71Sopenharmony_ci**参数:** 5271e41f4b71Sopenharmony_ci 5272e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 5273e41f4b71Sopenharmony_ci| --------- | ------- | ---- | ----------------------------- | 5274e41f4b71Sopenharmony_ci| module | number | 是 | 指示用于身份验证的执行器类型。 | 5275e41f4b71Sopenharmony_ci| acquire | number | 是 | 指示不同身份验证执行器的tip代码。| 5276e41f4b71Sopenharmony_ci| extraInfo | Uint8Array | 是 | 保留参数。 | 5277e41f4b71Sopenharmony_ci 5278e41f4b71Sopenharmony_ci**示例:** 5279e41f4b71Sopenharmony_ci ```ts 5280e41f4b71Sopenharmony_ci let idmCallback: osAccount.IIdmCallback = { 5281e41f4b71Sopenharmony_ci onResult: (result: number, extraInfo: Object) => { 5282e41f4b71Sopenharmony_ci console.log('callback result = ' + result) 5283e41f4b71Sopenharmony_ci console.log('callback onResult = ' + JSON.stringify(extraInfo)); 5284e41f4b71Sopenharmony_ci }, 5285e41f4b71Sopenharmony_ci onAcquireInfo: (module: number, acquire: number, extraInfo: Uint8Array) => { 5286e41f4b71Sopenharmony_ci console.log('callback module = ' + module); 5287e41f4b71Sopenharmony_ci console.log('callback acquire = ' + acquire); 5288e41f4b71Sopenharmony_ci console.log('callback onacquireinfo = ' + JSON.stringify(extraInfo)); 5289e41f4b71Sopenharmony_ci } 5290e41f4b71Sopenharmony_ci }; 5291e41f4b71Sopenharmony_ci ``` 5292e41f4b71Sopenharmony_ci 5293e41f4b71Sopenharmony_ci## GetPropertyRequest<sup>8+</sup> 5294e41f4b71Sopenharmony_ci 5295e41f4b71Sopenharmony_ci提供获取属性请求的信息。 5296e41f4b71Sopenharmony_ci 5297e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5298e41f4b71Sopenharmony_ci 5299e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5300e41f4b71Sopenharmony_ci 5301e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5302e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------- | ----- | ----------------------- | 5303e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 是 | 身份验证凭据类型。 | 5304e41f4b71Sopenharmony_ci| keys | Array<[GetPropertyType](#getpropertytype8)> | 是 | 指示要获取的属性类型数组。 | 5305e41f4b71Sopenharmony_ci| accountId<sup>12+</sup> | number | 否 | 系统账号标识,默认为undefined。 | 5306e41f4b71Sopenharmony_ci 5307e41f4b71Sopenharmony_ci## SetPropertyRequest<sup>8+</sup> 5308e41f4b71Sopenharmony_ci 5309e41f4b71Sopenharmony_ci提供设置属性请求的信息。 5310e41f4b71Sopenharmony_ci 5311e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5312e41f4b71Sopenharmony_ci 5313e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5314e41f4b71Sopenharmony_ci 5315e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5316e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------ | ----- | -------------------- | 5317e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 是 | 身份验证凭据类型。 | 5318e41f4b71Sopenharmony_ci| key | [SetPropertyType](#setpropertytype8) | 是 | 指示要设置的属性类型。 | 5319e41f4b71Sopenharmony_ci| setInfo | Uint8Array | 是 | 指示要设置的信息。 | 5320e41f4b71Sopenharmony_ci 5321e41f4b71Sopenharmony_ci## ExecutorProperty<sup>8+</sup> 5322e41f4b71Sopenharmony_ci 5323e41f4b71Sopenharmony_ci提供执行器的属性。 5324e41f4b71Sopenharmony_ci 5325e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5326e41f4b71Sopenharmony_ci 5327e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5328e41f4b71Sopenharmony_ci 5329e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 5330e41f4b71Sopenharmony_ci| ------------ | ---------------------------- | ----- | -----|----------------- | 5331e41f4b71Sopenharmony_ci| result | number | 是 | 是 | 指示结果。 | 5332e41f4b71Sopenharmony_ci| authSubType | [AuthSubType](#authsubtype8) | 是 | 是 | 指示认证凭据子类型。| 5333e41f4b71Sopenharmony_ci| remainTimes | number | 是 | 是 | 指示剩余次数。 | 5334e41f4b71Sopenharmony_ci| freezingTime | number | 是 | 是 | 指示冻结时间。 | 5335e41f4b71Sopenharmony_ci| enrollmentProgress<sup>10+</sup> | string | 是 | 是 | 指示录入进度,默认为空。 | 5336e41f4b71Sopenharmony_ci| sensorInfo<sup>10+</sup> | string | 是 | 是 | 指示传感器信息,默认为空。 | 5337e41f4b71Sopenharmony_ci| nextPhaseFreezingTime<sup>12+</sup> | number | 是 | 是 | 指示下次冻结时间,默认为undefined。 | 5338e41f4b71Sopenharmony_ci 5339e41f4b71Sopenharmony_ci## AuthResult<sup>8+</sup> 5340e41f4b71Sopenharmony_ci 5341e41f4b71Sopenharmony_ci表示认证结果的信息。 5342e41f4b71Sopenharmony_ci 5343e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5344e41f4b71Sopenharmony_ci 5345e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5346e41f4b71Sopenharmony_ci 5347e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5348e41f4b71Sopenharmony_ci| ------------ | ----------- | ----- | ----------------- | 5349e41f4b71Sopenharmony_ci| token | Uint8Array | 否 | 指示认证令牌,默认为空。 | 5350e41f4b71Sopenharmony_ci| remainTimes | number | 否 | 指示剩余次数,默认为空。 | 5351e41f4b71Sopenharmony_ci| freezingTime | number | 否 | 指示冻结时间,默认为空。 | 5352e41f4b71Sopenharmony_ci| nextPhaseFreezingTime<sup>12+</sup> | number | 否 | 指示下次冻结时间,默认为undefined。 | 5353e41f4b71Sopenharmony_ci| credentialId<sup>12+</sup> | Uint8Array | 否 | 指示凭据ID,默认为空。 | 5354e41f4b71Sopenharmony_ci| accountId<sup>12+</sup> | number | 否 | 指示系统账号标识,默认为undefined。 | 5355e41f4b71Sopenharmony_ci| pinValidityPeriod<sup>12+</sup> | number | 否 | 指示认证有效期,默认为undefined。 | 5356e41f4b71Sopenharmony_ci 5357e41f4b71Sopenharmony_ci## CredentialInfo<sup>8+</sup> 5358e41f4b71Sopenharmony_ci 5359e41f4b71Sopenharmony_ci表示凭证信息。 5360e41f4b71Sopenharmony_ci 5361e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5362e41f4b71Sopenharmony_ci 5363e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5364e41f4b71Sopenharmony_ci 5365e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5366e41f4b71Sopenharmony_ci| ------------ | ---------------------------------------- | ----- | ----------------- | 5367e41f4b71Sopenharmony_ci| credType | [AuthType](#authtype8) | 是 | 指示凭据类型。 | 5368e41f4b71Sopenharmony_ci| credSubType | [AuthSubType](#authsubtype8) | 是 | 指示凭据子类型。 | 5369e41f4b71Sopenharmony_ci| token | Uint8Array | 是 | 指示认证令牌。 | 5370e41f4b71Sopenharmony_ci| accountId<sup>12+</sup> | number | 否 | 系统账号标识,默认为undefined。 | 5371e41f4b71Sopenharmony_ci 5372e41f4b71Sopenharmony_ci## RequestResult<sup>8+</sup> 5373e41f4b71Sopenharmony_ci 5374e41f4b71Sopenharmony_ci表示请求结果的信息。 5375e41f4b71Sopenharmony_ci 5376e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5377e41f4b71Sopenharmony_ci 5378e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5379e41f4b71Sopenharmony_ci 5380e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5381e41f4b71Sopenharmony_ci| ------------ | ----------- | ----- | ----------------- | 5382e41f4b71Sopenharmony_ci| credentialId | Uint8Array | 否 | 指示凭据索引,默认为空。 | 5383e41f4b71Sopenharmony_ci 5384e41f4b71Sopenharmony_ci## EnrolledCredInfo<sup>8+</sup> 5385e41f4b71Sopenharmony_ci 5386e41f4b71Sopenharmony_ci表示已注册凭据的信息。 5387e41f4b71Sopenharmony_ci 5388e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5389e41f4b71Sopenharmony_ci 5390e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5391e41f4b71Sopenharmony_ci 5392e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5393e41f4b71Sopenharmony_ci| ------------ | ---------------------------------------- | ----- | ------------------- | 5394e41f4b71Sopenharmony_ci| credentialId | Uint8Array | 是 | 指示凭据索引。 | 5395e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 是 | 指示认证凭据类型。 | 5396e41f4b71Sopenharmony_ci| authSubType | [AuthSubType](#authsubtype8) | 是 | 指示认证凭据子类型。 | 5397e41f4b71Sopenharmony_ci| templateId | Uint8Array | 是 | 指示凭据模板ID。 | 5398e41f4b71Sopenharmony_ci 5399e41f4b71Sopenharmony_ci## GetPropertyType<sup>8+</sup> 5400e41f4b71Sopenharmony_ci 5401e41f4b71Sopenharmony_ci表示要获取的属性类型的枚举。 5402e41f4b71Sopenharmony_ci 5403e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5404e41f4b71Sopenharmony_ci 5405e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5406e41f4b71Sopenharmony_ci 5407e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5408e41f4b71Sopenharmony_ci| ------------- | ------ | --------- | 5409e41f4b71Sopenharmony_ci| AUTH_SUB_TYPE | 1 | 认证子类型。 | 5410e41f4b71Sopenharmony_ci| REMAIN_TIMES | 2 | 剩余次数。 | 5411e41f4b71Sopenharmony_ci| FREEZING_TIME | 3 | 冻结时间。 | 5412e41f4b71Sopenharmony_ci| ENROLLMENT_PROGRESS<sup>10+</sup> | 4 | 录入进度。 | 5413e41f4b71Sopenharmony_ci| SENSOR_INFO<sup>10+</sup> | 5 | 传感器信息。 | 5414e41f4b71Sopenharmony_ci| NEXT_PHASE_FREEZING_TIME<sup>12+</sup> | 6 | 下次冻结时间。 | 5415e41f4b71Sopenharmony_ci 5416e41f4b71Sopenharmony_ci## SetPropertyType<sup>8+</sup> 5417e41f4b71Sopenharmony_ci 5418e41f4b71Sopenharmony_ci表示要设置的属性类型的枚举。 5419e41f4b71Sopenharmony_ci 5420e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5421e41f4b71Sopenharmony_ci 5422e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5423e41f4b71Sopenharmony_ci 5424e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5425e41f4b71Sopenharmony_ci| -------------- | ----- | ----------- | 5426e41f4b71Sopenharmony_ci| INIT_ALGORITHM | 1 | 初始化算法。 | 5427e41f4b71Sopenharmony_ci 5428e41f4b71Sopenharmony_ci## AuthType<sup>8+</sup> 5429e41f4b71Sopenharmony_ci 5430e41f4b71Sopenharmony_ci表示身份验证的凭据类型的枚举。 5431e41f4b71Sopenharmony_ci 5432e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5433e41f4b71Sopenharmony_ci 5434e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5435e41f4b71Sopenharmony_ci 5436e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5437e41f4b71Sopenharmony_ci| ----- | ----- | ---------------- | 5438e41f4b71Sopenharmony_ci| PIN | 1 | 表示PIN认证类型。 | 5439e41f4b71Sopenharmony_ci| FACE | 2 | 表示脸部认证类型。| 5440e41f4b71Sopenharmony_ci| FINGERPRINT<sup>10+</sup> | 4 | 表示指纹认证类型。 | 5441e41f4b71Sopenharmony_ci| RECOVERY_KEY<sup>12+</sup> | 8 | 表示键恢复类型。 | 5442e41f4b71Sopenharmony_ci| DOMAIN<sup>9+</sup> | 1024 | 表示域认证类型。| 5443e41f4b71Sopenharmony_ci 5444e41f4b71Sopenharmony_ci## AuthSubType<sup>8+</sup> 5445e41f4b71Sopenharmony_ci 5446e41f4b71Sopenharmony_ci表示用于认证的凭据子类型的枚举。 5447e41f4b71Sopenharmony_ci 5448e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5449e41f4b71Sopenharmony_ci 5450e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5451e41f4b71Sopenharmony_ci 5452e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5453e41f4b71Sopenharmony_ci| ---------- | ----- | ------------------ | 5454e41f4b71Sopenharmony_ci| PIN_SIX | 10000 | 表示6位凭证。 | 5455e41f4b71Sopenharmony_ci| PIN_NUMBER | 10001 | 表示自定义数字凭证。 | 5456e41f4b71Sopenharmony_ci| PIN_MIXED | 10002 | 表示自定义混合凭据。 | 5457e41f4b71Sopenharmony_ci| PIN_FOUR<sup>12+</sup> | 10003 | 表示4位凭证。 | 5458e41f4b71Sopenharmony_ci| PIN_PATTERN<sup>12+</sup> | 10004 | 表示图案凭据。 | 5459e41f4b71Sopenharmony_ci| FACE_2D | 20000 | 表示2D 人脸凭证。 | 5460e41f4b71Sopenharmony_ci| FACE_3D | 20001 | 表示3D 人脸凭证。 | 5461e41f4b71Sopenharmony_ci| FINGERPRINT_CAPACITIVE<sup>10+</sup> | 30000 | 表示电容式指纹。 | 5462e41f4b71Sopenharmony_ci| FINGERPRINT_OPTICAL<sup>10+</sup> | 30001 | 表示光学指纹。 | 5463e41f4b71Sopenharmony_ci| FINGERPRINT_ULTRASONIC<sup>10+</sup> | 30002 | 表示超声波指纹。 | 5464e41f4b71Sopenharmony_ci| DOMAIN_MIXED<sup>9+</sup> | 10240001 | 表示域认证混合凭证。 | 5465e41f4b71Sopenharmony_ci 5466e41f4b71Sopenharmony_ci## AuthTrustLevel<sup>8+</sup> 5467e41f4b71Sopenharmony_ci 5468e41f4b71Sopenharmony_ci表示认证结果的受信任级别的枚举。 5469e41f4b71Sopenharmony_ci 5470e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5471e41f4b71Sopenharmony_ci 5472e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5473e41f4b71Sopenharmony_ci 5474e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5475e41f4b71Sopenharmony_ci| ---- | ------ | ----------- | 5476e41f4b71Sopenharmony_ci| ATL1 | 10000 | 信任级别 1。 | 5477e41f4b71Sopenharmony_ci| ATL2 | 20000 | 信任级别 2。 | 5478e41f4b71Sopenharmony_ci| ATL3 | 30000 | 信任级别 3。 | 5479e41f4b71Sopenharmony_ci| ATL4 | 40000 | 信任级别 4。 | 5480e41f4b71Sopenharmony_ci 5481e41f4b71Sopenharmony_ci## Module<sup>8+</sup> 5482e41f4b71Sopenharmony_ci 5483e41f4b71Sopenharmony_ci表示获取信息的模块的枚举。 5484e41f4b71Sopenharmony_ci 5485e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5486e41f4b71Sopenharmony_ci 5487e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5488e41f4b71Sopenharmony_ci 5489e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5490e41f4b71Sopenharmony_ci| --------- | ------ | ------------------------ | 5491e41f4b71Sopenharmony_ci| FACE_AUTH | 1 | 表示从人脸认证获取的信息。 | 5492e41f4b71Sopenharmony_ci 5493e41f4b71Sopenharmony_ci## ResultCode<sup>8+</sup> 5494e41f4b71Sopenharmony_ci 5495e41f4b71Sopenharmony_ci表示身份验证结果码。 5496e41f4b71Sopenharmony_ci 5497e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5498e41f4b71Sopenharmony_ci 5499e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5500e41f4b71Sopenharmony_ci 5501e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5502e41f4b71Sopenharmony_ci| ----------------------- | ----- | ---------------------------------------- | 5503e41f4b71Sopenharmony_ci| SUCCESS | 0 | 表示身份验证成功或支持此功能。 | 5504e41f4b71Sopenharmony_ci| FAIL | 1 | 表示验证器无法识别用户。 | 5505e41f4b71Sopenharmony_ci| GENERAL_ERROR | 2 | 表示其他错误。 | 5506e41f4b71Sopenharmony_ci| CANCELED | 3 | 表示身份验证已取消。 | 5507e41f4b71Sopenharmony_ci| TIMEOUT | 4 | 表示身份验证已超时。 | 5508e41f4b71Sopenharmony_ci| TYPE_NOT_SUPPORT | 5 | 表示不支持此身份验证类型。 | 5509e41f4b71Sopenharmony_ci| TRUST_LEVEL_NOT_SUPPORT | 6 | 表示不支持身份验证信任级别。 | 5510e41f4b71Sopenharmony_ci| BUSY | 7 | 表示身份验证任务正忙。等待几秒钟,然后重试。 | 5511e41f4b71Sopenharmony_ci| INVALID_PARAMETERS | 8 | 表示参数不正确。 | 5512e41f4b71Sopenharmony_ci| LOCKED | 9 | 指示身份验证器已锁定。 | 5513e41f4b71Sopenharmony_ci| NOT_ENROLLED | 10 | 表示用户尚未注册验证器。 | 5514e41f4b71Sopenharmony_ci 5515e41f4b71Sopenharmony_ci## FaceTipsCode<sup>8+</sup> 5516e41f4b71Sopenharmony_ci 5517e41f4b71Sopenharmony_ci表示人脸验证过程中提示的枚举。 5518e41f4b71Sopenharmony_ci 5519e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5520e41f4b71Sopenharmony_ci 5521e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5522e41f4b71Sopenharmony_ci 5523e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5524e41f4b71Sopenharmony_ci| ----------------------------- | ----- | ---------------------------------------- | 5525e41f4b71Sopenharmony_ci| FACE_AUTH_TIP_TOO_BRIGHT | 1 | 表示由于高照明,获得的面部图像太亮。 | 5526e41f4b71Sopenharmony_ci| FACE_AUTH_TIP_TOO_DARK | 2 | 表示由于照明度低,获得的面部图像太暗。 | 5527e41f4b71Sopenharmony_ci| FACE_AUTH_TIP_TOO_CLOSE | 3 | 表示面部离设备太近。 | 5528e41f4b71Sopenharmony_ci| FACE_AUTH_TIP_TOO_FAR | 4 | 表示面部离设备太远。 | 5529e41f4b71Sopenharmony_ci| FACE_AUTH_TIP_TOO_HIGH | 5 | 表示设备太高,仅捕捉面部上部。 | 5530e41f4b71Sopenharmony_ci| FACE_AUTH_TIP_TOO_LOW | 6 | 表示设备太低,仅捕捉面部下部。 | 5531e41f4b71Sopenharmony_ci| FACE_AUTH_TIP_TOO_RIGHT | 7 | 指示设备向右偏移,并且仅捕捉面部的右侧部分。 | 5532e41f4b71Sopenharmony_ci| FACE_AUTH_TIP_TOO_LEFT | 8 | 指示设备向左偏移,并且仅捕捉面部的左侧部分。 | 5533e41f4b71Sopenharmony_ci| FACE_AUTH_TIP_TOO_MUCH_MOTION | 9 | 表示面部信息收集过程中面部移动过快。 | 5534e41f4b71Sopenharmony_ci| FACE_AUTH_TIP_POOR_GAZE | 10 | 表示面未朝向设备。 | 5535e41f4b71Sopenharmony_ci| FACE_AUTH_TIP_NOT_DETECTED | 11 | 表示未检测到人脸。 | 5536e41f4b71Sopenharmony_ci 5537e41f4b71Sopenharmony_ci## FingerprintTips<sup>8+</sup> 5538e41f4b71Sopenharmony_ci 5539e41f4b71Sopenharmony_ci表示指纹身份验证过程中提示的枚举。 5540e41f4b71Sopenharmony_ci 5541e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5542e41f4b71Sopenharmony_ci 5543e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5544e41f4b71Sopenharmony_ci 5545e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5546e41f4b71Sopenharmony_ci| ----------------------------- | ----- | ----------------------------------------------- | 5547e41f4b71Sopenharmony_ci| FINGERPRINT_TIP_GOOD | 0 | 表示采集的图像良好。 | 5548e41f4b71Sopenharmony_ci| FINGERPRINT_TIP_IMAGER_DIRTY | 1 | 表示由于传感器上可疑或检测到污垢,指纹图像噪声过大。 | 5549e41f4b71Sopenharmony_ci| FINGERPRINT_TIP_INSUFFICIENT | 2 | 表示由于检测到的情况,指纹图像噪声太大,无法处理。 | 5550e41f4b71Sopenharmony_ci| FINGERPRINT_TIP_PARTIAL | 3 | 表示仅检测到部分指纹图像。 | 5551e41f4b71Sopenharmony_ci| FINGERPRINT_TIP_TOO_FAST | 4 | 表示指纹图像由于快速运动而不完整。 | 5552e41f4b71Sopenharmony_ci| FINGERPRINT_TIP_TOO_SLOW | 5 | 表示由于缺少运动,指纹图像无法读取。 | 5553e41f4b71Sopenharmony_ci| FINGERPRINT_TIP_FINGER_DOWN<sup>10+</sup> | 6 | 表示手指落下。 | 5554e41f4b71Sopenharmony_ci| FINGERPRINT_TIP_FINGER_UP<sup>10+</sup> | 7 | 表示手指抬起。 | 5555e41f4b71Sopenharmony_ci 5556e41f4b71Sopenharmony_ci## OsAccountInfo 5557e41f4b71Sopenharmony_ci 5558e41f4b71Sopenharmony_ci表示系统账号信息。 5559e41f4b71Sopenharmony_ci 5560e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5561e41f4b71Sopenharmony_ci 5562e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5563e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------- | 5564e41f4b71Sopenharmony_ci| shortName<sup>12+</sup> | string | 否 | 系统账号的短名称。<br>**系统接口:** 此接口为系统接口,默认为空。 | 5565e41f4b71Sopenharmony_ci| isLoggedIn<sup>12+</sup> | boolean | 否 | 是否登录。<br>**系统接口:** 此接口为系统接口,默认为false。 | 5566e41f4b71Sopenharmony_ci 5567e41f4b71Sopenharmony_ci## OsAccountType 5568e41f4b71Sopenharmony_ci 5569e41f4b71Sopenharmony_ci表示系统账号类型的枚举。 5570e41f4b71Sopenharmony_ci 5571e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount。 5572e41f4b71Sopenharmony_ci 5573e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5574e41f4b71Sopenharmony_ci| ------ | ------ | ----------- | 5575e41f4b71Sopenharmony_ci| PRIVATE<sup>12+</sup> | 1024 | 隐私账号。隐私账号只能有一个。<br>**系统接口:** 此接口为系统接口。 | 5576e41f4b71Sopenharmony_ci 5577e41f4b71Sopenharmony_ci## DomainAccountInfo<sup>8+</sup> 5578e41f4b71Sopenharmony_ci 5579e41f4b71Sopenharmony_ci表示域账号信息。 5580e41f4b71Sopenharmony_ci 5581e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5582e41f4b71Sopenharmony_ci 5583e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5584e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------- | 5585e41f4b71Sopenharmony_ci| accountId<sup>10+</sup> | string | 否 | 域账号标识。<br>**系统接口:** 此接口为系统接口,默认为undefined。 | 5586e41f4b71Sopenharmony_ci| isAuthenticated<sup>11+</sup>| boolean | 否 | 指示域账号是否已认证。<br>**系统接口:** 此接口为系统接口,默认为false。| 5587e41f4b71Sopenharmony_ci| serverConfigId<sup>12+</sup>| boolean | 否 | 域账号所属服务器标识。<br>**系统接口:** 此接口为系统接口,默认为undefined。| 5588e41f4b71Sopenharmony_ci 5589e41f4b71Sopenharmony_ci## ConstraintSourceTypeInfo<sup>9+</sup> 5590e41f4b71Sopenharmony_ci 5591e41f4b71Sopenharmony_ci表示约束来源类型信息。 5592e41f4b71Sopenharmony_ci 5593e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5594e41f4b71Sopenharmony_ci 5595e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5596e41f4b71Sopenharmony_ci 5597e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5598e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------- | 5599e41f4b71Sopenharmony_ci| localId | number | 是 | 系统账号ID | 5600e41f4b71Sopenharmony_ci| type | [ConstraintSourceType](#constraintsourcetype9) | 是 | 约束来源类型 | 5601e41f4b71Sopenharmony_ci 5602e41f4b71Sopenharmony_ci## ConstraintSourceType<sup>9+</sup> 5603e41f4b71Sopenharmony_ci 5604e41f4b71Sopenharmony_ci表示约束来源类型的枚举。 5605e41f4b71Sopenharmony_ci 5606e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5607e41f4b71Sopenharmony_ci 5608e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5609e41f4b71Sopenharmony_ci 5610e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5611e41f4b71Sopenharmony_ci| ------ | ------ | ------------ | 5612e41f4b71Sopenharmony_ci| CONSTRAINT_NOT_EXIST | 0 | 约束不存在 | 5613e41f4b71Sopenharmony_ci| CONSTRAINT_TYPE_BASE | 1 | 约束源自系统设置 | 5614e41f4b71Sopenharmony_ci| CONSTRAINT_TYPE_DEVICE_OWNER | 2 | 约束源自设备所有者设置 | 5615e41f4b71Sopenharmony_ci| CONSTRAINT_TYPE_PROFILE_OWNER | 3 | 约束源自资料所有者设置 | 5616e41f4b71Sopenharmony_ci 5617e41f4b71Sopenharmony_ci## AuthStatusInfo<sup>10+</sup> 5618e41f4b71Sopenharmony_ci 5619e41f4b71Sopenharmony_ci表示认证状态信息。 5620e41f4b71Sopenharmony_ci 5621e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5622e41f4b71Sopenharmony_ci 5623e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5624e41f4b71Sopenharmony_ci 5625e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5626e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------- | 5627e41f4b71Sopenharmony_ci| remainTimes | number | 是 | 剩余次数 | 5628e41f4b71Sopenharmony_ci| freezingTime | number | 是 | 冻结时间 | 5629e41f4b71Sopenharmony_ci 5630e41f4b71Sopenharmony_ci## GetDomainAccessTokenOptions<sup>10+</sup> 5631e41f4b71Sopenharmony_ci 5632e41f4b71Sopenharmony_ci表示获取域访问令牌的选项。 5633e41f4b71Sopenharmony_ci 5634e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5635e41f4b71Sopenharmony_ci 5636e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5637e41f4b71Sopenharmony_ci 5638e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5639e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------- | 5640e41f4b71Sopenharmony_ci| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8) | 是 | 域账号的信息 | 5641e41f4b71Sopenharmony_ci| domainAccountToken | Uint8Array | 是 | 域账号的令牌 | 5642e41f4b71Sopenharmony_ci| businessParams | Record<string, Object> | 是 | 业务参数,由业务方根据请求协议自定义 | 5643e41f4b71Sopenharmony_ci| callerUid | number | 是 | 调用方唯一标识符 | 5644e41f4b71Sopenharmony_ci 5645e41f4b71Sopenharmony_ci## GetDomainAccountInfoOptions<sup>10+</sup> 5646e41f4b71Sopenharmony_ci 5647e41f4b71Sopenharmony_ci表示查询域账号信息的选项。 5648e41f4b71Sopenharmony_ci 5649e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5650e41f4b71Sopenharmony_ci 5651e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5652e41f4b71Sopenharmony_ci 5653e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5654e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------- | 5655e41f4b71Sopenharmony_ci| accountName | string | 是 | 域账号名。 | 5656e41f4b71Sopenharmony_ci| domain | string | 否 | 域名。默认为undefined。| 5657e41f4b71Sopenharmony_ci| serverConfigId<sup>12+</sup>| boolean | 否 | 域账号所属服务器标识。默认为undefined。| 5658e41f4b71Sopenharmony_ci 5659e41f4b71Sopenharmony_ci## GetDomainAccountInfoPluginOptions<sup>10+</sup> 5660e41f4b71Sopenharmony_ci 5661e41f4b71Sopenharmony_ci表示插件查询域账号信息的选项。GetDomainAccountInfoPluginOptions类继承[GetDomainAccountInfoOptions](#getdomainaccountinfooptions10) 5662e41f4b71Sopenharmony_ci 5663e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5664e41f4b71Sopenharmony_ci 5665e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5666e41f4b71Sopenharmony_ci 5667e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5668e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------- | 5669e41f4b71Sopenharmony_ci| callerUid | number | 是 | 调用方唯一标识符 | 5670e41f4b71Sopenharmony_ci 5671e41f4b71Sopenharmony_ci## OsAccountSwitchEventData<sup>12+</sup> 5672e41f4b71Sopenharmony_ci 5673e41f4b71Sopenharmony_ci表示系统账号前后台开始切换和结束切换事件的数据结构。 5674e41f4b71Sopenharmony_ci 5675e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5676e41f4b71Sopenharmony_ci 5677e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5678e41f4b71Sopenharmony_ci 5679e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5680e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------- | 5681e41f4b71Sopenharmony_ci| fromAccountId | number | 是 | 切换前系统账号ID | 5682e41f4b71Sopenharmony_ci| toAccountId | number | 是 | 切换后系统账号ID | 5683e41f4b71Sopenharmony_ci 5684e41f4b71Sopenharmony_ci## CreateOsAccountOptions<sup>12+</sup> 5685e41f4b71Sopenharmony_ci 5686e41f4b71Sopenharmony_ci表示用于创建系统账号的可选参数。 5687e41f4b71Sopenharmony_ci 5688e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5689e41f4b71Sopenharmony_ci 5690e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5691e41f4b71Sopenharmony_ci 5692e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5693e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------- | 5694e41f4b71Sopenharmony_ci| shortName | string | 是 | 表示账号短名称(用作个人文件夹目录) <br/>**约束:** <br>1)不允许出现的字符:\< \> \| : " * ? / \\<br>2)不允许独立出现的字符串:.或..<br>3)长度不超过255个字符| 5695e41f4b71Sopenharmony_ci 5696e41f4b71Sopenharmony_ci## CreateOsAccountForDomainOptions<sup>12+</sup> 5697e41f4b71Sopenharmony_ci 5698e41f4b71Sopenharmony_ci表示用于创建与指定域账号绑定的系统账号的可选参数。继承自[CreateOsAccountOptions](#createosaccountoptions12)。 5699e41f4b71Sopenharmony_ci 5700e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5701e41f4b71Sopenharmony_ci 5702e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5703e41f4b71Sopenharmony_ci 5704e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5705e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------- | 5706e41f4b71Sopenharmony_ci| shortName | string | 是 | 表示账号短名称(用作个人文件夹目录) <br/>**约束:** <br>1)不允许出现的字符:\< \> \| : " * ? / \\<br>2)不允许独立出现的字符串:.或..<br>3)长度不超过255个字符| 5707e41f4b71Sopenharmony_ci 5708e41f4b71Sopenharmony_ci## GetAuthInfoOptions<sup>12+</sup> 5709e41f4b71Sopenharmony_ci 5710e41f4b71Sopenharmony_ci表示[查询认证凭据信息](#getauthinfo12)的可选参数集合。 5711e41f4b71Sopenharmony_ci 5712e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5713e41f4b71Sopenharmony_ci 5714e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5715e41f4b71Sopenharmony_ci 5716e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5717e41f4b71Sopenharmony_ci| --------- | ---------------------- | ---- | ---------- | 5718e41f4b71Sopenharmony_ci| authType | [AuthType](#authtype8) | 否 | 认证类型,默认为undefined。 | 5719e41f4b71Sopenharmony_ci| accountId | number | 否 | 系统账号标识,默认为undefined。 | 5720e41f4b71Sopenharmony_ci 5721e41f4b71Sopenharmony_ci## AuthIntent<sup>12+</sup> 5722e41f4b71Sopenharmony_ci 5723e41f4b71Sopenharmony_ci表示认证意图的枚举。 5724e41f4b71Sopenharmony_ci 5725e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5726e41f4b71Sopenharmony_ci 5727e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5728e41f4b71Sopenharmony_ci 5729e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5730e41f4b71Sopenharmony_ci| -------- | --- | ---------- | 5731e41f4b71Sopenharmony_ci| UNLOCK | 1 | 解锁意图。 | 5732e41f4b71Sopenharmony_ci 5733e41f4b71Sopenharmony_ci## RemoteAuthOptions<sup>12+</sup> 5734e41f4b71Sopenharmony_ci 5735e41f4b71Sopenharmony_ci表示远程认证的可选参数集合。 5736e41f4b71Sopenharmony_ci 5737e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5738e41f4b71Sopenharmony_ci 5739e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5740e41f4b71Sopenharmony_ci 5741e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5742e41f4b71Sopenharmony_ci| ------------------ | ------ | ---- | ---------- | 5743e41f4b71Sopenharmony_ci| verifierNetworkId | string | 否 | 凭据验证者的网络标识,默认为空。 | 5744e41f4b71Sopenharmony_ci| collectorNetworkId | string | 否 | 凭据收集者的网络标识,默认为空。 | 5745e41f4b71Sopenharmony_ci| collectorTokenId | number | 否 | 凭据收集者的令牌标识,默认为undefined。 | 5746e41f4b71Sopenharmony_ci 5747e41f4b71Sopenharmony_ci## AuthOptions<sup>12+</sup> 5748e41f4b71Sopenharmony_ci 5749e41f4b71Sopenharmony_ci表示[认证用户](#auth12)的可选参数集合。 5750e41f4b71Sopenharmony_ci 5751e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5752e41f4b71Sopenharmony_ci 5753e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5754e41f4b71Sopenharmony_ci 5755e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5756e41f4b71Sopenharmony_ci| ------------------ | ------ | ---- | ---------- | 5757e41f4b71Sopenharmony_ci| accountId | number | 否 | 系统账号标识,默认为undefined。 | 5758e41f4b71Sopenharmony_ci| authIntent | [AuthIntent](#authintent12) | 否 | 认证意图,默认为undefined。 | 5759e41f4b71Sopenharmony_ci| remoteAuthOptions | [RemoteAuthOptions](#remoteauthoptions12) | 否 | 远程认证选项,默认为undefined。 | 5760e41f4b71Sopenharmony_ci 5761e41f4b71Sopenharmony_ci## GetInputDataOptions <sup>12+</sup> 5762e41f4b71Sopenharmony_ci 5763e41f4b71Sopenharmony_ci表示[通知调用者获取数据](#ongetdata8)的可选参数集合。 5764e41f4b71Sopenharmony_ci 5765e41f4b71Sopenharmony_ci**系统接口:** 此接口为系统接口。 5766e41f4b71Sopenharmony_ci 5767e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.Account.OsAccount 5768e41f4b71Sopenharmony_ci 5769e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 5770e41f4b71Sopenharmony_ci| ------------------ | ------ | ---- | ---------- | 5771e41f4b71Sopenharmony_ci| challenge | Uint8Array | 否 | 挑战值,默认为undefined。 | 5772