diff --git a/zh-cn/application-dev/database/database-relational-guidelines.md b/zh-cn/application-dev/database/database-relational-guidelines.md index 127fa0bae8e4a437f27d02262d388d22ff7a1ba5..bd24f69f5010c98ba648ea476414beff15c29a83 100644 --- a/zh-cn/application-dev/database/database-relational-guidelines.md +++ b/zh-cn/application-dev/database/database-relational-guidelines.md @@ -76,6 +76,8 @@ | 类名 | 接口名 | 描述 | | -------- | -------- | -------- | +| RdbPredicates |inDevices(devices: Array): RdbPredicates | 同步分布式数据库时指定组网内的远程设备。
- devices:组网内指定的远程设备ID。
- RdbPredicates:返回与指定字段匹配的谓词。 | +| RdbPredicates |inAllDevices(): RdbPredicates | 同步分布式数据库时连接到组网内的所有远程设备。
- RdbPredicates:返回与指定字段匹配的谓词。 | | RdbPredicates | equalTo(field: string, value: ValueType): RdbPredicates | 配置谓词以匹配数据字段为ValueType且值等于指定值的字段。
- field:数据库表中的列名。
- value:指示要与谓词匹配的值。
- RdbPredicates:返回与指定字段匹配的谓词。 | | RdbPredicates | notEqualTo(field: string, value: ValueType): RdbPredicates | 配置谓词以匹配数据字段为ValueType且值不等于指定值的字段。
- field:数据库表中的列名。
- value:指示要与谓词匹配的值。
- RdbPredicates:返回与指定字段匹配的谓词。 | | RdbPredicates | beginWrap(): RdbPredicates | 向谓词添加左括号。
- RdbPredicates:返回带有左括号的谓词。 | @@ -145,6 +147,54 @@ | RdbStore | changeEncryptKey(newEncryptKey:Uint8Array, callback: AsyncCallback<number>):void; | 数据库更改秘钥接口,通过callback 可以异步处理返回结果。返回结果0成功,非0失败。 | | RdbStore | changeEncryptKey(newEncryptKey:Uint8Array): Promise<number>; | 数据库更改秘钥接口,通过await 可以同步处理返回结果。返回结果0成功,非0失败。 | +**设置分布式列表。** + +用户可以对当前数据库中的列表设置为分布式列表。 + +**表9** 设置分布式列表 + +| 类名 | 接口名 | 描述 | +| -------- | -------- | -------- | +| RdbStore | setDistributedTables(tables: Array, callback: AsyncCallback): void;| 设置分布式列表,结果以callback形式返回。
- tables:要设置的分布式列表表名。
- callback:指定callback回调函数。 | +| RdbStore | setDistributedTables(tables: Array): Promise; | 设置分布式列表,结果以Promise形式返回。
- tables:要设置的分布式列表表名。 | + +**根据本地表名获取指定远程设备的分布式表名。** + +用户根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名。 + +**表10** 根据本地表名获取指定远程设备的分布式表名 + +| 类名 | 接口名 | 描述 | +| -------- | -------- | -------- | +| RdbStore | obtainDistributedTableName(device: string, table: string, callback: AsyncCallback): void; | 根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名, 结果以callbck形式返回。
- device:远程设备。
- table:本地表名。
- callback:指定的callback回调函数,如果操作成功,返回远程设备的分布式表名。 | +| RdbStore | obtainDistributedTableName(device: string, table: string): Promise; | 根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,结果以Promise形式返回。
- device:远程设备。
- table:本地表名。 | + +**在设备之间同步数据。** + +**表11** 在设备之间同步数据 + +| 类名 | 接口名 | 描述 | +| -------- | -------- | -------- | +| RdbStore | sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback>): void;| 在设备之间同步数据,结果以callback形式返回。
- mode:指同步模式。SYNC_MODE_PUSH 表示数据从本地设备推送到远程设备;SYNC_MODE_PULL 表示数据从远程设备拉至本地设备。
- predicates:约束同步数据和设备。
- callback:指定的callback回调函数,string:设备ID;number:每个设备同步状态,0表示成功,其他值表示失败。 | +| RdbStore | sync(mode: SyncMode, predicates: RdbPredicates): Promise>;| 在设备之间同步数据,结果以Promise形式返回。
- mode:指同步模式。SYNC_MODE_PUSH 表示数据从本地设备推送到远程设备;SYNC_MODE_PULL 表示数据从远程设备拉至本地设备。
- predicates:约束同步数据和设备。 | + + +**注册数据库的观察者。** + +**表12** 注册数据库的观察者 + +| 类名 | 接口名 | 描述 | +| -------- | -------- | -------- | +| RdbStore |on(event: 'dataChange', type: SubscribeType, observer: Callback>): void;| 注册数据库的观察者。当分布式数据库中的数据发生更改时,将调用回调。
- type:指在{@code SubscribeType}中定义的订阅类型;SUBSCRIBE_TYPE_REMOTE 订阅远程数据更改。
- observer:指分布式数据库中数据更改事件的观察者。 | + +**从数据库中删除指定类型的指定观察者。** + +**表13** 从数据库中删除指定类型的指定观察者 + +| 类名 | 接口名 | 描述 | +| -------- | -------- | -------- | +| RdbStore |off(event:'dataChange', type: SubscribeType, observer: Callback>): void;| 从数据库中删除指定类型的指定观察者,结果以callbck形式返回。。
- type:指在{@code SubscribeType}中定义的订阅类型;SUBSCRIBE_TYPE_REMOTE 订阅远程数据更改。
- observer:指已注册的数据更改观察者。 | + ## 开发步骤 @@ -198,3 +248,69 @@ resultSet.close() ``` + +4. 设置分布式同步表。 + 1. 数据库调用接口设置分布式同步列表。 + 2. 判断是否设置成功。 + + 示例代码如下: + + ``` + let promise = rdbStore.setDistributedTables(["test"]) + promise.then(() => { + console.info("setDistributedTables success.") + }).catch((err) => { + console.info("setDistributedTables failed."") + }) + ``` + + 5. 分布式数据同步。 + 1. 构造用于同步分布式表的谓词对象,指定组网内的远程设备。 + 2. 调用同步数据的接口 。 + 3. 判断是否数据同步成功。 + + 示例代码如下: + + ``` + let predicate = new dataRdb.RdbPredicates('test') + predicate.inDevices(['12345678abcde']) + let promise = rdbStore.sync(rdb.SyncMode.SYNC_MODE_PUSH, predicate) + promise.then(result) { + console.log('sync done.') + for (let i = 0; i < result.length; i++) { + console.log('device=' + result[i][0] + ' status=' + result[i][1]) + } + }).catch((err) => { + console.log('sync failed') + }) + ``` + +6. 分布式数据订阅。 + 1. 调用分布式数据订阅接口,注册数据库的观察者。 + 2. 当分布式数据库中的数据发生更改时,将调用回调。 + + 示例代码如下: + + ``` + function storeObserver(devices) { + for (let i = 0; i < devices.length; i++) { + console.log('device=' + device[i] + ' data changed') + } + } + try { + rdbStore.on('dataChange', rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver) + } catch (err) { + console.log('register observer failed') + } + ``` + +7. 跨设备查询。 + 1. 根据本地表名获取指定远程设备的分布式表名。 + 2. 调用结果集接口,返回查询结果。 + + 示例代码如下: + + ``` + let tableName = rdbStore.obtainDistributedTableName(deviceId, "test"); + let resultSet = rdbStore.querySql("SELECT * FROM " + tableName) + ``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/Readme-CN.md b/zh-cn/application-dev/reference/apis/Readme-CN.md index b67e88c1cf44f5a7d3ac50c5dd5b6ea71cb1dcea..2a2f11b15669dc859e83283290be8b17e0f58b68 100644 --- a/zh-cn/application-dev/reference/apis/Readme-CN.md +++ b/zh-cn/application-dev/reference/apis/Readme-CN.md @@ -22,7 +22,8 @@ - [用户认证](js-apis-useriam-userauth.md) - [访问控制](js-apis-abilityAccessCtrl.md) - 数据管理 - - [轻量级存储](js-apis-data-storage.md) + - [轻量级存储](js-apis-data-preferences.md) + - [轻量级存储(废弃 since 8)](js-apis-data-storage.md) - [分布式数据管理](js-apis-distributed-data.md) - [关系型数据库](js-apis-data-rdb.md) - [结果集](js-apis-data-resultset.md) @@ -36,6 +37,7 @@ - [应用空间统计](js-apis-storage-statistics.md) - [卷管理](js-apis-volumemanager.md) - 账号管理 + - [系统帐号管理](js-apis-osAccount.md) - [分布式帐号管理](js-apis-distributed-account.md) - [应用帐号管理](js-apis-appAccount.md) - 电话服务 diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md b/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md new file mode 100644 index 0000000000000000000000000000000000000000..543b429ce1ace53f963f89f2bf36a599690d8696 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-data-preferences.md @@ -0,0 +1,625 @@ +# 轻量级存储 + +轻量级存储为应用提供key-value键值型的文件数据处理能力,支持应用对数据进行轻量级存储及查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型。 + + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## 导入模块 + +``` +import data_Preferences from '@ohos.data.preferences' +``` + +## 属性 + +| 名称 | 参数类型 | 可读 | 可写 | 说明 | +| -------- | -------- | -------- | -------- | -------- | +| MAX_KEY_LENGTH | string | 是 | 否 | key的最大长度限制,大小为80字节。
**系统能力**:SystemCapability.DistributedDataManager.Preferences.Core | +| MAX_VALUE_LENGTH | string | 是 | 否 | string类型value的最大长度限制,大小为8192字节。
**系统能力**:SystemCapability.DistributedDataManager.Preferences.Core | + + +## data_Preferences.getPreferences + +### 系统能力 +SystemCapability.DistributedDataManager.Preferences.Core + +getPreferences(context: Context, name: string, callback: AsyncCallback<Preferences>): void + +读取指定文件,将数据加载到Preferences实例,用于数据操作,使用callback形式返回结果。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | context | Context | 是 | 应用程序或功能的上下文 | + | name | string | 是 | 应用程序内部数据存储名称。 | + | callback | AsyncCallback<[Preferences](#preferences)> | 是 | 回调函数。 | + +- 示例: + ``` + import Ability from '@ohos.application.Ability' + import data_Preferences from '@ohos.data.preferences' + var path = await this.context.getDataBaseDir() + data_Preferences.getPreferences(this.context, 'mystore', function (err, preferences) { + if (err) { + console.info("Get the preferences failed, path: " + path + '/mystore') + return; + } + preferences.putSync('startup', 'auto') + preferences.flushSync() + }) + ``` + + +## data_Preferences.getPreferences + +### 系统能力 +SystemCapability.DistributedDataManager.Preferences.Core + +getPreferences(context: Context, name: string): Promise<Preferences> + +读取指定文件,将数据加载到Preferences实例,用于数据操作,使用Promise方式作为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | context | Context | 是 | 应用程序或功能的上下文 | + | name | string | 是 | 应用程序内部数据存储名称。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<[Preferences](#preferences)> | Promise实例,用于异步获取结果。 | + +- 示例: + ``` + import Ability from '@ohos.application.Ability' + import data_Preferences from '@ohos.data.preferences' + var path = await this.context.getDataBaseDir() + let promise = data_Preferences.getPreferences(this.context, 'mystore') + promise.then((preferences) => { + preferences.putSync('startup', 'auto') + preferences.flushSync() + }).catch((err) => { + console.info("Get the preferences failed, path: " + path + '/mystore') + }) + ``` + + +## data_Preferences.deletePreferences + +### 系统能力 +SystemCapability.DistributedDataManager.Preferences.Core + +deletePreferences(context: Context, name: string, callback: AsyncCallback<void>) + +从内存中移除指定文件对应的Preferences单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题,使用callback方式作为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | context | Context | 是 | 应用程序或功能的上下文 | + | name | string | 是 | 应用程序内部数据存储名称。 | + | callback | AsyncCallback<void> | 是 | 回调函数。 | + +- 示例: + ``` + import Ability from '@ohos.application.Ability' + import data_Preferences from '@ohos.data.preferences' + data_Preferences.deletePreferences(this.context, 'mystore', function (err) { + if (err) { + console.info("Deleted failed with err: " + err) + return + } + console.info("Deleted successfully.") + }) + ``` + + +## data_Preferences.deletePreferences + +### 系统能力 +SystemCapability.DistributedDataManager.Preferences.Core + +deletePreferences(context: Context, name: string): Promise<void> + +从内存中移除指定文件对应的Preferences单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题,使用promise方式作为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | context | Context | 是 | 应用程序或功能的上下文 | + | name | string | 是 | 应用程序内部数据存储名称。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<void> | Promise实例,用于异步获取结果。 | + +- 示例: + ``` + import Ability from '@ohos.application.Ability' + import data_Preferences from '@ohos.data.preferences' + let promise = data_Preferences.deletePreferences(this.context, 'mystore') + promise.then(() => { + console.info("Deleted successfully.") + }).catch((err) => { + console.info("Deleted failed with err: " + err) + }) + ``` + + +## data_Preferences.removePreferencesFromCache + +### 系统能力 +SystemCapability.DistributedDataManager.Preferences.Core + +removePreferencesFromCache(context: Context, name: string, callback: AsyncCallback<Preferences>): void + +从内存中移除指定文件对应的Preferences单实例。移除Preferences单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。 + +此方法为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | context | Context | 是 | 应用程序或功能的上下文 | + | name | string | 是 | 应用程序内部数据存储名称。 | + | callback | AsyncCallback<[Preferences](#preferences)> | 是 | 回调函数。 | + +- 示例: + ``` + import Ability from '@ohos.application.Ability' + import data_Preferences from '@ohos.data.preferences' + data_Preferences.removePreferencesFromCache(this.context, 'mystore', function (err) { + if (err) { + console.info("Removed preferences from cache failed with err: " + err) + return + } + console.info("Removed preferences from cache successfully.") + }) + ``` + + +## data_Preferences.removePreferencesFromCache + +### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +removePreferencesFromCache(context: Context, name: string): Promise<void> + +从内存中移除指定文件对应的Preferences单实例。移除Preferences单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。 + +此方法为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | context | Context | 是 | 应用程序或功能的上下文 | + | name | string | 是 | 应用程序内部数据存储名称。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<void> | Promise实例,用于异步获取结果。 | + +- 示例: + ``` + import Ability from '@ohos.application.Ability' + import data_Preferences from '@ohos.data.preferences' + let promise = data_Preferences.removePreferencesFromCache(this.context, 'mystore') + promise.then(() => { + console.info("Removed preferences from cache successfully.") + }).catch((err) => { + console.info("Removed preferences from cache failed with err: " + err) + }) + ``` + + +## Preferences + +提供获取和修改存储数据的接口。 + + +### get + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +get(key: string, defValue: ValueType, callback: AsyncCallback<ValueType>): void + +获取键对应的值,如果值为null或者非默认值类型,返回默认数据。 + +此方法为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要获取的存储key名称。它不能为空。 | + | defValue | ValueType | 是 | 默认返回值。支持number、string、boolean。 | + | callback | AsyncCallback<ValueType> | 是 | 回调函数。 | + +- 示例: + ``` + preferences.get('startup', 'default', function(err, value) { + if (err) { + console.info("Get the value of startup failed with err: " + err) + return + } + console.info("The value of startup is " + value) + }) + ``` + + +### get + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +get(key: string, defValue: ValueType): Promise<ValueType> + +获取键对应的值,如果值为null或者非默认值类型,返默认数据。 + +此方法为异步方法。 + +- **参数:** + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要获取的存储key名称。它不能为空。 | + | defValue | ValueType | 是 | 默认返回值。支持number、string、boolean。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<ValueType> | Promise实例,用于异步获取结果。 | + +- 示例: + ``` + let promise = preferences.get('startup', 'default') + promise.then((value) => { + console.info("The value of startup is " + value) + }).catch((err) => { + console.info("Get the value of startup failed with err: " + err) + }) + ``` + + +### put + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +put(key: string, value: ValueType, callback: AsyncCallback<void>): void + +首先获取指定文件对应的Preferences实例,然后借助Preferences API将数据写入Preferences实例,通过flush或者flushSync将Preferences实例持久化。 + +此方法为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要修改的存储的key。它不能为空。 | + | value | ValueType | 是 | 存储的新值。支持number、string、boolean。 | + | callback | AsyncCallback<void> | 是 | 回调函数。 | + +- 示例: + ``` + preferences.put('startup', 'auto', function (err) { + if (err) { + console.info("Put the value of startup failed with err: " + err) + return + } + console.info("Put the value of startup successfully.") + }) + ``` + + +### put + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +put(key: string, value: ValueType): Promise<void> + +首先获取指定文件对应的Preferences实例,然后借助Preferences API将数据写入Preferences实例,通过flush或者flushSync将Preferences实例持久化。 + +此方法为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要修改的存储的key。它不能为空。 | + | value | ValueType | 是 | 存储的新值。支持number、string、boolean。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<void> | Promise实例,用于异步处理。 | + +- 示例: + ``` + let promise = preferences.put('startup', 'auto') + promise.then(() => { + console.info("Put the value of startup successfully.") + }).catch((err) => { + console.info("Put the value of startup failed with err: " + err) + }) + ``` + + +### has + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +has(key: string, callback: AsyncCallback<boolean>): boolean + +检查存储对象是否包含名为给定key的存储。 + +此方法为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要获取的存储key名称,不能为空。 | + | callback | AsyncCallback<boolean> | 是 | 回调函数。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | boolean | true表示存在,false表示不存在。 | + +- 示例: + ``` + preferences.has('startup', function (err, isExist) { + if (err) { + console.info("Check the key of startup failed with err: " + err) + return + } + if (isExist) { + console.info("The key of startup is contained.") + } + }) + ``` + + +### has + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +has(key: string): Promise<boolean> + +检查存储对象是否包含名为给定key的存储。 + +此方法为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要获取的存储key名称。它不能为空。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<boolean> | Promise实例,用于异步处理。 | + +- 示例: + ``` + let promise = preferences.has('startup') + promise.then((isExist) => { + if (isExist) { + console.info("The key of startup is contained.") + } + }).catch((err) => { + console.info("Check the key of startup failed with err: " + err) + }) + ``` + + +### delete + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +delete(key: string, callback: AsyncCallback<void>): void + +从存储对象中删除名为给定key的存储。 + +此方法为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要获取的存储key名称,不能为空。 | + | callback | AsyncCallback<void> | 是 | 回调函数。 | + +- 示例: + ``` + preferences.delete('startup', function (err) { + if (err) { + console.info("Delete startup key failed with err: " + err) + return + } + console.info("Deleted startup key successfully.") + }) + ``` + + +### delete + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +delete(key: string): Promise<void> + +从存储对象删除名为给定key的存储。 + +此方法为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | key | string | 是 | 要获取的存储key名称。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<void> | Promise实例,用于异步处理。 | + +- 示例: + ``` + let promise = preferences.delete('startup') + promise.then(() => { + console.info("Deleted startup key successfully.") + }).catch((err) => { + console.info("Delete startup key failed with err: " + err) + }) + ``` + + +### flush + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +flush(callback: AsyncCallback<void>): void + +将当前preferences对象中的修改保存到当前的preferences,并异步存储到文件中。 + +此方法为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | callback | AsyncCallback<void> | 是 | 回调函数。 | + +- 示例: + ``` + preferences.flush(function (err) { + if (err) { + console.info("Flush to file failed with err: " + err) + return + } + console.info("Flushed to file successfully.") + }) + ``` + + +### flush + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +flush(): Promise<void> + +将当前preferences对象中的修改保存到当前的preferences,并异步存储到文件中。 + +此方法为异步方法。 + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<void> | Promise实例,用于异步处理。 | + +- 示例: + ``` + let promise = preferences.flush() + promise.then(() => { + console.info("Flushed to file successfully.") + }).catch((err) => { + console.info("Flush to file failed with err: " + err) + }) + ``` + + +### clear + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +clear(callback: AsyncCallback<void>): void + +清除此存储对象中的所有存储。 + +此方法为异步方法。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | callback | AsyncCallback<void> | 是 | 回调函数。 | + +- 示例: + ``` + preferences.clear(function (err) { + if (err) { + console.info("Clear to file failed with err: " + err) + return + } + console.info("Cleared to file successfully.") + }) + ``` + + +### clear + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +clear(): Promise<void> + +清除此存储对象中的所有存储。 + +此方法为异步方法。 + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<void> | Promise实例,用于异步处理。 | + +- 示例: + ``` + let promise = preferences.clear() + promise.then(() => { + console.info("Cleared to file successfully.") + }).catch((err) => { + console.info("Clear to file failed with err: " + err) + }) + ``` + + +### on('change') + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +on(type: 'change', callback: Callback<{ key : string }>): void + +订阅数据变更者类,订阅的key的值发生变更后,在执行flush方法后,callback方法会被回调。 + +- 参数: + | 参数名 | 类型 | 说明 | + | -------- | -------- | -------- | + | type | string | 事件类型,固定值'change',表示数据变更。 | + | callback | Callback<{ key : string }> | 回调对象实例。 | + +- 示例: + ``` + var observer = function (key) { + console.info("The key of " + key + " changed.") + } + preferences.on('change', observer) + preferences.put('startup', 'auto') + preferences.flush() // observer will be called. + ``` + + +### off('change') + +#### 系统能力 SystemCapability.DistributedDataManager.Preferences.Core + +off(type: 'change', callback: Callback<{ key : string }>): void + +当不再进行订阅数据变更时,使用此接口取消订阅。 + +- 参数: + | 参数名 | 类型 | 说明 | + | -------- | -------- | -------- | + | type | string | 事件类型,固定值'change',表示数据变更。 | + | callback | Callback<{ key : string }> | 需要取消的回调对象实例。 | + +- 示例: + ``` + var observer = function (key) { + console.info("The key of " + key + " changed.") + } + preferences.off('change', observer) + ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md b/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md index 9a4cb242e267981120a2ac24a7807486c49ba002..a9cae3a9fcbdbe15657420e851386937e7438b23 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md @@ -152,6 +152,48 @@ constructor(name: string) let predicates = new data_rdb.RdbPredicates("EMPLOYEE") ``` +### inDevices + +inDevices(devices: Array): RdbPredicates; + + +同步分布式数据库时指定组网内的远程设备。 + + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | devices | Array | 是 | 指定的组网内的远程设备ID。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | + +- 示例: + ``` + let predicates = new data_rdb.RdbPredicates("EMPLOYEE") + predicate.inDevices(['12345678abcde']) + ``` + +### inAllDevices + +inAllDevices(): RdbPredicates; + + +同步分布式数据库时连接到组网内的所有远程设备。 + + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | [RdbPredicates](#rdbpredicates) | 返回与指定字段匹配的谓词。 | + +- 示例: + ``` + let predicates = new data_rdb.RdbPredicates("EMPLOYEE") + predicates.inAllDevices() + ``` ### equalTo @@ -1183,6 +1225,224 @@ executeSql(sql: string, bindArgs?: Array<ValueType>):Promise<void> promise.then(() => { console.info(TAG + 'delete done.')}) ``` + +### setDistributedTables + +setDistributedTables(tables: Array, callback: AsyncCallback): void; + +设置分布式列表,结果以callbck形式返回。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | tables | Array | 是 | 要设置的分布式列表表名 | + | callback | AsyncCallback<void> | 是 | 指定callback回调函数。 | + +- 示例: + ``` + rdbStore.setDistributedTables(["EMPLOYEE"], function (err) { + if (err) { + console.info('setDistributedTables failed.') + return + } + console.info('setDistributedTables success.') + }) + ``` + + +### setDistributedTables + + setDistributedTables(tables: Array): Promise; + +设置分布式列表,结果以Promise形式返回。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | tables | Array | 是 | 要设置的分布式列表表名。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<void> | 指定Promise回调函数。 | + +- 示例: + ``` + let promise = rdbStore.setDistributedTables(["EMPLOYEE"]) + promise.then(() => { + console.info("setDistributedTables success.") + }).catch((err) => { + console.info("setDistributedTables failed."") + }) + ``` + +### obtainDistributedTableName + +obtainDistributedTableName(device: string, table: string, callback: AsyncCallback): void; + +根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名, 结果以callbck形式返回。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | device | string | 是 | 远程设备 。| + | table | string | 是 | 本地表名。 | + | callback | AsyncCallback<string> | 是 | 指定的callback回调函数。如果操作成功,返回远程设备的分布式表名。 | + +- 示例: + ``` + rdbStore.obtainDistributedTableName(deviceId, "EMPLOYEE", function (err, tableName) { + if (err) { + console.info('obtainDistributedTableName failed.') + return + } + console.info('obtainDistributedTableName success, tableName=.' + tableName) + }) + ``` + + +### obtainDistributedTableName + + obtainDistributedTableName(device: string, table: string): Promise; + +根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,结果以Promise形式返回。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | device | string | 是 | 远程设备。 | + | table | string | 是 | 本地表名。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<string> | 指定Promise回调函数。如果操作成功,返回远程设备的分布式表名。 | + +- 示例: + ``` + let promise = rdbStore.obtainDistributedTableName(deviceId, "EMPLOYEE") + promise.then((tableName) => { + console.info('obtainDistributedTableName success, tableName=' + tableName) + }).catch((err) => { + console.info('obtainDistributedTableName failed.') + }) + ``` + +### sync + +sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback>): void; + +在设备之间同步数据, 结果以callbck形式返回。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | mode | SyncMode | 是 | 指同步模式。该值可以是推、拉。 | + | predicates | RdbPredicates | 是 | 约束同步数据和设备。 | + | callback | AsyncCallback<Array<[string, number]>> | 是 | 指定的callback回调函数,用于向调用者发送同步结果。string:设备ID;number:每个设备同步状态,0表示成功,其他值表示失败。| + +- 示例: + ``` + let predicate = new rdb.RdbPredicates('EMPLOYEE') + predicate.inDevices(['12345678abcde']) + rdbStore.sync(rdb.SyncMode.SYNC_MODE_PUSH, predicate, function (err, result) { + if (err) { + console.log('sync failed') + return + } + console.log('sync done.') + for (let i = 0; i < result.length; i++) { + console.log('device=' + result[i][0] + ' status=' + result[i][1]) + } + }) + ``` + + +### sync + + sync(mode: SyncMode, predicates: RdbPredicates): Promise>; + +在设备之间同步数据,结果以Promise形式返回。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | mode | SyncMode | 是 | 指同步模式。该值可以是推、拉。 | + | predicates | RdbPredicates | 是 | 约束同步数据和设备。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<Array<[string, number]>> | 指定Promise回调函数,用于向调用者发送同步结果。string:设备ID;number:每个设备同步状态,0表示成功,其他值表示失败。 | + +- 示例: + ``` + let predicate = new rdb.RdbPredicates('EMPLOYEE') + predicate.inDevices(['12345678abcde']) + let promise = rdbStore.sync(rdb.SyncMode.SYNC_MODE_PUSH, predicate) + promise.then(result) { + console.log('sync done.') + for (let i = 0; i < result.length; i++) { + console.log('device=' + result[i][0] + ' status=' + result[i][1]) + } + }).catch((err) => { + console.log('sync failed') + }) + ``` + +### on + +on(event: 'dataChange', type: SubscribeType, observer: Callback>): void; + +注册数据库的观察者。当分布式数据库中的数据发生更改时,将调用回调。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | type | SubscribeType | 是 | 指在{@code SubscribeType}中定义的订阅类型。 | + | observer | Callback> | 是 | 指分布式数据库中数据更改事件的观察者。 | + +- 示例: + ``` + function storeObserver(devices) { + for (let i = 0; i < devices.length; i++) { + console.log('device=' + device[i] + ' data changed') + } + } + try { + rdbStore.on('dataChange', rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver) + } catch (err) { + console.log('register observer failed') + } + ``` + +### off + +off(event:'dataChange', type: SubscribeType, observer: Callback>): void; + +从数据库中删除指定类型的指定观察者, 结果以callbck形式返回。 + +- 参数: + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | type | SubscribeType | 是 | 指在{@code SubscribeType}中定义的订阅类型。 | + | observer | Callback> | 是 | 指已注册的数据更改观察者。| + +- 示例: + ``` + function storeObserver(devices) { + for (let i = 0; i < devices.length; i++) { + console.log('device=' + device[i] + ' data changed') + } + } + try { + rdbStore.off('dataChange', rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver) + } catch (err) { + console.log('unregister observer failed') + } + ``` + + ## StoreConfig 管理关系数据库配置。 @@ -1211,3 +1471,21 @@ executeSql(sql: string, bindArgs?: Array<ValueType>):Promise<void> | 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | [key: string] | [ValueType](#valuetype)\| Uint8Array \| null | 是 | 用于存储键值对。 | + + +## SyncMode + +指数据库同步模式。 + +| 名称 | 说明 | +| -------- | -------- | +| SYNC_MODE_PUSH | 表示数据从本地设备推送到远程设备。 | +| SYNC_MODE_PULL | 表示数据从远程设备拉至本地设备。 | + +## SubscribeType + +描述订阅类型。 + +| 名称 | 说明 | +| -------- | -------- | +| SUBSCRIBE_TYPE_REMOTE | 订阅远程数据更改。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-storage.md b/zh-cn/application-dev/reference/apis/js-apis-data-storage.md index 36a5d185fc3bf69e4ea7ced2880a19dcd5623563..8c47d4e3531f3e22994791e2b625bfde70566387 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-storage.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-storage.md @@ -4,7 +4,7 @@ > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** -> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> 从API Version 8开始,该接口不再维护,推荐使用新接口 [@ohos.data.preferences](js-apis-data-preferences.md) ## 导入模块 @@ -26,7 +26,7 @@ SystemCapability.DistributedDataManager.Preferences.Core | MAX_VALUE_LENGTH | string | 是 | 否 | string类型value的最大长度限制,大小为8192字节。 | -## dataStorage.getStorageSync +## dataStorage.getStorageSync(deprecated) getStorageSync(path: string): Storage @@ -46,7 +46,7 @@ getStorageSync(path: string): Storage ``` import dataStorage from '@ohos.data.storage' import featureAbility from '@ohos.ability.featureAbility' - + var context = featureAbility.getContext() var path = await context.getFilesDir() let storage = dataStorage.getStorageSync(path + '/mystore') @@ -55,7 +55,7 @@ getStorageSync(path: string): Storage ``` -## dataStorage.getStorage +## dataStorage.getStorage(deprecated) getStorage(path: string, callback: AsyncCallback<Storage>): void @@ -71,7 +71,7 @@ getStorage(path: string, callback: AsyncCallback<Storage>): void ``` import dataStorage from '@ohos.data.storage' import featureAbility from '@ohos.ability.featureAbility' - + var context = featureAbility.getContext() var path = await context.getFilesDir() dataStorage.getStorage(path + '/mystore', function (err, storage) { @@ -85,7 +85,7 @@ getStorage(path: string, callback: AsyncCallback<Storage>): void ``` -## dataStorage.getStorage +## dataStorage.getStorage(deprecated) getStorage(path: string): Promise<Storage> @@ -105,7 +105,7 @@ getStorage(path: string): Promise<Storage> ``` import dataStorage from '@ohos.data.storage' import featureAbility from '@ohos.ability.featureAbility' - + var context = featureAbility.getContext() var path = await context.getFilesDir() let promise = dataStorage.getStorage(path + '/mystore') @@ -118,7 +118,7 @@ getStorage(path: string): Promise<Storage> ``` -## dataStorage.deleteStorageSync +## dataStorage.deleteStorageSync(deprecated) deleteStorageSync(path: string): void @@ -135,7 +135,7 @@ deleteStorageSync(path: string): void ``` -## dataStorage.deleteStorage +## dataStorage.deleteStorage(deprecated) deleteStorage(path: string, callback: AsyncCallback<void>) @@ -159,7 +159,7 @@ deleteStorage(path: string, callback: AsyncCallback<void>) ``` -## dataStorage.deleteStorage +## dataStorage.deleteStorage(deprecated) deleteStorage(path: string): Promise<void> @@ -186,7 +186,7 @@ deleteStorage(path: string): Promise<void> ``` -## dataStorage.removeStorageFromCacheSync +## dataStorage.removeStorageFromCacheSync(deprecated) removeStorageFromCacheSync(path: string): void @@ -205,7 +205,7 @@ removeStorageFromCacheSync(path: string): void ``` -## dataStorage.removeStorageFromCache +## dataStorage.removeStorageFromCache(deprecated) removeStorageFromCache(path: string, callback: AsyncCallback<Storage>): void @@ -231,7 +231,7 @@ removeStorageFromCache(path: string, callback: AsyncCallback<Storage>): vo ``` -## dataStorage.removeStorageFromCache +## dataStorage.removeStorageFromCache(deprecated) removeStorageFromCache(path: string): Promise<void> @@ -260,12 +260,12 @@ removeStorageFromCache(path: string): Promise<void> ``` -## Storage +## Storage(deprecated) 提供获取和修改存储数据的接口。 -### getSync +### getSync(deprecated) getSync(key: string, defValue: ValueType): ValueType @@ -291,7 +291,7 @@ getSync(key: string, defValue: ValueType): ValueType ``` -### get +### get(deprecated) get(key: string, defValue: ValueType, callback: AsyncCallback<ValueType>): void @@ -318,7 +318,7 @@ get(key: string, defValue: ValueType, callback: AsyncCallback<ValueType>): ``` -### get +### get(deprecated) get(key: string, defValue: ValueType): Promise<ValueType> @@ -348,7 +348,7 @@ get(key: string, defValue: ValueType): Promise<ValueType> ``` -### putSync +### putSync(deprecated) putSync(key: string, value: ValueType): void @@ -368,7 +368,7 @@ putSync(key: string, value: ValueType): void ``` -### put +### put(deprecated) put(key: string, value: ValueType, callback: AsyncCallback<void>): void @@ -395,7 +395,7 @@ put(key: string, value: ValueType, callback: AsyncCallback<void>): void ``` -### put +### put(deprecated) put(key: string, value: ValueType): Promise<void> @@ -425,7 +425,7 @@ put(key: string, value: ValueType): Promise<void> ``` -### hasSync +### hasSync(deprecated) hasSync(key: string): boolean @@ -452,7 +452,7 @@ hasSync(key: string): boolean ``` -### has +### has(deprecated) has(key: string, callback: AsyncCallback<boolean>): boolean @@ -485,7 +485,7 @@ has(key: string, callback: AsyncCallback<boolean>): boolean ``` -### has +### has(deprecated) has(key: string): Promise<boolean> @@ -516,7 +516,7 @@ has(key: string): Promise<boolean> ``` -### deleteSync +### deleteSync(deprecated) deleteSync(key: string): void @@ -535,7 +535,7 @@ deleteSync(key: string): void ``` -### delete +### delete(deprecated) delete(key: string, callback: AsyncCallback<void>): void @@ -561,7 +561,7 @@ delete(key: string, callback: AsyncCallback<void>): void ``` -### delete +### delete(deprecated) delete(key: string): Promise<void> @@ -590,7 +590,7 @@ delete(key: string): Promise<void> ``` -### flushSync +### flushSync(deprecated) flushSync(): void @@ -604,7 +604,7 @@ flushSync(): void ``` -### flush +### flush(deprecated) flush(callback: AsyncCallback<void>): void @@ -629,7 +629,7 @@ flush(callback: AsyncCallback<void>): void ``` -### flush +### flush(deprecated) flush(): Promise<void> @@ -653,7 +653,7 @@ flush(): Promise<void> ``` -### clearSync +### clearSync(deprecated) clearSync(): void @@ -667,7 +667,7 @@ clearSync(): void ``` -### clear +### clear(deprecated) clear(callback: AsyncCallback<void>): void @@ -692,7 +692,7 @@ clear(callback: AsyncCallback<void>): void ``` -### clear +### clear(deprecated) clear(): Promise<void> @@ -716,7 +716,7 @@ clear(): Promise<void> ``` -### on('change') +### on('change')(deprecated) on(type: 'change', callback: Callback<StorageObserver>): void @@ -739,7 +739,7 @@ on(type: 'change', callback: Callback<StorageObserver>): void ``` -### off('change') +### off('change')(deprecated) off(type: 'change', callback: Callback<StorageObserver>): void @@ -760,7 +760,7 @@ off(type: 'change', callback: Callback<StorageObserver>): void ``` -## StorageObserver +## StorageObserver(deprecated) | 名称 | 参数类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | diff --git a/zh-cn/application-dev/reference/apis/js-apis-osAccount.md b/zh-cn/application-dev/reference/apis/js-apis-osAccount.md new file mode 100644 index 0000000000000000000000000000000000000000..95c20f3b362c5801182deb043a5fecba20e6ee89 --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-osAccount.md @@ -0,0 +1,1597 @@ +# 系统帐号管理 + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + + +## 导入模块 + +``` +import account_osAccount from '@ohos.account.osAccount'; +``` + +## 系统能力 + +SystemCapability.Account.OsAccount + +## account_osAccount.getAccountManager + +getAccountManager(): AccountManager + +获取系统帐号能力的实例。 + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | [AccountManager](#accountmanager) | 获取系统帐号能力的实例。 | + +- 示例: + ``` + const accountManager = account_osAccount.getAccountManager(); + ``` + +## OsAccountType +枚举,系统帐号类型。 + | 参数 | 默认值 | 说明 | + | -------- | -------- | -------- | + | ADMIN | 0 | 管理员帐号。| + | NORMAL | 1 | 普通帐号。| + | GUEST | 2 | 访客帐号。| + +## AccountManager + +管理系统帐号能力的类。 + +### activateOsAccount + +activateOsAccount(localId: number, callback: AsyncCallback<void>): void + +激活指定系统帐号,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ------------------- | ---- | -------------------- | + | localId | number | 是 | 要激活的系统帐号ID。 | + | callback | AsyncCallback<void> | 是 | 回调结果。 | + +- 示例:激活ID为100的系统帐号 + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.activateOsAccount(localId, (err)=>{ + console.log("activateOsAccount err:" + JSON.stringify(err)); + }); + ``` + +### activateOsAccount + +activateOsAccount(localId: number): Promise<void> + +激活指定系统帐号,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------- | ------ | ---- | ------------ | + | localId | number | 是 | 要激活的系统帐号ID。 | + +- 返回值: + + | 类型 | 说明 | + | :------------ | :---------------------------------- | + | Promise<void> | Promise实例,用于获取异步返回结果。 | + +- 示例:激活ID为100的系统帐号 + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.activateOsAccount(localId).then(() => { + console.log("activateOsAccount success"); + }).catch((err) => { + console.log("activateOsAccount err:" + JSON.stringify(err)); + }); + ``` + +### isMultiOsAccountEnable + +isMultiOsAccountEnable(callback: AsyncCallback<boolean>): void + +判断是否支持多系统帐号,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ---------------------- | ---- | ------------------------------ | + | callback | AsyncCallback<boolean> | 是 | 回调结果,支持多系统帐号则返回true,否则返回false。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.isMultiOsAccountEnable((err, isEnabled) => { + console.log("isMultiOsAccountEnable err: " + JSON.stringify(err)); + console.log('isMultiOsAccountEnable isEnabled: ' + isEnabled); + }); + ``` + +### isMultiOsAccountEnable + +isMultiOsAccountEnable(): Promise<boolean> + +判断是否支持多系统帐号,使用Promise方式异步返回结果。 + +- 返回值: + + | 类型 | 说明 | + | :--------------- | :---------------------------------- | + | Promise<boolean> | Promise实例,用于获取异步返回结果,支持多系统帐号则返回true,否则返回false。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.isMultiOsAccountEnable().then((isEnabled) => { + console.log('isMultiOsAccountEnable, isEnabled: ' + isEnabled); + }).catch((err) => { + console.log("isMultiOsAccountEnable err: " + JSON.stringify(err)); + }); + ``` + +### isOsAccountActived + +isOsAccountActived(localId: number, callback: AsyncCallback<boolean>): void + +判断指定系统帐号是否处于激活状态,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ---------------------- | ---- | ------------------------------ | + | localId | number | 是 | 系统帐号ID。 | + | callback | AsyncCallback<boolean> | 是 | 回调结果,处于激活状态则返回true,否则返回false。 | + +- 示例:判断ID为100的系统帐号是否处于激活状态 + + ``` + const accountManager = account_osAccount.getAccountManager(); + var osLocalId = 100; + accountManager.isOsAccountActived(osLocalId, (err, isActive)=>{ + console.log("isOsAccountActived err:" + JSON.stringify(err)); + console.log("isOsAccountActived isActive:" + isActive); + }); + ``` + +### isOsAccountActived + +isOsAccountActived(localId: number): Promise<boolean> + +判断指定系统帐号是否处于激活状态,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------- | ------ | ---- | ------------ | + | localId | number | 是 | 系统帐号ID。 | + +- 返回值: + + | 类型 | 说明 | + | :--------------- | :---------------------------------- | + | Promise<boolean> | Promise实例,用于获取异步返回结果,处于激活状态则返回true,否则返回false。 | + +- 示例:判断ID为100的系统帐号是否处于激活状态 + + ``` + const accountManager = account_osAccount.getAccountManager(); + var osLocalId = 100; + accountManager.isOsAccountActived(osLocalId).then((isActive) => { + console.log('isOsAccountActived, isActive: ' + isActive); + }).catch((err) => { + console.log("isOsAccountActived err: " + JSON.stringify(err)); + }); + ``` + +### isOsAccountConstraintEnable + +isOsAccountConstraintEnable(localId: number, constraint: string, callback: AsyncCallback<boolean>): void + +判断指定系统帐号是否具有指定[约束](#系统帐号约束列表),使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ---------- | ---------------------- | ---- | ------------------------------ | + | localId | number | 是 | 指定的系统帐号ID。 | + | constraint | string | 是 | 指定的[约束](#系统帐号约束列表)名称。 | + | callback | AsyncCallback<boolean> | 是 | 回调结果,具有指定约束则返回true,否则返回false。 | + +- 示例:判断ID为100的系统帐号是否有禁止使用wifi的[约束](#系统帐号约束列表) + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.isOsAccountConstraintEnable(localId, "constraint.wifi", (err, isConstraintEnabled)=>{ + console.log("isOsAccountConstraintEnable err:" + JSON.stringify(err)); + console.log("isOsAccountConstraintEnable isConstraintEnabled:" + isConstraintEnabled); + }); + ``` + +### isOsAccountConstraintEnable + +isOsAccountConstraintEnable(localId: number, constraint: string): Promise<boolean> + +判断指定系统帐号是否具有指定[约束](#系统帐号约束列表),使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ---------- | ------ | ---- | ---------------- | + | localId | number | 是 | 指定的系统帐号ID。 | + | constraint | string | 是 | 指定的[约束](#系统帐号约束列表)名称。 | + +- 返回值: + + | 类型 | 说明 | + | :--------------- | :---------------------------------- | + | Promise<boolean> | Promise实例,用于获取异步返回结果,具有指定[约束](#系统帐号约束列表)则返回true,否则返回false。 | + +- 示例:判断ID为100的系统帐号是否有禁止使用wifi的[约束](#系统帐号约束列表) + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.isOsAccountConstraintEnable(localId, "constraint.wifi").then((isConstraintEnabled) => { + console.log('isOsAccountConstraintEnable, isConstraintEnabled: ' + isConstraintEnabled); + }).catch((err) => { + console.log("isOsAccountConstraintEnable err: " + JSON.stringify(err)); + }); + ``` + +### isTestOsAccount + +isTestOsAccount(callback: AsyncCallback<boolean>): void + +检查当前系统帐号是否为测试帐号,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ---------------------- | ---- | ------------------------------------------ | + | callback | AsyncCallback<boolean> | 是 | 回调结果,是测试帐号则返回true,否则返回false。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.isTestOsAccount((err, isTest) => { + console.log("isTestOsAccount err: " + JSON.stringify(err)); + console.log('isTestOsAccount isTest: ' + isTest); + }); + ``` + +### isTestOsAccount + +isTestOsAccount(): Promise<boolean> + +检查当前系统帐号是否为测试帐号,使用Promise方式异步返回结果。 + +- 返回值: + + | 类型 | 说明 | + | :--------------- | :---------------------------------- | + | Promise<boolean> | Promise实例,用于获取异步返回结果,是测试帐号则返回true,否则返回false。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.isTestOsAccount().then((isTest) => { + console.log('isTestOsAccount, isTest: ' + isTest); + }).catch((err) => { + console.log("isTestOsAccount err: " + JSON.stringify(err)); + }); + ``` + +### isOsAccountVerified + +isOsAccountVerified(callback: AsyncCallback<boolean>): void + +检查当前系统帐号是否已验证,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ---------------------- | ---- | ---------------------------------- | + | callback | AsyncCallback<boolean> | 是 | 回调结果,已验证则返回true,否则返回false。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.isOsAccountVerified((err, isVerified) => { + console.log("isOsAccountVerified err: " + JSON.stringify(err)); + console.log('isOsAccountVerified isVerified: ' + isVerified); + }); + ``` + +### isOsAccountVerified + +isOsAccountVerified(localId: number, callback: AsyncCallback<boolean>): void + +检查指定系统帐号是否已验证,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ---------------------- | ---- | ---------------------------------- | + | localId | number | 否 | 指定的系统帐号ID。 | + | callback | AsyncCallback<boolean> | 是 | 回调结果,已验证则返回true,否则返回false。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.isOsAccountVerified((err, isVerified) => { + console.log("isOsAccountVerified err: " + JSON.stringify(err)); + console.log('isOsAccountVerified isVerified: ' + isVerified); + }); + ``` + +### isOsAccountVerified + +isOsAccountVerified(localId: number?): Promise<boolean> + +检查指定系统帐号是否已验证,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------- | ------ | ---- | ------------ | + | localId | number | 否 | 指定的系统帐号ID。 | + +- 返回值: + + | 类型 | 说明 | + | :--------------- | :---------------------------------- | + | Promise<boolean> | Promise实例,用于获取异步返回结果,已验证则返回true,否则返回false。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.isOsAccountVerified().then((isVerified) => { + console.log('isOsAccountVerified, isVerified: ' + isVerified); + }).catch((err) => { + console.log("isOsAccountVerified err: " + JSON.stringify(err)); + }); + ``` + +### removeOsAccount + +removeOsAccount(localId: number, callback: AsyncCallback<void>): void + +删除指定系统帐号,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ------------------- | ---- | ------------------------ | + | localId | number | 是 | 要删除的系统帐号ID。 | + | callback | AsyncCallback<void> | 是 | 回调结果。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + var createIocalId; + osAccountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{ + createIocalId = osAccountInfo.localId; + )}; + accountManager.removeOsAccount(createIocalId, (err)=>{ + console.log("removeOsAccount err:" + JSON.stringify(err)); + }); + ``` + +### removeOsAccount + +removeOsAccount(localId: number): Promise<void> + +删除指定系统帐号,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------- | ------ | ---- | ------------ | + | localId | number | 是 | 要删除的系统帐号ID。 | + +- 返回值: + + | 类型 | 说明 | + | :------------ | :---------------------------------- | + | Promise<void> | Promise实例,用于获取异步返回结果。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + var createIocalId; + osAccountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{ + createIocalId = osAccountInfo.localId; + )}; + createIocalId = osAccount.localId; + accountManager.removeOsAccount(createIocalId).then(() => { + console.log('removeOsAccount Success'); + }).catch(() => { + console.log("removeOsAccount err: " + JSON.stringify(err)); + }); + ``` + +### setOsAccountConstraints + +setOsAccountConstraints(localId: number, constraints: Array<string>, enable: boolean,callback: AsyncCallback<void>): void + +为指定系统帐号设置/删除[约束](#系统帐号约束列表),使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ----------- | ------------------- | ---- | ------------------------------- | + | localId | number | 是 | 系统帐号ID。 | + | constraints | Array<string> | 是 | 待设置/删除的[约束](#系统帐号约束列表)列表。 | + | enable | boolean | 是 | 设置(true)/删除(false) | + | callback | AsyncCallback<void> | 是 | 回调结果。 | + +- 示例:给ID为100的系统帐号设置禁止使用wifi的[约束](#系统帐号约束列表) + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.setOsAccountConstraints(localId, ["constraint.wifi"], true, (err)=>{ + console.log("setOsAccountConstraints err:" + JSON.stringify(err)); + }); + ``` + +### setOsAccountConstraints + +setOsAccountConstraints(localId: number, constraints: Array<string>, enable: boolean): Promise<void> + +为指定系统帐号设置/删除[约束](#系统帐号约束列表),使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ----------- | ------------- | ---- | ----------------------- | + | localId | number | 是 | 系统帐号ID。 | + | constraints | Array<string> | 是 | 待设置/删除的[约束](#系统帐号约束列表)列表。 | + | enable | boolean | 是 | 设置(true)/删除(false)。 | + +- 返回值: + + | 类型 | 说明 | + | :------------ | :---------------------------------- | + | Promise<void> | Promise实例,用于获取异步返回结果。 | + +- 示例:删除ID为100的系统帐号的禁止使用wifi的[约束](#系统帐号约束列表) + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.setOsAccountConstraints(localId, ["constraint.location.set"], false).then(() => { + console.log('setOsAccountConstraints Success'); + }).catch((err) => { + console.log("setOsAccountConstraints err: " + JSON.stringify(err)); + }); + ``` + +### setOsAccountName + +setOsAccountName(localId: number, localName: string, callback: AsyncCallback<void>): void + +设置指定系统帐号的帐号名,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | :-------- | ------------------- | ---- | ------------------------ | + | localId | number | 是 | 系统帐号ID。 | + | localName | string | 是 | 帐号名。 | + | callback | AsyncCallback<void> | 是 | 回调结果。 | + +- 示例:将ID为100的系统帐号的帐号名设置成demoName + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + var newName = "demoName"; + accountManager.setOsAccountName(localId, newName, (err)=>{ + console.debug("setOsAccountName err:" + JSON.stringify(err)); + }); + ``` + +### setOsAccountName + +setOsAccountName(localId: number, localName: string): Promise<void> + +设置指定系统帐号的帐号名,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | --------- | ------ | ---- | ----------------------- | + | localId | number | 是 | 系统帐号ID。 | + | localName | string | 是 | 帐号名。 | + +- 返回值: + + | 类型 | 说明 | + | :------------ | :---------------------------------- | + | Promise<void> | Promise实例,用于获取异步返回结果。 | + +- 示例:将ID为100的系统帐号的帐号名设置成demoName + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + var nameLimit = "demoName"; + accountManager.setOsAccountName(localId, nameLimit).then(() => { + console.log('setOsAccountName Success'); + }).catch((err) => { + console.log("setOsAccountName err: " + JSON.stringify(err)); + }); + ``` + +### getCreatedOsAccountsCount + +getCreatedOsAccountsCount(callback: AsyncCallback<number>): void + +获取已创建的系统帐号数量,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | --------------------- | ---- | ------------------------------ | + | callback | AsyncCallback<number> | 是 | 回调结果,返回的是已创建的系统帐号的数量。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.getCreatedOsAccountsCount((err, accountCnt)=>{ + console.log("obtains the number of all os accounts created err:" + JSON.stringify(err)); + console.log("obtains the number of all os accounts created accountCnt:" + accountCnt); + }); + ``` + +### getCreatedOsAccountsCount + +getCreatedOsAccountsCount(): Promise<number> + +获取已创建的系统帐号数量,使用Promise方式异步返回结果。 + +- 返回值: + + | 类型 | 说明 | + | :-------------- | :---------------------------------- | + | Promise<number> | Promise实例,用于获取异步返回结果,返回的是已创建的系统帐号的数量。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.getCreatedOsAccountsCount().then((accountCnt) => { + console.log('getCreatedOsAccountsCount, accountCnt: ' + accountCnt); + }).catch((err) => { + console.log("getCreatedOsAccountsCount err: " + JSON.stringify(err)); + }); + ``` + +### getOsAccountLocalIdFromProcess + +getOsAccountLocalIdFromProcess(callback: AsyncCallback<number>): void + +获取当前进程所属的系统帐号的帐号ID,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | --------------------- | ---- | ----------------------------------------- | + | callback | AsyncCallback<number> | 是 | 回调结果,返回的是当前进程所属的系统帐号的帐号ID。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.getOsAccountLocalIdFromProcess((err, accountID) => { + console.log("getOsAccountLocalIdFromProcess err: " + JSON.stringify(err)); + console.log('getOsAccountLocalIdFromProcess accountID: ' + accountID); + }); + ``` + +### getOsAccountLocalIdFromProcess + +getOsAccountLocalIdFromProcess(): Promise<number> + +获取当前进程所属的系统帐号的帐号ID,使用Promise方式异步返回结果。 + +- 返回值: + + | 类型 | 说明 | + | :-------------- | :---------------------------------- | + | Promise<number> | Promise实例,用于获取异步返回结果,返回的是当前进程所属的系统帐号的帐号ID。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.getOsAccountLocalIdFromProcess().then((accountID) => { + console.log('getOsAccountLocalIdFromProcess, accountID: ' + accountID); + }).catch((err) => { + console.log("getOsAccountLocalIdFromProcess err: " + JSON.stringify(err)); + }); + ``` + +### getOsAccountLocalIdFromUid + +getOsAccountLocalIdFromUid(uid: number, callback: AsyncCallback<number>): void + +从进程uid中获取该uid所属的系统帐号的帐号ID,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | --------------------- | ---- | --------------------------------------- | + | uid | number | 是 | 进程uid。 | + | callback | AsyncCallback<number> | 是 | 回调结果,返回的是uid所属的系统帐号的帐号ID。 | + +- 示例:查询值为12345678的uid所属的系统帐号的帐号ID + + ``` + const accountManager = account_osAccount.getAccountManager(); + let uid = 12345678; + accountManager.getOsAccountLocalIdFromUid(uid, (err, accountID) => { + console.log("getOsAccountLocalIdFromUid err: " + JSON.stringify(err)); + console.log('getOsAccountLocalIdFromUid: ' + accountID); + }); + ``` + +### getOsAccountLocalIdFromUid + +getOsAccountLocalIdFromUid(uid: number): Promise<number> + +从进程uid中获取该uid所属的系统帐号的帐号ID,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------ | ------ | ---- | ------------- | + | uid | number | 是 | 进程uid。 | + +- 返回值: + + | 类型 | 说明 | + | :-------------- | :---------------------------------- | + | Promise<number> | Promise实例,用于获取异步返回结果,返回的是uid所属的系统帐号的帐号ID。 | + +- 示例:查询值为12345678的uid所属的系统帐号的帐号ID + + ``` + const accountManager = account_osAccount.getAccountManager(); + let uid = 12345678; + accountManager.getOsAccountLocalIdFromUid(uid).then((accountID) => { + console.log('getOsAccountLocalIdFromUid: ' + accountID); + }).catch((err) => { + console.log("getOsAccountLocalIdFromUid err: " + JSON.stringify(err)); + }); + ``` + +### getOsAccountLocalIdFromDomain + +getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback<number>): void + +根据域帐号信息,获取与其关联的系统帐号的帐号ID。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | --------------------- | ---- | --------------------------------------- | + | domainInfo | [DomainAccountInfo](#domainaccountinfo) | 是 | 域帐号信息。 | + | callback | AsyncCallback<number> | 是 | 回调结果,返回的是和域帐号关联的系统帐号ID。 | + +- 示例: + + ``` + var domainInfo = {domain: "testDomain", accountName: "testAccountName"}; + const accountManager = account_osAccount.getAccountManager(); + accountManager.getOsAccountLocalIdFromDomain(domainInfo, (err, accountID) => { + console.log("getOsAccountLocalIdFromDomain: " + JSON.stringify(err)); + console.log('getOsAccountLocalIdFromDomain: ' + accountID); + }); + ``` + +### getOsAccountLocalIdFromDomain + +getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo): Promise<number> + +根据域帐号信息,获取与其关联的系统帐号的帐号ID,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------ | ------ | ---- | ------------- | + | domainInfo | [DomainAccountInfo](#domainaccountinfo) | 是 | 域帐号信息。 | + +- 返回值: + + | 类型 | 说明 | + | :-------------- | :---------------------------------- | + | Promise<number> | Promise实例,用于获取异步返回结果,返回的是和域帐号关联的系统帐号ID。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + var domainInfo = {domain: "testDomain", accountName: "testAccountName"}; + accountManager.getOsAccountLocalIdFromDomain(domainInfo).then((accountID) => { + console.log('getOsAccountLocalIdFromDomain: ' + accountID); + }).catch((err) => { + console.log("getOsAccountLocalIdFromDomain err: " + JSON.stringify(err)); + }); + ``` + +### queryMaxOsAccountNumber + +queryMaxOsAccountNumber(callback: AsyncCallback<number>): void + +查询允许创建的系统帐号的最大数量,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | --------------------- | ---- | ---------------------------------- | + | callback | AsyncCallback<number> | 是 | 回调结果,返回的是允许创建的系统帐号的最大数量。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.queryMaxOsAccountNumber((err, maxCnt)=>{ + console.log("queryMaxOsAccountNumber err:" + JSON.stringify(err)); + console.log("queryMaxOsAccountNumber maxCnt:" + maxCnt); + }); + ``` + +### queryMaxOsAccountNumber + +queryMaxOsAccountNumber(): Promise<number> + +查询允许创建的系统帐号的最大数量,使用Promise方式异步返回结果。 + +- 返回值: + + | 类型 | 说明 | + | :-------------- | :---------------------------------- | + | Promise<number> | Promise实例,用于获取异步返回结果,返回的是允许创建的系统帐号的最大数量。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.queryMaxOsAccountNumber().then((maxCnt) => { + console.log('queryMaxOsAccountNumber, maxCnt: ' + maxCnt); + }).catch((err) => { + console.log("queryMaxOsAccountNumber err: " + JSON.stringify(err)); + }); + ``` + +### getOsAccountAllConstraints + +getOsAccountAllConstraints(localId: number, callback: AsyncCallback<Array<string>>): void + +获取指定系统帐号的全部[约束](#系统帐号约束列表),使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ---------------------------- | ---- | ---------------------------------- | + | localId | number | 是 | 系统帐号ID。 | + | callback | AsyncCallback<Array<string>> | 是 | 回调结果,返回的是该系统帐号的全部[约束](#系统帐号约束列表)。 | + +- 示例:获取ID为100的系统帐号的全部[约束](#系统帐号约束列表) + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.getOsAccountAllConstraints(localId, (err, constraints)=>{ + console.log("getOsAccountAllConstraints err:" + JSON.stringify(err)); + console.log("getOsAccountAllConstraints:" + JSON.stringify(constraints)); + }); + ``` + +### getOsAccountAllConstraints + +getOsAccountAllConstraints(localId: number): Promise<Array<string>> + +获取指定系统帐号的全部[约束](#系统帐号约束列表),使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------- | ------ | ---- | ------------ | + | localId | number | 是 | 系统帐号ID。 | + +- 返回值: + + | 类型 | 说明 | + | :--------------------- | :---------------------------------- | + | Promise<Array<string>> | Promise实例,用于获取异步返回结果,返回的是该系统帐号的全部[约束](#系统帐号约束列表)。 | + +- 示例:获取ID为100的系统帐号的全部[约束](#系统帐号约束列表) + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.getOsAccountAllConstraints(localId).then((constraints) => { + console.log("getOsAccountAllConstraints, constraints: " + constraints); + }).catch((err) => { + console.log("getOsAccountAllConstraints err: " + JSON.stringify(err)); + }); + ``` + +### queryAllCreatedOsAccounts + +queryAllCreatedOsAccounts(callback: AsyncCallback<Array<OsAccountInfo>>): void + +查询已创建的所有系统帐号的信息列表,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ----------------------------------- | ---- | -------------------------------- | + | callback | AsyncCallback<Array<[OsAccountInfo](#osaccountinfo)>> | 是 | 回调结果,返回的是已创建的所有系统帐号的信息列表。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.queryAllCreatedOsAccounts((err, accountArr)=>{ + console.log("queryAllCreatedOsAccounts err:" + JSON.stringify(err)); + console.log("queryAllCreatedOsAccounts accountArr:" + JSON.stringify(accountArr)); + }); + ``` + +### queryAllCreatedOsAccounts + +queryAllCreatedOsAccounts(): Promise<Array<OsAccountInfo>> + +查询已创建的所有系统帐号的信息列表,使用Promise方式异步返回结果。 + +- 返回值: + + | 类型 | 说明 | + | :---------------------------- | :---------------------------------- | + | Promise<Array<[OsAccountInfo](#osaccountinfo)>> | Promise实例,用于获取异步返回结果,返回的是已创建的所有系统帐号的信息列表。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.queryAllCreatedOsAccounts().then((accountArr) => { + console.log('queryAllCreatedOsAccounts, accountArr: ' + JSON.stringify(accountArr)); + }).catch((err) => { + console.log("queryAllCreatedOsAccounts err: " + JSON.stringify(err)); + }); + ``` + +### queryActivatedOsAccountIds + +queryActivatedOsAccountIds(callback: AsyncCallback<Array<number>>): void + +查询当前处于激活状态的系统帐号的ID列表,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ----------------------------------- | ---- | -------------------------------- | + | callback | AsyncCallback<Array<number>> | 是 | 回调结果,返回的是当前处于激活状态的系统帐号的ID列表。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.queryActivatedOsAccountIds((err, idArray)=>{ + console.log("queryActivatedOsAccountIds err:" + JSON.stringify(err)); + console.log("queryActivatedOsAccountIds idArray length:" + idArray.length); + for(var i=0;i { + console.log('queryActivatedOsAccountIds, idArray: ' + idArray); + }).catch((err) => { + console.log("queryActivatedOsAccountIds err: " + JSON.stringify(err)); + }); + ``` + +### createOsAccount + +createOsAccount(localName: string, type: OsAccountType, callback: AsyncCallback<OsAccountInfo>): void + +创建一个系统帐号,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | :-------- | ---------------------------- | ---- | -------------------- | + | localName | string | 是 | 创建的系统帐号的名称。 | + | type | [OsAccountType](#osaccounttype) | 是 | 创建的系统帐号的类型。 | + | callback | AsyncCallback<[OsAccountInfo](#osaccountinfo)> | 是 | 回调结果,返回的是新创建的系统帐号的信息。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.createOsAccount("testName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{ + console.log("createOsAccount err:" + JSON.stringify(err)); + console.log("createOsAccount osAccountInfo:" + JSON.stringify(osAccountInfo)); + }); + ``` + +### createOsAccount + +createOsAccount(localName: string, type: OsAccountType): Promise<OsAccountInfo> + +创建一个系统帐号,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | --------- | ------------- | ---- | ---------------- | + | localName | string | 是 | 创建的系统帐号的名称。 | + | type | [OsAccountType](#osaccounttype) | 是 | 创建的系统帐号的类型。 | + +- 返回值: + + | 类型 | 说明 | + | :--------------------- | :---------------------------------- | + | Promise<[OsAccountInfo](#osaccountinfo)> | Promise实例,用于获取异步返回结果,返回的是新创建的系统帐号的信息。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL).then((accountInfo) => { + console.log("createOsAccount, accountInfo: " + JSON.stringify(accountInfo)); + }).catch((err) => { + console.log("createOsAccount err: " + JSON.stringify(err)); + }); + ``` + +### createOsAccountForDomain + +createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, callback: AsyncCallback<OsAccountInfo>): void + +根据域帐号信息,创建一个系统帐号并将其与域帐号关联,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | :-------- | ---------------------------- | ---- | -------------------- | + | type | [OsAccountType](#osaccounttype) | 是 | 创建的系统帐号的类型。 | + | domainInfo | [DomainAccountInfo](#domainaccountinfo) | 是 | 域帐号信息。 | + | callback | AsyncCallback<[OsAccountInfo](#osaccountinfo)> | 是 | 回调结果,返回的是新创建的系统帐号的信息。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + var domainInfo = {domain: "testDomain", accountName: "testAccountName"}; + accountManager.createOsAccountForDomain(osaccount.OsAccountType.NORMAL, domainInfo, (err, osAccountInfo)=>{ + console.log("createOsAccountForDomain err:" + JSON.stringify(err)); + console.log("createOsAccountForDomain osAccountInfo:" + JSON.stringify(osAccountInfo)); + }); + ``` + +### createOsAccountForDomain + +createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo): Promise<OsAccountInfo> + +根据传入的域帐号信息,创建与其关联的系统帐号,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | --------- | ------------- | ---- | ---------------- | + | type | [OsAccountType](#osaccounttype) | 是 | 创建的系统帐号的类型。 | + | domainInfo | [DomainAccountInfo](#domainaccountinfo) | 是 | 域帐号信息。 | + +- 返回值: + + | 类型 | 说明 | + | :--------------------- | :---------------------------------- | + | Promise<[OsAccountInfo](#osaccountinfo)> | Promise实例,用于获取异步返回结果,返回的是新创建的系统帐号的信息。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + var domainInfo = {domain: "testDomain", accountName: "testAccountName"}; + accountManager.createOsAccountForDomain(osaccount.OsAccountType.NORMAL, domainInfo).then((accountInfo) => { + console.log("createOsAccountForDomain, account info: " + JSON.stringify(accountInfo)); + }).catch((err) => { + console.log("createOsAccountForDomain err: " + JSON.stringify(err)); + }); + ``` + +### queryCurrentOsAccount + +queryCurrentOsAccount(callback: AsyncCallback<OsAccountInfo>): void + +查询当前进程所属的系统帐号的信息,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ---------------------------- | ---- | -------------------------- | + | callback | AsyncCallback<[OsAccountInfo](#osaccountinfo)> | 是 | 回调结果,返回的是当前进程所属的系统帐号信息。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.queryCurrentOsAccount((err, curAccountInfo)=>{ + console.log("queryCurrentOsAccount err:" + JSON.stringify(err)); + console.log("queryCurrentOsAccount curAccountInfo:" + JSON.stringify(curAccountInfo)); + }); + ``` + +### queryCurrentOsAccount + +queryCurrentOsAccount(): Promise<OsAccountInfo> + +查询当前进程所属的系统帐号的信息,使用Promise方式异步返回结果。 + +- 返回值: + + | 类型 | 说明 | + | :--------------------- | :---------------------------------- | + | Promise<[OsAccountInfo](#osaccountinfo)> | Promise实例,用于获取异步返回结果,返回的是当前进程所属的系统帐号信息。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.queryCurrentOsAccount().then((accountInfo) => { + console.log("queryCurrentOsAccount, accountInfo: " + JSON.stringify(accountInfo)); + }).catch((err) => { + console.log("queryCurrentOsAccount err: " + JSON.stringify(err)); + }); + ``` + +### queryOsAccountById + +queryOsAccountById(localId: number, callback: AsyncCallback<OsAccountInfo>): void + +查询指定系统帐号的信息,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ---------------------------- | ---- | -------------------------- | + | localId | number | 是 | 要查询的系统帐号的ID | + | callback | AsyncCallback<[OsAccountInfo](#osaccountinfo)> | 是 | 回调结果,返回的是查到的系统帐号的信息。 | + +- 示例:查询ID为100的系统帐号信息 + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.queryOsAccountById(localId, (err, accountInfo)=>{ + console.log("queryOsAccountById err:" + JSON.stringify(err)); + console.log("queryOsAccountById accountInfo:" + JSON.stringify(accountInfo)); + }); + ``` + +### queryOsAccountById + +queryOsAccountById(localId: number): Promise<OsAccountInfo> + +查询指定系统帐号的信息,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ---------------------------- | ---- | -------------------------- | + | localId | number | 是 | 要查询的系统帐号的ID | + +- 返回值: + + | 类型 | 说明 | + | :--------------------- | :---------------------------------- | + | Promise<[OsAccountInfo](#osaccountinfo)> | Promise实例,用于获取异步返回结果,返回的是查到的系统帐号的信息。 | + +- 示例:查询ID为100的系统帐号信息 + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.queryOsAccountById(localId).then((accountInfo) => { + console.log("queryOsAccountById, accountInfo: " + JSON.stringify(accountInfo)); + }).catch((err) => { + console.log("queryOsAccountById err: " + JSON.stringify(err)); + }); + ``` + +### getOsAccountTypeFromProcess + +getOsAccountTypeFromProcess(callback: AsyncCallback<OsAccountType>): void + +查询当前进程所属的系统帐号的帐号类型,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ---------------------------- | ---- | ---------------------------------------- | + | callback | AsyncCallback<[OsAccountType](#osaccounttype)> | 是 | 回调结果,返回的是当前进程所属的系统帐号的帐号类型。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.getOsAccountTypeFromProcess((err, accountType) => { + console.log("getOsAccountTypeFromProcess err: " + JSON.stringify(err)); + console.log('getOsAccountTypeFromProcess accountType: ' + accountType); + }); + ``` + +### getOsAccountTypeFromProcess + +getOsAccountTypeFromProcess(): Promise<OsAccountType> + +查询当前进程所属的系统帐号的帐号类型,使用Promise方式异步返回结果。 + +- 返回值: + + | 类型 | 说明 | + | :--------------------- | :---------------------------------- | + | Promise<[OsAccountType](#osaccounttype)> | Promise实例,用于获取异步返回结果,返回的是当前进程所属的系统帐号的帐号类型。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.getOsAccountTypeFromProcess().then((accountType) => { + console.log('getOsAccountTypeFromProcess, accountType: ' + accountType); + }).catch((err) => { + console.log("getOsAccountTypeFromProcess err: " + JSON.stringify(err)); + }); + ``` + +### getDistributedVirtualDeviceId + +getDistributedVirtualDeviceId(callback: AsyncCallback<string>): void + +获取分布式虚拟设备ID,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | --------------------- | ---- | ---------------------------- | + | callback | AsyncCallback<string> | 是 | 回调结果,返回的是分布式虚拟设备ID。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.getDistributedVirtualDeviceId((err, virtualID) => { + console.log("getDistributedVirtualDeviceId err: " + JSON.stringify(err)); + console.log('getDistributedVirtualDeviceId virtualID: ' + virtualID); + }); + ``` + +### getDistributedVirtualDeviceId + +getDistributedVirtualDeviceId(): Promise<string> + +获取分布式虚拟设备ID,使用Promise方式异步返回结果。 + +- 返回值: + + | 类型 | 说明 | + | :-------------- | :---------------------------------- | + | Promise<string> | Promise实例,用于获取异步返回结果,返回的是分布式虚拟设备ID。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + accountManager.getDistributedVirtualDeviceId().then((virtualID) => { + console.log('getDistributedVirtualDeviceId, virtualID: ' + virtualID); + }).catch((err) => { + console.log("getDistributedVirtualDeviceId err: " + JSON.stringify(err)); + }); + ``` + +### getOsAccountProfilePhoto + +getOsAccountProfilePhoto(localId: number, callback: AsyncCallback<string>): void + +获取指定系统帐号的头像信息,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | --------------------- | ---- | ------------------------ | + | localId | number | 是 | 系统帐号ID。 | + | callback | AsyncCallback<string> | 是 | 回调结果,返回的是该系统帐号的头像信息。 | + +- 示例:获取ID为100的系统帐号的头像 + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.getOsAccountProfilePhoto(localId, (err, photo)=>{ + console.log("getOsAccountProfilePhoto err:" + JSON.stringify(err)); + console.log("get photo:" + photo + " by localId: " + localId); + }); + ``` + +### getOsAccountProfilePhoto + +getOsAccountProfilePhoto(localId: number): Promise<string> + +获取指定系统帐号的头像信息,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------- | ------ | ---- | ------------ | + | localId | number | 是 | 系统帐号ID。 | + +- 返回值: + + | 类型 | 说明 | + | :-------------- | :---------------------------------- | + | Promise<string> | Promise实例,用于获取异步返回结果,返回的是该系统帐号的头像信息。 | + +- 示例:获取ID为100的系统帐号的头像 + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.getOsAccountProfilePhoto(localId).then((photo) => { + console.log("getOsAccountProfilePhoto: " + photo); + }).catch((err) => { + console.log("getOsAccountProfilePhoto err: " + JSON.stringify(err)); + }); + ``` + +### setOsAccountProfilePhoto + +setOsAccountProfilePhoto(localId: number, photo: string, callback: AsyncCallback<void>): void + +为指定系统帐号设置头像信息,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | ------------------- | ---- | ------------------------ | + | localId | number | 是 | 系统帐号ID。 | + | photo | string | 是 | 头像信息。 | + | callback | AsyncCallback<void> | 是 | 回调结果。 | + +- 示例:给ID为100的系统帐号设置头像 + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + var photo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA"+ + "Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y"+ + "q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo"+ + "+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg==" + osAccountManager.setOsAccountProfilePhoto(localId, photo, (err)=>{ + console.log("setOsAccountProfilePhoto err:" + JSON.stringify(err)); + }); + ``` + +### setOsAccountProfilePhoto + +setOsAccountProfilePhoto(localId: number, photo: string): Promise<void> + +为指定系统帐号设置头像信息,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------- | ------ | ---- | ------------ | + | localId | number | 是 | 系统帐号ID。 | + | photo | string | 是 | 头像信息。 | + +- 返回值: + + | 类型 | 说明 | + | :------------ | :---------------------------------- | + | Promise<void> | Promise实例,用于获取异步返回结果。 | + +- 示例:给ID为100的系统帐号设置头像 + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + var photo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA"+ + "Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y"+ + "q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo"+ + "+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg==" + accountManager.setOsAccountProfilePhoto(localId, photo).then(() => { + console.log("setOsAccountProfilePhoto success"); + }).catch((err) => { + console.log("setOsAccountProfilePhoto err: " + JSON.stringify(err)); + }); + ``` + +### getOsAccountLocalIdBySerialNumber + +getOsAccountLocalIdBySerialNumber(serialNumber: number, callback: AsyncCallback<number>): void + +通过SN码查询与其关联的系统帐号的帐号ID,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------------ | --------------------- | ---- | ------------------------------ | + | serialNumber | number | 是 | 帐号SN码。 | + | callback | AsyncCallback<number> | 是 | 回调结果,返回的是与SN码关联的系统帐号的帐号ID。 | + +- 示例:查询与SN码12345关联的系统帐号的ID + + ``` + const accountManager = account_osAccount.getAccountManager(); + var serialNumber = 12345; + accountManager.getOsAccountLocalIdBySerialNumber(serialNumber, (err, localId)=>{ + console.log("ger localId err:" + JSON.stringify(err)); + console.log("get localId:" + localId + " by serialNumber: " + serialNumber); + }); + ``` + +### getOsAccountLocalIdBySerialNumber + +getOsAccountLocalIdBySerialNumber(serialNumber: number): Promise<number> + +通过SN码查询与其关联的系统帐号的帐号ID,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------------ | ------ | ---- | ---------- | + | serialNumber | number | 是 | 帐号SN码。 | + +- 返回值: + + | 类型 | 说明 | + | :-------------- | :---------------------------------- | + | Promise<number> | Promise实例,用于获取异步返回结果,返回的是与SN码关联的系统帐号的帐号ID。 | + +- 示例:查询与SN码12345关联的系统帐号的ID + + ``` + const accountManager = account_osAccount.getAccountManager(); + var serialNumber = 12345; + accountManager.getOsAccountLocalIdBySerialNumber(serialNumber).then((localId) => { + console.log("getOsAccountLocalIdBySerialNumber localId: " + localId); + }).catch((err) => { + console.log("getOsAccountLocalIdBySerialNumber err: " + JSON.stringify(err)); + }); + ``` + +### getSerialNumberByOsAccountLocalId + +getSerialNumberByOsAccountLocalId(localId: number, callback: AsyncCallback<number>): void + +通过系统帐号ID获取与该系统帐号关联的SN码,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | --------------------- | ---- | ------------------------------ | + | localId | number | 是 | 系统帐号ID。 | + | callback | AsyncCallback<number> | 是 | 回调结果,返回的是与该系统帐号关联的SN码。 | + +- 示例:获取ID为100的系统帐号关联的SN码 + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.getSerialNumberByOsAccountLocalId(localId, (err, serialNumber)=>{ + console.log("ger serialNumber err:" + JSON.stringify(err)); + console.log("get serialNumber:" + serialNumber + " by localId: " + localId); + }); + ``` + +### getSerialNumberByOsAccountLocalId + +getSerialNumberByOsAccountLocalId(localId: number): Promise<number> + +通过系统帐号ID获取与该系统帐号关联的SN码,使用Promise方式异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | ------- | ------ | ---- | ------------ | + | localId | number | 是 | 系统帐号ID。 | + +- 返回值: + + | 类型 | 说明 | + | :-------------- | :---------------------------------- | + | Promise<number> | Promise实例,用于获取异步返回结果,返回的是与该系统帐号关联的SN码。 | + +- 示例:获取ID为100的系统帐号关联的SN码 + + ``` + const accountManager = account_osAccount.getAccountManager(); + var localId = 100; + accountManager.getSerialNumberByOsAccountLocalId(localId).then((serialNumber) => { + console.log("getSerialNumberByOsAccountLocalId serialNumber: " + serialNumber); + }).catch((err) => { + console.log("getSerialNumberByOsAccountLocalId err: " + JSON.stringify(err)); + }); + ``` + +### on + +on(type: 'activate' | 'activating', name: string, callback: Callback<number>): void + +订阅系统帐号的变动信息,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------------------------- | ---- | ------------------------ | + | type | 'activate' \| 'activating' | 是 | 订阅类型,activate表示订阅的是帐号已激活完成的事件,activating表示订阅的是帐号正在激活的事件。 | + | name | string | 是 | 订阅名称,可自定义,要求非空且长度不超过1024字节。| + | callback | Callback<number> | 是 | 订阅系统帐号变动信息的回调,表示当前事件对应的系统帐号ID。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + function onCallback(receiveLocalId){ + console.log("receive localId:" + receiveLocalId); + } + accountManager.on("activating", "osAccountOnOffNameA", onCallback); + ``` + +### off + +off(type: 'activate' | 'activating', name: string, callback?: Callback<number>): void + +取消订阅系统帐号的变动信息,使用callback回调异步返回结果。 + +- 参数: + + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------------------------- | ---- | ---------------------------- | + | type | 'activate' \| 'activating' | 是 | 取消订阅类型,activate表示取消订阅帐号已激活完成的事件,activating取消订阅帐号正在激活的事件。 | + | name | string | 是 | 订阅名称,可自定义,,要求非空且长度不超过1024字节,需要与订阅接口传入的值保持一致。 | + | callback | Callback<number> | 否 | 取消订阅系统帐号变化的回调,默认返回0。 | + +- 示例: + + ``` + const accountManager = account_osAccount.getAccountManager(); + function offCallback(){ + console.log("off enter") + } + accountManager.off("activating", "osAccountOnOffNameA", offCallback); + ``` + +## OsAccountInfo +系统帐号信息 +| 参数名 | 类型 | 必填 | 说明 | +| ----------------- | ---------------------------------- | ---- | ------------------------ | +| localId | number | 是 | 系统帐号ID。 | +| localName | string | 是 | 系统帐号名称。 | +| type | [OsAccountType](#osaccounttype) | 是 | 系统帐号类型 | +| constraints | Array<string> | 否 | 系统帐号[约束](#系统帐号约束列表) | +| isVerified | boolean | 是 | 帐号是否锁屏 | +| photo | string | 否 | 系统帐号头像 | +| createTime | number | 是 | 系统帐号创建时间 | +| lastLoginTime | number | 否 | 系统帐号最后一次登录时间 | +| serialNumber | number | 是 | 系统帐号SN码 | +| isActived | boolean | 是 | 系统帐号激活状态 | +| isCreateCompleted | boolean | 是 | 系统帐号创建是否完整 | +| distributedInfo | [distributedAccount.DistributedInfo](js-apis-distributed-account.md) | 否 | 分布式帐号信息 | +| domainInfo | [DomainAccountInfo](#domainaccountinfo) | 否 | 域帐号信息 | + +## DomainAccountInfo +域帐号信息 +| 参数名 | 类型 | 必填 | 说明 | +| ----------------- | ---------------------------------- | ---- | ------------------------ | +| domain | string | 是 | 域名。 | +| accountName | string | 是 | 域帐号名。 | + +## 系统帐号约束列表 + +| 约束 | 说明 | +| ----------------- | ------------------- | +| constraint.wifi | 禁止使用wifi | +| constraint.wifi.set | 禁止配置wifi | +| constraint.locale.set | 禁止配置设备语言 | +| constraint.app.accounts | 禁止添加和删除应用帐号 | +| constraint.apps.install | 禁止安装应用 | +| constraint.apps.uninstall | 禁止卸载应用 | +| constraint.location.shared | 禁止打开位置共享 | +| constraint.unknown.sources.install | 禁止安装未知来源的应用 | +| constraint.global.unknown.app.install | 禁止所有用户安装未知来源的应用 | +| constraint.bluetooth.set | 禁止配置蓝牙 | +| constraint.bluetooth | 禁止使用蓝牙 +| constraint.bluetooth.share | 禁止共享使用蓝牙 | +| constraint.usb.file.transfer | 禁止通过USB传输文件 | +| constraint.credentials.set | 禁止配置用户凭据 | +| constraint.os.account.remove | 禁止删除用户 | +| constraint.managed.profile.remove | 禁止删除此用户的托管配置文件 | +| constraint.debug.features.use | J禁止启用或访问调试功能 | +| constraint.vpn.set | 禁止配置VPN | +| constraint.date.time.set | 禁止配置日期时间和时区 | +| constraint.tethering.config | 禁止配置Tethering | +| constraint.network.reset | 禁止重置网络设置 | +| constraint.factory.reset | 禁止出厂设置 | +| constraint.os.account.create | 禁止创建新用户 | +| constraint.add.managed.profile | 禁止添加托管配置文件 | +| constraint.apps.verify.disable | 强制应用程序验证 | +| constraint.cell.broadcasts.set | 禁止配置小区广播 | +| constraint.mobile.networks.set | 禁止配置移动网络 | +| constraint.control.apps | 禁止在设置或启动模块中修改应用程序 | +| constraint.physical.media | 禁止装载物理外部介质 | +| constraint.microphone | 禁止使用麦克风 | +| constraint.microphone.unmute | 禁止调整麦克风音量 | +| constraint.volume.adjust | 禁止调整主卷 | +| constraint.calls.outgoing | 禁止拨打外呼电话 | +| constraint.sms.use | 禁止发送或接收短信 | +| constraint.fun | 禁止享受乐趣 | +| constraint.windows.create | 禁止创建应用程序窗口以外的窗口 | +| constraint.system.error.dialogs | 禁止显示崩溃或无响应应用程序的系统错误对话框 | +| constraint.cross.profile.copy.paste | 禁止通过将数据粘贴到其他用户或配置文件来导出剪贴板内容 | +| constraint.beam.outgoing | 禁止使用NFC从应用程序传送数据 | +| constraint.wallpaper | 禁止管理壁纸 | +| constraint.safe.boot | 禁止进入安全引导模式 | +| constraint.parent.profile.app.linking | 允许父配置文件中的应用程序处理来自托管配置文件的Web链接 | +| constraint.audio.record | 禁止录制音频 | +| constraint.camera.use | 禁止使用摄像机 | +| constraint.os.account.background.run | 禁止在后台运行 | +| constraint.data.roam | 禁止漫游通话时使用蜂窝数据 | +| constraint.os.account.set.icon | 禁止修改用户头像 | +| constraint.wallpaper.set | 禁止设置壁纸 | +| constraint.oem.unlock | 禁止启用oem解锁 | +| constraint.device.unmute | 禁止对设备的主卷静音 | +| constraint.password.unified | 禁止托管配置文件与主用户进行统一锁屏质询 | +| constraint.autofill | 禁止使用自动填充服务 | +| constraint.content.capture | 禁止捕获用户屏幕 | +| constraint.content.suggestions | 禁止接收内容建议 | +| constraint.os.account.start | 禁止切换用户 | +| constraint.location.set | 禁止配置位置服务 | +| constraint.airplane.mode.set | 禁止飞行模式 | +| constraint.brightness.set | 禁止配置亮度 | +| constraint.share.into.profile | 禁止将主要用户的文件/图片/数据共享到托管配置文件中 | +| constraint.ambient.display | 禁止显示环境 | +| constraint.screen.timeout.set | 禁止配置屏幕关闭的超时 | +| constraint.print | 禁止打印 | +| constraint.private.dns.set | 禁止配置专用DNS | diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-progress.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-progress.md index 626f8bae09c0d2ba6d06e1b05874dae3a748c06c..0c304e26351947a45f0521cf2331f323466f761f 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-progress.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-progress.md @@ -47,7 +47,7 @@ Progress(value: {value: number, total?: number, style?: ProgressStyle}) | -------- | -------- | -------- | -------- | | value | number | - | 设置当前进度值。 | | color | Color | - | 设置进度条前景色。 | -| circularStyle8+ | {
strokeWidth?: Length,
scaleCount?: number,
scaleWidth?: Length
} | - | 定义style为ProgressStyle.ScaleRing时的样式,包括:宽度,总刻度数,刻度粗细。
strokeWidth: 设置环形进度条宽度。
scaleCount: 设置环形进度条总刻度数。
scaleWidth: 设置环形进度条刻度粗细。
刻度粗细大于进度条宽度时,刻度粗细为系统默认粗细。 | +| style8+ | {
strokeWidth?: Length,
scaleCount?: number,
scaleWidth?: Length
} | - | 定义组件的样式。
strokeWidth: 设置进度条宽度。
scaleCount: 设置环形进度条总刻度数。
scaleWidth: 设置环形进度条刻度粗细。
刻度粗细大于进度条宽度时,刻度粗细为系统默认粗细。 | ## 示例 @@ -73,7 +73,7 @@ struct ProgressExample { Progress({ value: 10, style: ProgressStyle.ScaleRing }).width(100) Progress({ value: 20, total: 150, style: ProgressStyle.ScaleRing }) .color(Color.Grey).value(50).width(100) - .circularStyle({ strokeWidth: 15, scaleCount: 15, scaleWidth: 5 }) + .style({ strokeWidth: 15, scaleCount: 15, scaleWidth: 5 }) } Text('Ring Progress').fontSize(9).fontColor(0xCCCCCC).width('90%') @@ -81,7 +81,7 @@ struct ProgressExample { Progress({ value: 10, style: ProgressStyle.Ring }).width(100) Progress({ value: 20, total: 150, style: ProgressStyle.Ring }) .color(Color.Grey).value(50).width(100) - .circularStyle({ strokeWidth: 20, scaleCount: 30, scaleWidth: 20 }) + .style({ strokeWidth: 20, scaleCount: 30, scaleWidth: 20 }) } Text('Capsule Progress').fontSize(9).fontColor(0xCCCCCC).width('90%') diff --git a/zh-cn/device-dev/subsystems/subsys-data-relational-database-guide.md b/zh-cn/device-dev/subsystems/subsys-data-relational-database-guide.md index 15df71090d0df73b47d4942ffd15a240fa1ce846..ef830096d1e8f3c560035f3ae48b4329f4fc7c70 100644 --- a/zh-cn/device-dev/subsystems/subsys-data-relational-database-guide.md +++ b/zh-cn/device-dev/subsystems/subsys-data-relational-database-guide.md @@ -36,7 +36,7 @@ - RdbPredicates:开发者无需编写复杂的SQL语句,仅通过调用该类中条件相关的方法,如equalTo、notEqualTo、groupBy、orderByAsc、beginsWith等,就可自动完成SQL语句拼接,方便用户聚焦业务操作。 - RawRdbPredicates:可满足复杂SQL语句的场景,支持开发者自己设置where条件子句和whereArgs参数。不支持equalTo等条件接口的使用。 - 表7 数据库谓词API + 表3 数据库谓词API | 类名 | 接口名 | 描述 | | ---- | ---- | ---- | | RdbPredicates | AbsPredicates *EqualTo(std::string field, std::string value) | 设置谓词条件,满足field字段与value值相等。 | @@ -46,6 +46,9 @@ | RdbPredicates | AbsPredicates *OrderByAsc(std::string field) | 设置谓词条件,根据field字段升序排列。 | | RdbPredicates | void SetWhereClause(std::string whereClause) | 设置where条件子句。 | | RdbPredicates | void SetWhereArgs(std::vector\ whereArgs) | 设置whereArgs参数,该值表示where子句中占位符的值。 | + | RdbPredicates | AbsRdbPredicates *InDevices(std::vector& devices) | 设置谓词条件,同步分布式数据库时指定组网内的远程设备。 | + | RdbPredicates | AbsRdbPredicates *InAllDevices() | 设置谓词条件,同步分布式数据库时连接到组网内的所有远程设备。| + ### 数据表的增删改查 @@ -55,7 +58,7 @@ 关系型数据库提供了插入数据的接口,通过ValuesBucket输入要存储的数据,通过返回值判断是否插入成功,插入成功时返回最新插入数据所在的行号,失败时则返回-1。 - 表3 数据表插入API + 表4 数据表插入API | 类名 | 接口名 | 描述 | | ---- | ---- | ---- | @@ -74,7 +77,7 @@ 调用更新接口,传入要更新的数据,并通过AbsRdbPredicates指定更新条件。该接口的返回值表示更新操作影响的行数。如果更新失败,则返回0。 - 表4 数据表更新API + 表6 数据表更新API | 类名 | 接口名 | 描述 | | ---- | ---- | ---- | | RdbStore | int Update(int &changedRows, const ValuesBucket &values, const AbsRdbPredicates &predicates) | 更新数据库表中符合谓词指定条件的数据。
  • changedRows:更新的记录条数。
  • values:以ValuesBucket存储的要更新的数据。
  • predicates:指定了更新操作的表名和条件。AbsRdbPredicates的实现类有两个:RdbPredicates和RawRdbPredicates。
    • RdbPredicates:支持调用谓词提供的equalTo等接口,设置更新条件。
    • RawRdbPredicates:仅支持设置表名、where条件子句、whereArgs三个参数,不支持equalTo等接口调用。
| @@ -86,7 +89,7 @@ - 直接调用查询接口。使用该接口,会将包含查询条件的谓词自动拼接成完整的SQL语句进行查询操作,无需用户传入原生的SQL语句。 - 执行原生的SQL语句进行查询操作。 - 表6 数据表查询API + 表7 数据表查询API | 类名 | 接口名 | 描述 | | ---- | ---- | ---- | | RdbStore | std::unique_ptr Query(const AbsRdbPredicates &predicates, const std::vector\ columns) | 查询数据。
  • predicates:谓词,可以设置查询条件。AbsRdbPredicates的实现类有两个:RdbPredicates和RawRdbPredicates。
    • RdbPredicates:支持调用谓词提供的equalTo等接口,设置更新条件。
    • RawRdbPredicates:仅支持设置表名、where条件子句、whereArgs三个参数,不支持equalTo等接口调用。
  • columns:规定查询返回的列。
| @@ -96,22 +99,61 @@ 关系型数据库提供了查询返回的结果集ResultSet,其指向查询结果中的一行数据,供用户对查询结果进行遍历和访问。ResultSet对外API如下所示。 - 表8 结果集API - | 类名 | 接口名 | 描述 | - | ---- | ---- | ---- | - | ResultSet | int GoTo(int offset) | 从结果集当前位置移动指定偏移量。 | - | ResultSet | int GoToRow(int position) | 将结果集移动到指定位置。 | - | ResultSet | int GoToNextRow() | 将结果集向后移动一行。 | - | ResultSet | int GoToPreviousRow() | 将结果集向前移动一行。 | - | ResultSet | int IsStarted(bool &result) | 判断结果集是否被移动过。 | - | ResultSet | int IsEnded(bool &result) | 判断结果集是否被移动到最后一行之后。 | - | ResultSet | int IsAtFirstRow(bool &result) | 判断结果集当前位置是否在第一行。 | - | ResultSet | int IsAtLastRow(bool &result) | 判断结果集当前位置是否在最后一行。 | - | ResultSet | int GetRowCount(int &count) | 获取当前结果集中的记录条数。 | - | ResultSet | int GetColumnCount(int &count) | 获取结果集中的列数。 | - | ResultSet | int GetString(int columnIndex, std::string &value) | 获取当前行指定列的值,以String类型返回。 | - | ResultSet | int GetBlob(int columnIndex, std::vector\ &blob) | 获取当前行指定列的值,以字节数组形式返回。 | - | ResultSet | int GetDouble(int columnIndex, double &value) | 获取当前行指定列的值,以double型返回。 | +表8 结果集API +| 类名 | 接口名 | 描述 | +| ---- | ---- | ---- | +| ResultSet | int GoTo(int offset) | 从结果集当前位置移动指定偏移量。 | +| ResultSet | int GoToRow(int position) | 将结果集移动到指定位置。 | +| ResultSet | int GoToNextRow() | 将结果集向后移动一行。 | +| ResultSet | int GoToPreviousRow() | 将结果集向前移动一行。 | +| ResultSet | int IsStarted(bool &result) | 判断结果集是否被移动过。 | +| ResultSet | int IsEnded(bool &result) | 判断结果集是否被移动到最后一行之后。 | +| ResultSet | int IsAtFirstRow(bool &result) | 判断结果集当前位置是否在第一行。 | +| ResultSet | int IsAtLastRow(bool &result) | 判断结果集当前位置是否在最后一行。 | +| ResultSet | int GetRowCount(int &count) | 获取当前结果集中的记录条数。 | +| ResultSet | int GetColumnCount(int &count) | 获取结果集中的列数。 | +| ResultSet | int GetString(int columnIndex, std::string &value) | 获取当前行指定列的值,以String类型返回。 | +| ResultSet | int GetBlob(int columnIndex, std::vector\ &blob) | 获取当前行指定列的值,以字节数组形式返回。 | +| ResultSet | int GetDouble(int columnIndex, double &value) | 获取当前行指定列的值,以double型返回。 | + +### 设置分布式列表 + +用户可以对当前数据库中的列表设置为分布式列表。 + +表9 设置分布式列表 +| 类名 | 接口名 | 描述 | +| ---- | ---- | ---- | +| RdbStore | bool SetDistributedTables(const std::vector& tables) | 设置分布式列表。
  • tables:要设置的分布式列表表名
+ +### 根据本地表名获取指定远程设备的分布式表名 + +用户根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名。 + +表9 根据本地表名获取指定远程设备的分布式表名 +| 类名 | 接口名 | 描述 | +| ---- | ---- | ---- | +| RdbStore | std::string ObtainDistributedTableName(const std::string& device, const std::string& table) | 根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名。
  • device:远程设备ID
  • table:本地表名
+ +### 在设备之间同步数据 + +表10 在设备之间同步数据 +| 类名 | 接口名 | 描述 | +| ---- | ---- | ---- | +| RdbStore | bool Sync(const SyncOption& option, const AbsRdbPredicates& predicate, const SyncCallback& callback) | 在设备之间同步数据。
  • option:同步选项;mode:同步模式(PUSH表示数据从本地设备推送到远程设备/PULL表示数据从远程设备拉至本地设备);isBlock:是否阻塞
  • callback:指定的callback回调函数
+ +### 注册数据库的观察者 + +表10 注册数据库的观察者 +| 类名 | 接口名 | 描述 | +| ---- | ---- | ---- | +| RdbStore | bool Subscribe(const SubscribeOption& option, RdbStoreObserver *observer) | 注册数据库的观察者。当分布式数据库中的数据发生更改时,将调用回调。
  • option:订阅类型;
  • observer:指分布式数据库中数据更改事件的观察者
+ +### 从数据库中删除指定类型的指定观察者 + +表10 从数据库中删除指定类型的指定观察者 +| 类名 | 接口名 | 描述 | +| ---- | ---- | ---- | +| RdbStore | bool UnSubscribe(const SubscribeOption& option, RdbStoreObserver *observer) | 从数据库中删除指定类型的指定观察者。
  • option:订阅类型;
  • observer:指已注册的数据更改观察者
## 约束与限制 @@ -189,3 +231,75 @@ resultSet.goToNextRow(); ``` +4. 设置分布式同步表 + + a. 调用接口设置分布式同步表。 + + 示例代码如下: + + ``` + store->SetDistributedTables("test"); + ``` + +5. 分布式数据同步 + + a. 定义同步模式和阻塞状态。 + + b. 构造用于同步分布式表的谓词对象,指定组网内的远程设备。 + + c. 调用接口同步数据。 + + 示例代码如下: + + ``` + SyncOption option; + option.mode = PUSH; + option.isBlock = true; + AbsRdbPredicates predicate("test"); + predicate.InAllDevices(); + store->Sync(option, predicate, [](const SyncResult& result) { + for (const auto& [device, status] : result) { + LogI("device=%s status=%d", device.c_str(), status); + } + }); + ``` + +6. 分布式数据订阅 + + a. 重写数据更改观察者OnChange()函数。 + + b. 定义分布式数据订阅类型。 + + c. 调用接口实现分布式数据订阅,或取消订阅。 + + 示例代码如下: + + ``` + class MyObserver : public RdbStoreObserver { + public: + void OnChange(const std::vector& devices) override { + for (const auto& device : devices) { + LOGI("device=%s data change", device.c_str()); + } + } + }; + + SubscribeOption option; + option.mode = SubscribeMode::REMOTE; + MyObserver observer; + store->Subscribe(option, &observer); // 分布式数据订阅 + + store->UnSubscribe(option, &observer); // 取消订阅 + ``` + +7. 跨设备查询 + + a. 根据本地表名获取指定远程设备的分布式表名。 + + b. 根据指定SQL语句查询数据库中的数据。 + + 示例代码如下: + ``` + std::string tableName = store->ObtainDistributedTableName("123456789abcd", "test"); + auto resultSet = store->QuerySql("SELECT * from ?;", tableName); + ``` diff --git a/zh-cn/website-directory.md b/zh-cn/website-directory.md index 38ddb94c81f4edf0ec83cdbc235437bb434e6225..97b716421778d8708ab316c1696984dd4476394d 100644 --- a/zh-cn/website-directory.md +++ b/zh-cn/website-directory.md @@ -1380,7 +1380,9 @@ ——>——>——>——> 数据管理 -——>——>——>——>——> [轻量级存储](application-dev/reference/apis/js-apis-data-storage.md) +——>——>——>——>——> [轻量级存储](application-dev/reference/apis/js-apis-data-preferences.md) + +——>——>——>——>——> [轻量级存储(废弃 since 8)](application-dev/reference/apis/js-apis-data-storage.md) ——>——>——>——>——> [分布式数据管理](application-dev/reference/apis/js-apis-distributed-data.md)