1# 帐号子系统changeLog 2 3## cl.account_os_account.1 createOsAccountForDomain错误码变更 4 5使用createOsAccountForDomain重复创建域帐号时,变更前返回的错误码为12300001,变更后返回的错误码为12300004。 6错误信息由通用系统报错细化为帐号已存在报错。 7 8**变更影响** 9 10基于此前版本开发的应用,需适配变更后的错误码,否则会影响原有业务逻辑。 11 12**关键接口/组件变更** 13- AccountManager 14 - createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, callback: AsyncCallback<OsAccountInfo>); 15 - createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo): Promise<OsAccountInfo>; 16 17**适配指导** 18 19重复创建域帐号的示例代码如下: 20 21```ts 22import account_osAccount from "@ohos.account.osAccount" 23 24let accountMgr = account_osAccount.getAccountManager(); 25let domainInfo = { 26 accountName: "zhangsan", 27 domain: "china.example.com" 28}; 29try { 30 await accountMgr.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo); 31 await accountMgr.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo); 32} catch (err) { 33 console.log("activateOsAccount err: " + JSON.stringify(err)); // error.code = 12300004; 34} 35``` 36 37## cl.account_os_account.2 应用帐号getAllAccounts接口权限场景变更 38 39应用使用getAllAccounts接口查询自己可访问的帐号列表时,不需要申请权限ohos.permission.GET_ALL_APP_ACCOUNTS。 40 41**变更影响** 42 43基于此后版本开发的应用,查询自己可访问的帐号列表时,无需申请权限。 44 45**关键接口/组件变更** 46- AccountManager 47 - getAllAccounts(callback: AsyncCallback<Array<AppAccountInfo>>): void; 48 - getAllAccounts(): Promise<Array<AppAccountInfo>>; 49 50**适配指导** 51 52应用未申请ohos.permission.GET_ALL_APP_ACCOUNTS,查询自己可访问的帐号列表示例代码如下: 53 54```ts 55import account_appAccount from "@ohos.account.appAccount" 56 57let accountMgr = account_appAccount.createAppAccountManager(); 58try { 59 await accountMgr.addAccount("accessibleAccount_promise_nopermission"); 60 var data = await accountMgr.getAllAccounts(); 61 if (data[0].name == "accessibleAccount_promise_nopermission") { 62 console.log("getAllAccounts successfully"); 63 } 64} catch (err) { 65 console.log("getAllAccounts err: " + JSON.stringify(err)); 66} 67``` 68 69## cl.account_os_account.3 应用帐号getAccountsByOwner接口权限场景变更 70 71应用使用getAccountsByOwner接口查询可访问的指定应用的帐号列表时,不需要申请权限ohos.permission.GET_ALL_APP_ACCOUNTS。 72 73**变更影响** 74 75基于此后版本开发的应用,查询指定应用可访问的帐号列表时,无需申请权限。 76 77**关键接口/组件变更** 78- AccountManager 79 - getAccountsByOwner(owner: string, callback: AsyncCallback<Array<AppAccountInfo>>): void; 80 - getAccountsByOwner(owner: string): Promise<Array<AppAccountInfo>>; 81 82**适配指导** 83 84应用未申请ohos.permission.GET_ALL_APP_ACCOUNTS,查询指定应用可访问的帐号列表示例代码如下: 85 86```ts 87import account_appAccount from "@ohos.account.appAccount" 88 89let accountMgr = account_appAccount.createAppAccountManager(); 90try { 91 var ownerName = "com.example.owner"; 92 var data = await accountMgr.getAllAccounts(ownerName); 93} catch (err) { 94 console.log("getAllAccounts err: " + JSON.stringify(err)); 95} 96```