# 管ç†åˆ†å¸ƒå¼è´¦å·ï¼ˆä»…对系统应用开放) OEM厂商å¯ä»¥é€šè¿‡[分布å¼è´¦å·SDK](../../reference/apis-basic-services-kit/js-apis-distributed-account.md)将自有账å·ä¸Žæœ¬åœ°ç³»ç»Ÿè´¦å·å»ºç«‹å…³è”关系。 ## å¼€å‘准备 1. 申请æƒé™ï¼šohos.permission.MANAGE_DISTRIBUTED_ACCOUNTS。申请æµç¨‹è¯·å‚考:[申请应用æƒé™](../../security/AccessToken/determine-application-mode.md#system_basicç‰çº§åº”用申请æƒé™çš„æ–¹å¼)。 2. 导入分布å¼è´¦å·æ¨¡å—。 ```ts import { distributedAccount, BusinessError } from '@kit.BasicServicesKit'; ``` 3. 获å–分布å¼è´¦å·çš„å•实例对象。 ```ts const distributedAccountAbility = distributedAccount.getDistributedAccountAbility(); ``` ## 在当å‰ç³»ç»Ÿè´¦å·ä¸Šç™»å½•绑定分布å¼è´¦å· 具体开å‘实例如下: 1. 定义待登录的分布å¼è´¦å·ä¿¡æ¯ã€‚å…¶ä¸ï¼Œç™»å½•场景下需将event指定为"Ohos.account.event.LOGIN"。 ```ts let distributedInfo: distributedAccount.DistributedInfo = { name: 'ZhangSan', id: '12345', event: 'Ohos.account.event.LOGIN', }; ``` 2. 调用[setOsAccountDistributedInfo](../../reference/apis-basic-services-kit/js-apis-distributed-account.md#setosaccountdistributedinfo9)接å£ï¼Œå°†å½“å‰ç³»ç»Ÿè´¦å·ä¸ŽæŒ‡å®šåˆ†å¸ƒå¼è´¦å·ç»‘定到一起。 ```ts distributedAccountAbility.setOsAccountDistributedInfo(distributedInfo).then(() => { console.log('setOsAccountDistributedInfo successfully'); }).catch((err: BusinessError) => { console.log('setOsAccountDistributedInfo exception: ' + JSON.stringify(err)); }); ``` 3. 在账å·ç»‘定之åŽï¼Œå¯ä»¥è°ƒç”¨[getOsAccountDistributedInfo](../../reference/apis-basic-services-kit/js-apis-distributed-account.md#getosaccountdistributedinfo9)æŽ¥å£æŸ¥çœ‹åˆ†å¸ƒå¼è´¦å·çš„登录信æ¯ã€‚ ```ts distributedAccountAbility.getOsAccountDistributedInfo().then((data: distributedAccount.DistributedInfo) => { console.log('distributed information: ' + JSON.stringify(data)); }).catch((err: BusinessError) => { console.log('getOsAccountDistributedInfo exception: ' + JSON.stringify(err)); }); ``` ## 在当å‰ç³»ç»Ÿè´¦å·ä¸Šç™»å‡ºè§£ç»‘分布å¼è´¦å· 具体开å‘实例如下: 1. 定义待登出的分布å¼è´¦å·ä¿¡æ¯ã€‚å…¶ä¸ï¼Œç™»å½•场景下需将event指定为"Ohos.account.event.LOGOUT"。 ```ts let distributedInfo: distributedAccount.DistributedInfo = { name: 'ZhangSan', id: '12345', event: 'Ohos.account.event.LOGOUT', }; ``` 2. 调用[setOsAccountDistributedInfo](../../reference/apis-basic-services-kit/js-apis-distributed-account.md#setosaccountdistributedinfo9)接å£ï¼Œå°†æŒ‡å®šçš„分布å¼è´¦å·ä¸Žå½“å‰ç³»ç»Ÿè´¦å·è§£ç»‘。 ```ts distributedAccountAbility.setOsAccountDistributedInfo(distributedInfo).then(() => { console.log('setOsAccountDistributedInfo successfully'); }).catch((err: BusinessError) => { console.log('setOsAccountDistributedInfo exception: ' + JSON.stringify(err)); }); ``` ## 在指定的系统账å·ä¸Šç™»å½•绑定分布å¼è´¦å· 具体开å‘实例如下: 1. ç¡®å®šç›®æ ‡ç³»ç»Ÿè´¦å·ï¼Œå¹¶å®šä¹‰å¾…登录的分布å¼è´¦å·ä¿¡æ¯ã€‚å…¶ä¸ï¼Œç™»å½•场景下需将event指定为"Ohos.account.event.LOGIN"。 ```ts let localId: number = 100; let distributedInfo: distributedAccount.DistributedInfo = { name: 'ZhangSan', id: '12345', event: 'Ohos.account.event.LOGIN', }; ``` 2. 调用[setOsAccountDistributedInfoByLocalId](../../reference/apis-basic-services-kit/js-apis-distributed-account-sys.md#setosaccountdistributedinfobylocalid10)接å£ï¼Œå°†æŒ‡å®šåˆ†å¸ƒå¼è´¦å·ä¸Žå½“å‰ç³»ç»Ÿè´¦å·ç»‘定。 ```ts distributedAccountAbility.setOsAccountDistributedInfoByLocalId(localId, distributedInfo).then(() => { console.log('setOsAccountDistributedInfoByLocalId successfully'); }).catch((err: BusinessError) => { console.log('setOsAccountDistributedInfoByLocalId exception: ' + JSON.stringify(err)); }); ``` 3. 在账å·ç»‘定之åŽï¼Œå¯ä»¥è°ƒç”¨[getOsAccountDistributedInfoByLocalId](../../reference/apis-basic-services-kit/js-apis-distributed-account-sys.md#getosaccountdistributedinfobylocalid10)æŽ¥å£æŸ¥çœ‹åˆ†å¸ƒå¼è´¦å·çš„登录信æ¯ã€‚ ```ts distributedAccountAbility.getOsAccountDistributedInfoByLocalId(localId).then((data: distributedAccount.DistributedInfo) => { console.log('distributed information: ' + JSON.stringify(data)); }).catch((err: BusinessError) => { console.log('getOsAccountDistributedInfoByLocalId exception: ' + JSON.stringify(err)); }); ``` ## 在指定系统账å·ä¸Šç™»å‡ºè§£ç»‘分布å¼è´¦å· 具体开å‘实例如下: 1. ç¡®å®šç›®æ ‡ç³»ç»Ÿè´¦å·ï¼Œå¹¶å®šä¹‰å¾…登出的分布å¼è´¦å·ä¿¡æ¯ã€‚å…¶ä¸ï¼Œç™»å½•场景下需将event指定为"Ohos.account.event.LOGOUT"。 ```ts let localId: number = 100; let distributedInfo: distributedAccount.DistributedInfo = { name: 'ZhangSan', id: '12345', event: 'Ohos.account.event.LOGOUT', }; ``` 2. 调用[setOsAccountDistributedInfoByLocalId](../../reference/apis-basic-services-kit/js-apis-distributed-account-sys.md#setosaccountdistributedinfobylocalid10)接å£ï¼Œå°†æŒ‡å®šçš„分布å¼è´¦å·ä¸Žç›®æ ‡ç³»ç»Ÿè´¦å·è§£ç»‘。 ```ts distributedAccountAbility.setOsAccountDistributedInfoByLocalId(localId, distributedInfo).then(() => { console.log('setOsAccountDistributedInfoByLocalId successfully'); }).catch((err: BusinessError) => { console.log('setOsAccountDistributedInfoByLocalId exception: ' + JSON.stringify(err)); }); ```