# account_os_account **Repository Path**: zero-cyc/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**: 338 - **Created**: 2022-01-20 - **Last Updated**: 2022-01-25 ## 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>): void;

添加应用帐号

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

删除应用帐号

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

应用帐号信息访问授权

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

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

checkAppAccountSyncEnable(name: string, callback: AsyncCallback<boolean>): void;

检查应用帐号同步状态

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

设置应用帐号认证信息

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

设置应用帐号附加信息

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

设置应用帐号同步状态

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

设置应用帐号关联数据

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

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

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

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

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

查询应用帐号认证信息

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

查询应用帐号附加信息

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

查询应用帐号关联信息

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

订阅应用帐号信息变化

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

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

#### 3,本地帐号 本地帐号的主要功能包括本地帐号的添加、删除,查询,设置,订阅,启动等功能,提供本地帐号数据落盘的能力。 **表 1** 本地帐号模块说明

模块名

描述

osAccount

提供本地帐号模块管理方法

**表 2** 本地帐号类说明

类名

描述

AccountManager

提供查询、增加、删除、启动本地帐号等相关方法

OsAccountInfo

提供本地帐号信息,包括本地帐号名称,ID等属性。

**表 3** 本地帐号模块方法说明

方法

描述

function getAccountManager(): AccountManager

获取本地帐号单实例对象

**表 4** AccountManager方法说明

方法

描述

activateOsAccount(localId: number, callback: AsyncCallback<void>): void;

激活本地帐号

isMultiOsAccountEnable(callback: AsyncCallback<boolean>): void;

查询是否支持本地多帐号

isOsAccountActived(localId: number, callback: AsyncCallback<boolean>): void;

是否当前本地帐号是激活状态

isOsAccountConstraintEnable(localId: number, constraint: string, callback: AsyncCallback<boolean>): void;

查询该本地帐号是否具有指定约束

isTestOsAccount(callback: AsyncCallback<boolean>): void;

当前本地帐户是否是测试帐户

isOsAccountVerified(localId: number, callback: AsyncCallback<boolean>): void;

指定本地帐户是否解锁

removeOsAccount(localId: number, callback: AsyncCallback<void>): void;

删除本地帐户

setOsAccountConstraints(localId: number, constraints: Array<string>, enable: boolean,callback: AsyncCallback<void>): void;

设置本地帐户约束

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

设置应用帐号关联数据

setOsAccountName(localId: number, localName: string, callback: AsyncCallback<void>): void;

修改本地帐户名称

getCreatedOsAccountsCount(callback: AsyncCallback<number>): void;

查询创建本地帐号数量

getOsAccountLocalIdFromProcess(callback: AsyncCallback<number>): void;

查询当前进程的本地用户ID

getOsAccountLocalIdFromUid(uid: number, callback: AsyncCallback<number>): void;

查询指定本地帐号的用户ID

queryMaxOsAccountNumber(callback: AsyncCallback<number>): void;

查询可创建本地帐号的最大数量/p>

getOsAccountAllConstraints(localId: number, callback: AsyncCallback<Array<string>>): void;

订查询指定本地帐号的全部约束

queryAllCreatedOsAccounts(callback: AsyncCallback<Array<OsAccountInfo>>): void;

查询创建的全部本地帐号信息

createOsAccount(localName: string, type: OsAccountType, callback: AsyncCallback<OsAccountInfo>): void;

创建本地帐号

queryCurrentOsAccount(callback: AsyncCallback<OsAccountInfo>): void;

查询当前本地帐号信息

queryOsAccountById(localId: number, callback: AsyncCallback<OsAccountInfo>): void;

查询指定本地帐号信息

getOsAccountTypeFromProcess(callback: AsyncCallback<OsAccountType>): void;

查询当前帐号TYPE

getDistributedVirtualDeviceId(callback: AsyncCallback<string>): void;

查询分布式虚拟设备ID

getOsAccountProfilePhoto(localId: number, callback: AsyncCallback<string>): void;

获取当前本地帐号头像

setOsAccountProfilePhoto(localId: number, photo: string, callback: AsyncCallback<void>): void;

设置当前本地帐户头像

getOsAccountLocalIdBySerialNumber(serialNumber: number, callback: AsyncCallback<number>): void;

通过帐号SN码获取本地帐号ID

getSerialNumberByOsAccountLocalId(localId: number, callback: AsyncCallback<number>): void;

通过本地帐号ID获取帐号SN码

on(type: 'activate' | 'activating', name: string, callback: Callback<number>): void;

本地帐号订阅

off(type: 'activate' | 'activating', name: string, callback?: Callback<number>): void;

本地帐号取消订阅

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