• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 分布式帐号管理
2
3本模块提供管理分布式帐号的一些基础功能,主要包括查询和更新帐号登录状态。
4
5> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
6> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7
8
9## 导入模块
10
11```js
12import account_distributedAccount from '@ohos.account.distributedAccount';
13```
14
15
16## account_distributedAccount.getDistributedAccountAbility
17
18getDistributedAccountAbility(): DistributedAccountAbility
19
20获取分布式帐号单实例对象。
21
22**系统能力:** SystemCapability.Account.OsAccount
23
24- 返回值:
25  | 类型 | 说明 |
26  | -------- | -------- |
27  | [DistributedAccountAbility](#distributedaccountability) | 返回一个实例,实例提供查询和更新分布式帐号登录状态方法。 |
28
29- 示例:
30  ```js
31  const accountAbility = account_distributedAccount.getDistributedAccountAbility();
32  ```
33
34## DistributedAccountAbility
35
36提供查询和更新分布式帐号登录状态方法(需要先获取分布式帐号的单实例对象)。
37
38### queryOsAccountDistributedInfo
39
40queryOsAccountDistributedInfo(callback: AsyncCallback<DistributedInfo>): void
41
42获取分布式帐号信息,使用callback回调异步返回结果。
43
44**系统能力:** SystemCapability.Account.OsAccount
45
46**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.DISTRIBUTED_DATASYNC,该权限仅供系统应用使用。
47
48- 参数:
49  | 参数名 | 类型 | 必填 | 说明 |
50  | -------- | -------- | -------- | -------- |
51  | callback | AsyncCallback<[DistributedInfo](#distributedinfo)> | 是 | 获取分布式帐号信息的回调。 |
52
53- 示例:
54  ```js
55  const accountAbility = account_distributedAccount.getDistributedAccountAbility();
56  accountAbility.queryOsAccountDistributedInfo((err, data) => {
57      console.log("queryOsAccountDistributedInfo err: " + JSON.stringify(err));
58      console.log('Query account info name: ' + data.name);
59      console.log('Query account info id: ' + data.id);
60  });
61  ```
62
63### queryOsAccountDistributedInfo
64
65queryOsAccountDistributedInfo(): Promise<DistributedInfo>
66
67获取分布式帐号信息,使用Promise方式异步返回结果。
68
69**系统能力:** SystemCapability.Account.OsAccount
70
71**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.DISTRIBUTED_DATASYNC,该权限仅供系统应用使用。
72
73- 返回值:
74  | 类型 | 说明 |
75  | -------- | -------- |
76  | Promise<[DistributedInfo](#distributedinfo)> | Promise实例,用于获取异步返回结果。 |
77
78- 示例:
79  ```js
80  const accountAbility = account_distributedAccount.getDistributedAccountAbility();
81  accountAbility.queryOsAccountDistributedInfo().then((data) => {
82      console.log('Query account info name: ' + data.name);
83      console.log('Query account info id: ' + data.id);
84  }).catch((err) => {
85      console.log("queryOsAccountDistributedInfoerr: "  + JSON.stringify(err));
86  });
87  ```
88
89### updateOsAccountDistributedInfo
90
91updateOsAccountDistributedInfo(accountInfo: DistributedInfo, callback: AsyncCallback<void>): void
92
93更新分布式帐号信息,使用callback回调异步返回结果。
94
95**系统能力:** SystemCapability.Account.OsAccount
96
97**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS,该权限仅供系统应用使用。
98
99- 参数:
100  | 参数名 | 类型 | 必填 | 说明 |
101  | -------- | -------- | -------- | -------- |
102  | accountInfo | [DistributedInfo](#distributedinfo) | 是 | 分布式帐号信息。 |
103  | callback | AsyncCallback<void> | 是 | 更新分布式帐号信息的回调。 |
104
105- 示例:
106  ```js
107  const accountAbility = account_distributedAccount.getDistributedAccountAbility();
108  let accountInfo = {id: '12345', name: 'ZhangSan', event: 'Ohos.account.event.LOGIN'};
109  accountAbility.updateOsAccountDistributedInfo(accountInfo, (err) => {
110      console.log("queryOsAccountDistributedInfo err: " + JSON.stringify(err));
111  });
112  ```
113
114### updateOsAccountDistributedInfo
115
116updateOsAccountDistributedInfo(accountInfo: DistributedInfo): Promise<void>
117
118更新分布式帐号信息,使用Promise方式异步返回结果。
119
120**系统能力:** SystemCapability.Account.OsAccount
121
122**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS,该权限仅供系统应用使用。
123
124- 参数:
125  | 参数名 | 类型 | 必填 | 说明 |
126  | -------- | -------- | -------- | -------- |
127  | accountInfo | [DistributedInfo](#distributedinfo) | 是 | 分布式帐户信息。 |
128
129- 返回值:
130  | 类型 | 说明 |
131  | -------- | -------- |
132  | Promise<void> | Promise实例,用于获取异步返回结果。 |
133
134- 示例:
135  ```js
136  const accountAbility = account_distributedAccount.getDistributedAccountAbility();
137  let accountInfo = {id: '12345', name: 'ZhangSan', event: 'Ohos.account.event.LOGIN'};
138  accountAbility.updateOsAccountDistributedInfo(accountInfo).then(() => {
139      console.log('updateOsAccountDistributedInfo Success');
140   }).catch((err) => {
141      console.log("updateOsAccountDistributedInfo err: "  + JSON.stringify(err));
142  });
143  ```
144
145
146## DistributedInfo
147
148提供操作系统帐户的分布式信息。
149
150**系统能力:** SystemCapability.Account.OsAccount
151
152| 参数名 | 类型 | 必填 | 说明 |
153| -------- | -------- | -------- | -------- |
154| name | string | 是 | 分布式帐号名称,非空字符串。 |
155| id | string | 是 | 分布式帐号UID,非空字符串。 |
156| event | string | 是 | 分布式帐号登录状态,包括登录、登出、Token失效和注销,分别对应以下字符串:<br/>-&nbsp;Ohos.account.event.LOGIN<br/>-&nbsp;Ohos.account.event.LOGOUT<br/>-&nbsp;Ohos.account.event.TOKEN_INVALID<br/>-&nbsp;Ohos.account.event.LOGOFF |
157| scalableData | object | 否 | 分布式帐号扩展信息,根据业务所需,以k-v形式传递定制化信息。<br/>说明:该参数是预留的可选项,目前查询和更新的方法实现中未使用。 |
158