分布式帳號管理
本模塊提供管理分布式帳號的一些基礎功能,主要包括查詢和更新帳號登錄狀態。
說明: 本模塊首批接口從API version 7開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。開發前請熟悉鴻蒙開發指導文檔:
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
點擊或者復制轉到。
導入模塊
import account_distributedAccount from '@ohos.account.distributedAccount';
account_distributedAccount.getDistributedAccountAbility
getDistributedAccountAbility(): DistributedAccountAbility
獲取分布式帳號單實例對象。
系統能力: SystemCapability.Account.OsAccount
-
返回值:
| 類型 | 說明 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
| [DistributedAccountAbility]| 返回一個實例,實例提供查詢和更新分布式帳號登錄狀態方法。 | -
示例:
const accountAbility = account_distributedAccount.getDistributedAccountAbility();
DistributedAccountAbility
提供查詢和更新分布式帳號登錄狀態方法(需要先獲取分布式帳號的單實例對象)。
queryOsAccountDistributedInfo
queryOsAccountDistributedInfo(callback: AsyncCallback): void
獲取分布式帳號信息,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.OsAccount
需要權限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.DISTRIBUTED_DATASYNC,該權限僅供系統應用使用。
-
參數:
| 參數名 | 類型 | 必填 | 說明 |
| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | – | ------------- |
| callback | AsyncCallback<[DistributedInfo]> | 是 | 獲取分布式帳號信息的回調。 | -
示例:
const accountAbility = account_distributedAccount.getDistributedAccountAbility(); accountAbility.queryOsAccountDistributedInfo((err, data) => { console.log("queryOsAccountDistributedInfo err: " + JSON.stringify(err));console.log('Query account info name: ' + data.name);console.log('Query account info id: ' + data.id); });
queryOsAccountDistributedInfo
queryOsAccountDistributedInfo(): Promise
獲取分布式帳號信息,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.OsAccount
需要權限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.DISTRIBUTED_DATASYNC,該權限僅供系統應用使用。
-
返回值:
| 類型 | 說明 |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
| Promise<[DistributedInfo]> | Promise實例,用于獲取異步返回結果。 | -
示例:
const accountAbility = account_distributedAccount.getDistributedAccountAbility(); accountAbility.queryOsAccountDistributedInfo().then((data) => { console.log('Query account info name: ' + data.name);console.log('Query account info id: ' + data.id); }).catch((err) => {console.log("queryOsAccountDistributedInfoerr: " + JSON.stringify(err)); });
updateOsAccountDistributedInfo
updateOsAccountDistributedInfo(accountInfo: DistributedInfo, callback: AsyncCallback): void
更新分布式帳號信息,使用callback回調異步返回結果。
系統能力: SystemCapability.Account.OsAccount
需要權限: ohos.permission.MANAGE_LOCAL_ACCOUNTS,該權限僅供系統應用使用。
-
參數:
| 參數名 | 類型 | 必填 | 說明 |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | – | ------------- |
| accountInfo | [DistributedInfo]| 是 | 分布式帳號信息。 |
| callback | AsyncCallback | 是 | 更新分布式帳號信息的回調。 | -
示例:
const accountAbility = account_distributedAccount.getDistributedAccountAbility(); let accountInfo = {id: '12345', name: 'ZhangSan', event: 'Ohos.account.event.LOGIN'}; accountAbility.updateOsAccountDistributedInfo(accountInfo, (err) => { console.log("queryOsAccountDistributedInfo err: " + JSON.stringify(err)); });
updateOsAccountDistributedInfo
updateOsAccountDistributedInfo(accountInfo: DistributedInfo): Promise
更新分布式帳號信息,使用Promise方式異步返回結果。
系統能力: SystemCapability.Account.OsAccount
需要權限: ohos.permission.MANAGE_LOCAL_ACCOUNTS,該權限僅供系統應用使用。
-
參數:
| 參數名 | 類型 | 必填 | 說明 |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | – | -------- |
| accountInfo | [DistributedInfo] | 是 | 分布式帳戶信息。 | -
返回值:
| 類型 | 說明 |
| ------------- | --------------------- |
| Promise | Promise實例,用于獲取異步返回結果。 | -
示例:
const accountAbility = account_distributedAccount.getDistributedAccountAbility(); let accountInfo = {id: '12345', name: 'ZhangSan', event: 'Ohos.account.event.LOGIN'}; accountAbility.updateOsAccountDistributedInfo(accountInfo).then(() => {console.log('updateOsAccountDistributedInfo Success');}).catch((err) => {console.log("updateOsAccountDistributedInfo err: " + JSON.stringify(err)); });
DistributedInfo
提供操作系統帳戶的分布式信息。
系統能力: SystemCapability.Account.OsAccount
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 分布式帳號名稱,非空字符串。 |
id | string | 是 | 分布式帳號UID,非空字符串。 |
event | string | 是 | 分布式帳號登錄狀態,包括登錄、登出、Token失效和注銷,分別對應以下字符串: - Ohos.account.event.LOGIN - Ohos.account.event.LOGOUT - Ohos.account.event.TOKEN_INVALID - Ohos.account.event.LOGOFF |
scalableData | object | 否 | 分布式帳號擴展信息,根據業務所需,以k-v形式傳遞定制化信息。 說明:該參數是預留的可選項,目前查詢和更新的方法實現中未使用。 |