# account_os_account **Repository Path**: gao-rongxin/account_os_account ## Basic Information - **Project Name**: account_os_account - **Description**: Allowing apps to use OS account-related functions | 允许您的应用程序使用操作系统帐号相关功能 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 336 - **Created**: 2022-01-05 - **Last Updated**: 2022-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 系统帐号组件 - [简介](#section11660541593) - [组件架构图](#section1412183212132) - [目录](#section161941989596) - [说明](#section1312121216216) - [接口说明](#section1551164914237) - [相关仓](#section1371113476307) ## 简介 在标准系统上,系统帐号组件主要提供分布式帐号登录状态管理能力,及应用帐号添加删除等基础管理能力。 ## 组件架构图 **图 1** 系统帐号组件架构图 ![](figures/zh-cn_image_account_struct.png) ## 目录 ``` /base/account/os_account ├── figures README图片 ├── frameworks 帐号子系统kit代码 │ ├── appaccount 应用帐号kit代码 │ │ ├── core 应用帐号ipc │ │ └── native 应用帐号内部接口 │ ├── common 共通基础代码 │ │ ├── account_error 错误码 │ │ ├── database 数据库基础代码 │ │ ├── log 打印日志代码 │ │ ├── perf_stat 性能统计 │ │ └── test 共通模块测试代码 │ ├── ohosaccount 云帐号kit代码 │ │ ├── native 应用帐号kit头文件的实现 │ │ └── test 应用帐号kit测试 │ └── osaccount 本地帐号kit代码 │ ├── core 本地帐号ipc │ └── native 本地帐号内部接口 ├── interfaces 对外公开的API │ ├── innerkits 内部模块头文件 │ │ ├── appaccount 应用帐号内部头文件 │ │ ├── ohosaccount 云帐号内部头文件 │ │ └── osaccount 本地帐号内部头文件 │ └── kits 内部框架 │ └── napi 系统帐号组件开发框架 ├── sa_profile 帐号SA配置文件定义目录 ├── services 服务代码 │ ├── accountmgr 系统帐号组件服务代码 │ │ ├── include 系统帐号组件服务代码头文件 │ │ ├── src 系统帐号组件服务代码头文件的实现 │ │ └── test 系统帐号组件服务代码测试 └── test 测试代码 └── resource 测试资源文件 ``` ## 说明 ### 接口说明 #### 1,分布式帐号 分布式帐号的功能主要包括查询和更新帐号登录状态,仅支持系统应用。 **表 1** 分布式帐号模块说明

模块名

描述

distributedAccount

提供分布式帐号模块管理方法

**表 2** 分布式帐号类说明

类名

描述

DistributedAccountAbility

提供查询和更新分布式帐号登录状态方法

DistributedInfo

提供分布式帐号信息,主要包括帐号名、帐号UID和帐号登录状态。

**表 3** 分布式帐号模块方法说明

方法

描述

function getDistributedAccountAbility(): DistributedAccountAbility

获取分布式帐号单实例对象

**表 4** DistributedAccountAbility方法说明

方法

描述

queryOsAccountDistributedInfo(callback: AsyncCallback<DistributedInfo>): void

查询分布式帐号信息

queryOsAccountDistributedInfo(): Promise<DistributedInfo>

查询分布式帐号信息

updateOsAccountDistributedInfo(accountInfo: DistributedInfo, callback: AsyncCallback<boolean>): void

更新分布式帐号信息

updateOsAccountDistributedInfo(accountInfo: DistributedInfo): Promise<boolean>

更新分布式帐号信息

#### 2,应用帐号 应用帐号的主要功能包括应用帐号的添加、删除,查询,修改,授权等功能,提供帐号数据落盘和数据同步的能力。 **表 1** 应用帐号模块说明

模块名

描述

appAccount

提供应用帐号模块管理方法

**表 2** 应用帐号类说明

类名

描述

AppAccountManager

提供查询、增加、删除、授权等应用帐号相关方法

AppAccountInfo

提供应用帐号信息,包括应用帐号名称,所属包名。

**表 3** 应用帐号模块方法说明

方法

描述

function createAppAccountManager(): AppAccountManager

获取应用帐号单实例对象

**表 4** AppAccountManager方法说明

方法

描述

addAccount(name: string, callback: AsyncCallback): void;

添加应用帐号

deleteAccount(name: string, callback: AsyncCallback): void;

删除应用帐号

enableAppAccess(name: string, bundleName: string, callback: AsyncCallback): void;

应用帐号信息访问授权

disableAppAccess(name: string, bundleName: string, callback: AsyncCallback): void;

应用帐号信息访问取消授权

checkAppAccountSyncEnable(name: string, callback: AsyncCallback): void;

检查应用帐号同步状态

setAccountCredential(name: string, credentialType: string, credential: string,callback: AsyncCallback): void;

设置应用帐号认证信息

setAccountExtraInfo(name: string, extraInfo: string, callback: AsyncCallback): void;

设置应用帐号附加信息

setAppAccountSyncEnable(name: string, isEnable: boolean, callback: AsyncCallback): void;

设置应用帐号同步状态

setAssociatedData(name: string, key: string, value: string, callback: AsyncCallback): void;

设置应用帐号关联数据

getAllAccessibleAccounts(callback: AsyncCallback <Array< AppAccountInfo>>): void;

查询授权过的应用帐号信息

getAllAccounts(owner: string, callback: AsyncCallback<Array<AppAccountInfo>>): void;

查询指定报名下应用帐号信息

getAccountCredential(name: string, credentialType: string, callback: AsyncCallback): void;

查询应用帐号认证信息

getAccountExtraInfo(name: string, callback: AsyncCallback): void;

查询应用帐号附加信息

getAssociatedData(name: string, key: string, callback: AsyncCallback): void;

查询应用帐号关联信息

on(type: 'change', owners: Array, callback: Callback<Array<AppAccountInfo>>): void;

订阅应用帐号信息变化

off(type: 'change', callback?: Callback<void>): void;

取消订阅应用帐号信息变化

## 相关仓 帐号子系统 **account\_os\_account**