1# 帐号子系统ChangeLog 2 3## cl.account_os_account.1 帐号SystemAPI错误信息返回方式变更 4 5已发布的部分帐号SystemAPI使用业务逻辑返回值表示错误信息,不符合OpenHarmony接口错误码规范。从API9开始作以下变更: 6 7异步接口:通过AsyncCallback或Promise的error对象返回错误信息。 8 9同步接口:通过抛出异常的方式返回错误信息。 10 11**变更影响** 12 13基于此前版本开发的应用,需适配变更接口的错误信息返回方式,否则会影响原有业务逻辑。 14 15**关键接口/组件变更** 16 17变更前: 18 - class UserAuth 19 - setProperty(request: SetPropertyRequest, callback: AsyncCallback<number>): void; 20 - setProperty(request: SetPropertyRequest): Promise<number>; 21 - cancelAuth(contextID: Uint8Array): number; 22 - class PINAuth 23 - registerInputer(inputer: Inputer): boolean; 24 - UserIdentityManager 25 - cancel(challenge: Uint8Array): number; 26 27变更后: 28 - class UserAuth 29 - setProperty(request: SetPropertyRequest, callback: AsyncCallback<void>): void; 30 - setProperty(request: SetPropertyRequest): Promise<void>; 31 - cancelAuth(contextID: Uint8Array): void; 32 - class PINAuth 33 - registerInputer(inputer: Inputer): void; 34 - UserIdentityManager 35 - cancel(challenge: Uint8Array): void; 36 37**适配指导** 38 39异步接口以setProperty为例,示例代码如下: 40 41``` 42import account_osAccount from "@ohos.account.osAccount" 43userAuth.setProperty({ 44 authType: account_osAccount.AuthType.PIN, 45 key: account_osAccount.SetPropertyType.INIT_ALGORITHM, 46 setInfo: new Uint8Array([0]) 47}, (err) => { 48 if (err) { 49 console.log("setProperty failed, error: " + JSON.stringify(err)); 50 } else { 51 console.log("setProperty successfully"); 52 } 53}); 54 55userAuth.setProperty({ 56 authType: account_osAccount.AuthType.PIN, 57 key: account_osAccount.SetPropertyType.INIT_ALGORITHM, 58 setInfo: new Uint8Array([0]) 59}).catch((err) => { 60 if (err) { 61 console.log("setProperty failed, error: " + JSON.stringify(err)); 62 } else { 63 console.log("setProperty successfully"); 64 } 65}); 66``` 67 68同步接口以registerInputer为例,示例代码如下: 69 70``` 71import account_osAccount from "@ohos.account.osAccount" 72let pinAuth = new account_osAccount.PINAuth() 73let inputer = { 74 onGetData: (authType, passwordRecipient) => { 75 let password = new Uint8Array([0]); 76 passwordRecipient.onSetData(authType, password); 77 } 78} 79try { 80 pinAuth.registerInputer(inputer); 81} catch (err) { 82 console.log("registerInputer failed, error: " + JSON.stringify(err)); 83} 84``` 85 86## cl.account_os_account.2 应用帐号鉴权服务ACTION定义变更 87 88**变更影响** 89 90基于此前版本开发的应用,需适配修改应用配置文件(FA模型为config.json或Stage模型为module.json5)中的ACTION才能正常对外提供应用鉴权服务。 91 92**关键接口/组件变更** 93 94涉及的常量: 95 96@ohos.ability.wantConstant.ACTION_APP_ACCOUNT_AUTH 97 98变更前: 99 100ACTION_APP_ACCOUNT_AUTH = "account.appAccount.action.auth" 101 102变更后: 103 104ACTION_APP_ACCOUNT_AUTH = "ohos.appAccount.action.auth" 105 106**适配指导** 107 108提供应用帐号鉴权服务的三方应用,需要在相关ServiceAbility的配置文件(FA模型为config.json或Stage模型为module.json5)中适配变更后的应用帐号认证ACTION,示例如下: 109``` 110"abilities": [ 111 { 112 "name": "ServiceAbility", 113 "srcEntrance": "./ets/ServiceAbility/ServiceAbility.ts", 114 ... 115 "visible": true, 116 "skills": { 117 { 118 "actions": [ 119 "ohos.appAccount.action.auth" 120 ] 121 } 122 } 123 }] 124} 125