• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Distributed Account Management
2
3The distributedAccount module provides basic functions for managing distributed accounts, including querying and updating account login status.
4
5> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**<br>
6> The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
7
8
9## Modules to Import
10
11```js
12import account_distributedAccount from '@ohos.account.distributedAccount';
13```
14
15
16## account_distributedAccount.getDistributedAccountAbility
17
18getDistributedAccountAbility(): DistributedAccountAbility
19
20Obtains a **DistributedAccountAbility** instance.
21
22**System capability**: SystemCapability.Account.OsAccount
23
24- Return value
25  | Type| Description|
26  | -------- | -------- |
27  | [DistributedAccountAbility](#distributedaccountability) | **DistributedAccountAbility** instance obtained. This instance provides methods for querying and updating the login state of a distributed account.|
28
29- Example
30  ```js
31  const accountAbility = account_distributedAccount.getDistributedAccountAbility();
32  ```
33
34## DistributedAccountAbility
35
36Provides methods for querying and updating the login state of a distributed account. You must obtain a **DistributedAccountAbility** instance first.
37
38### queryOsAccountDistributedInfo
39
40queryOsAccountDistributedInfo(callback: AsyncCallback&lt;DistributedInfo&gt;): void
41
42Obtains distributed account information. This API uses an asynchronous callback to return the result.
43
44**System capability**: SystemCapability.Account.OsAccount
45
46**Required permissions**: ohos.permission.MANAGE_LOCAL_ACCOUNTS or ohos.permission.DISTRIBUTED_DATASYNC (available only to system applications)
47
48- Parameters
49  | Name| Type| Mandatory| Description|
50  | -------- | -------- | -------- | -------- |
51  | callback | AsyncCallback&lt;[DistributedInfo](#distributedinfo)&gt; | Yes| Callback invoked to return the distributed account information obtained.|
52
53- Example
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&lt;DistributedInfo&gt;
66
67Obtains distributed account information. This API uses a promise to return the result.
68
69**System capability**: SystemCapability.Account.OsAccount
70
71**Required permissions**: ohos.permission.MANAGE_LOCAL_ACCOUNTS or ohos.permission.DISTRIBUTED_DATASYNC (available only to system applications)
72
73- Return value
74  | Type| Description|
75  | -------- | -------- |
76  | Promise&lt;[DistributedInfo](#distributedinfo)&gt; | Promise used to return the distributed account information obtained.|
77
78- Example
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&lt;void&gt;): void
92
93Updates distributed account information. This API uses an asynchronous callback to return the result.
94
95**System capability**: SystemCapability.Account.OsAccount
96
97**Required permissions**: ohos.permission.MANAGE_LOCAL_ACCOUNTS (available only to system applications)
98
99- Parameters
100  | Name| Type| Mandatory| Description|
101  | -------- | -------- | -------- | -------- |
102  | accountInfo | [DistributedInfo](#distributedinfo) | Yes| Distributed account information.|
103  | callback | AsyncCallback&lt;void&gt; | Yes| Callback invoked when the distributed account information is updated.|
104
105- Example
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&lt;void&gt;
117
118Updates distributed account information. This API uses a promise to return the result.
119
120**System capability**: SystemCapability.Account.OsAccount
121
122**Required permissions**: ohos.permission.MANAGE_LOCAL_ACCOUNTS (available only to system applications)
123
124- Parameters
125  | Name| Type| Mandatory| Description|
126  | -------- | -------- | -------- | -------- |
127  | accountInfo | [DistributedInfo](#distributedinfo) | Yes| Distributed account information.|
128
129- Return value
130  | Type| Description|
131  | -------- | -------- |
132  | Promise&lt;void&gt; | Promise used to return the result.|
133
134- Example
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
148Defines distributed OS account information.
149
150**System capability**: SystemCapability.Account.OsAccount
151
152| Name| Type| Mandatory| Description|
153| -------- | -------- | -------- | -------- |
154| name | string | Yes| Name of a distributed account. It must be a non-null string.|
155| id | string | Yes| UID of a distributed account. It must be a non-null string.|
156| event | string | Yes| Login state of a distributed account. The state can be login, logout, token invalid, or logoff, which correspond to the following strings respectively:<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 | No| Extended information about a distributed account. Customized information is passed in key-value pairs.<br>Note: This parameter is reserved and not used in query and update methods.|
158