未验证 提交 963e8a44 编写于 作者: O openharmony_ci 提交者: Gitee

!1616 RDB资料更新

Merge pull request !1616 from swx1134512/master
......@@ -76,6 +76,8 @@
| 类名 | 接口名 | 描述 |
| -------- | -------- | -------- |
| RdbPredicates |inDevices(devices: Array<string>): RdbPredicates | 同步分布式数据库时指定组网内的远程设备。<br/>-&nbsp;devices:组网内指定的远程设备ID。<br/>-&nbsp;RdbPredicates:返回与指定字段匹配的谓词。 |
| RdbPredicates |inAllDevices(): RdbPredicates | 同步分布式数据库时连接到组网内的所有远程设备。<br/>-&nbsp;RdbPredicates:返回与指定字段匹配的谓词。 |
| RdbPredicates | equalTo(field:&nbsp;string,&nbsp;value:&nbsp;ValueType):&nbsp;RdbPredicates | 配置谓词以匹配数据字段为ValueType且值等于指定值的字段。<br/>-&nbsp;field:数据库表中的列名。<br/>-&nbsp;value:指示要与谓词匹配的值。<br/>-&nbsp;RdbPredicates:返回与指定字段匹配的谓词。 |
| RdbPredicates | notEqualTo(field:&nbsp;string,&nbsp;value:&nbsp;ValueType):&nbsp;RdbPredicates | 配置谓词以匹配数据字段为ValueType且值不等于指定值的字段。<br/>-&nbsp;field:数据库表中的列名。<br/>-&nbsp;value:指示要与谓词匹配的值。<br/>-&nbsp;RdbPredicates:返回与指定字段匹配的谓词。 |
| RdbPredicates | beginWrap():&nbsp;RdbPredicates | 向谓词添加左括号。<br/>-&nbsp;RdbPredicates:返回带有左括号的谓词。 |
......@@ -145,6 +147,54 @@
| RdbStore | changeEncryptKey(newEncryptKey:Uint8Array,&nbsp;callback:&nbsp;AsyncCallback&lt;number&gt;):void; | 数据库更改秘钥接口,通过callback&nbsp;可以异步处理返回结果。返回结果0成功,非0失败。 |
| RdbStore | changeEncryptKey(newEncryptKey:Uint8Array):&nbsp;Promise&lt;number&gt;; | 数据库更改秘钥接口,通过await&nbsp;可以同步处理返回结果。返回结果0成功,非0失败。 |
**设置分布式列表。**
用户可以对当前数据库中的列表设置为分布式列表。
**表9** 设置分布式列表
| 类名 | 接口名 | 描述 |
| -------- | -------- | -------- |
| RdbStore | setDistributedTables(tables: Array<string>, callback: AsyncCallback<void>): void;| 设置分布式列表,结果以callback形式返回。<br/>-&nbsp;tables:要设置的分布式列表表名。<br/>-&nbsp;callback:指定callback回调函数。 |
| RdbStore | setDistributedTables(tables: Array<string>): Promise<void>; | 设置分布式列表,结果以Promise形式返回。<br/>-&nbsp;tables:要设置的分布式列表表名。 |
**根据本地表名获取指定远程设备的分布式表名。**
用户根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名。
**表10** 根据本地表名获取指定远程设备的分布式表名
| 类名 | 接口名 | 描述 |
| -------- | -------- | -------- |
| RdbStore | obtainDistributedTableName(device: string, table: string, callback: AsyncCallback<string>): void; | 根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名, 结果以callbck形式返回。<br/>-&nbsp;device:远程设备。<br/>-&nbsp;table:本地表名。<br/>-&nbsp;callback:指定的callback回调函数,如果操作成功,返回远程设备的分布式表名。 |
| RdbStore | obtainDistributedTableName(device: string, table: string): Promise<string>; | 根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,结果以Promise形式返回。<br/>-&nbsp;device:远程设备。<br/>-&nbsp;table:本地表名。 |
**在设备之间同步数据。**
**表11** 在设备之间同步数据
| 类名 | 接口名 | 描述 |
| -------- | -------- | -------- |
| RdbStore | sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback<Array<[string, number]>>): void;| 在设备之间同步数据,结果以callback形式返回。<br/>-&nbsp;mode:指同步模式。SYNC_MODE_PUSH 表示数据从本地设备推送到远程设备;SYNC_MODE_PULL 表示数据从远程设备拉至本地设备。<br/>-&nbsp;predicates:约束同步数据和设备。<br/>-&nbsp;callback:指定的callback回调函数,string:设备ID;number:每个设备同步状态,0表示成功,其他值表示失败。 |
| RdbStore | sync(mode: SyncMode, predicates: RdbPredicates): Promise<Array<[string, number]>>;| 在设备之间同步数据,结果以Promise形式返回。<br/>-&nbsp;mode:指同步模式。SYNC_MODE_PUSH 表示数据从本地设备推送到远程设备;SYNC_MODE_PULL 表示数据从远程设备拉至本地设备。<br/>-&nbsp;predicates:约束同步数据和设备。 |
**注册数据库的观察者。**
**表12** 注册数据库的观察者
| 类名 | 接口名 | 描述 |
| -------- | -------- | -------- |
| RdbStore |on(event: 'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void;| 注册数据库的观察者。当分布式数据库中的数据发生更改时,将调用回调。<br/>-&nbsp;type:指在{@code SubscribeType}中定义的订阅类型;SUBSCRIBE_TYPE_REMOTE 订阅远程数据更改。<br/>-&nbsp;observer:指分布式数据库中数据更改事件的观察者。 |
**从数据库中删除指定类型的指定观察者。**
**表13** 从数据库中删除指定类型的指定观察者
| 类名 | 接口名 | 描述 |
| -------- | -------- | -------- |
| RdbStore |off(event:'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void;| 从数据库中删除指定类型的指定观察者,结果以callbck形式返回。。<br/>-&nbsp;type:指在{@code SubscribeType}中定义的订阅类型;SUBSCRIBE_TYPE_REMOTE 订阅远程数据更改。<br/>-&nbsp;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
......@@ -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)
- 电话服务
......
# 轻量级存储
轻量级存储为应用提供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字节。<br>**系统能力**:SystemCapability.DistributedDataManager.Preferences.Core |
| MAX_VALUE_LENGTH | string | 是 | 否 | string类型value的最大长度限制,大小为8192字节。<br>**系统能力**:SystemCapability.DistributedDataManager.Preferences.Core |
## data_Preferences.getPreferences
### 系统能力
SystemCapability.DistributedDataManager.Preferences.Core
getPreferences(context: Context, name: string, callback: AsyncCallback&lt;Preferences&gt;): void
读取指定文件,将数据加载到Preferences实例,用于数据操作,使用callback形式返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| context | Context | 是 | 应用程序或功能的上下文 |
| name | string | 是 | 应用程序内部数据存储名称。 |
| callback | AsyncCallback&lt;[Preferences](#preferences)&gt; | 是 | 回调函数。 |
- 示例:
```
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&lt;Preferences&gt;
读取指定文件,将数据加载到Preferences实例,用于数据操作,使用Promise方式作为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| context | Context | 是 | 应用程序或功能的上下文 |
| name | string | 是 | 应用程序内部数据存储名称。 |
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;[Preferences](#preferences)&gt; | 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&lt;void&gt;)
从内存中移除指定文件对应的Preferences单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题,使用callback方式作为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| context | Context | 是 | 应用程序或功能的上下文 |
| name | string | 是 | 应用程序内部数据存储名称。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例:
```
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&lt;void&gt;
从内存中移除指定文件对应的Preferences单实例,并删除指定文件及其备份文件、损坏文件。删除指定文件时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题,使用promise方式作为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| context | Context | 是 | 应用程序或功能的上下文 |
| name | string | 是 | 应用程序内部数据存储名称。 |
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 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&lt;Preferences&gt;): void
从内存中移除指定文件对应的Preferences单实例。移除Preferences单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。
此方法为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| context | Context | 是 | 应用程序或功能的上下文 |
| name | string | 是 | 应用程序内部数据存储名称。 |
| callback | AsyncCallback&lt;[Preferences](#preferences)&gt; | 是 | 回调函数。 |
- 示例:
```
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&lt;void&gt;
从内存中移除指定文件对应的Preferences单实例。移除Preferences单实例时,应用不允许再使用该实例进行数据操作,否则会出现数据一致性问题。
此方法为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| context | Context | 是 | 应用程序或功能的上下文 |
| name | string | 是 | 应用程序内部数据存储名称。 |
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 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&lt;ValueType&gt;): void
获取键对应的值,如果值为null或者非默认值类型,返回默认数据。
此方法为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 要获取的存储key名称。它不能为空。 |
| defValue | ValueType | 是 | 默认返回值。支持number、string、boolean。 |
| callback | AsyncCallback&lt;ValueType&gt; | 是 | 回调函数。 |
- 示例:
```
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&lt;ValueType&gt;
获取键对应的值,如果值为null或者非默认值类型,返默认数据。
此方法为异步方法。
- **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 要获取的存储key名称。它不能为空。 |
| defValue | ValueType | 是 | 默认返回值。支持number、string、boolean。 |
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;ValueType&gt; | 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&lt;void&gt;): void
首先获取指定文件对应的Preferences实例,然后借助Preferences API将数据写入Preferences实例,通过flush或者flushSync将Preferences实例持久化。
此方法为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 要修改的存储的key。它不能为空。 |
| value | ValueType | 是 | 存储的新值。支持number、string、boolean。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例:
```
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&lt;void&gt;
首先获取指定文件对应的Preferences实例,然后借助Preferences API将数据写入Preferences实例,通过flush或者flushSync将Preferences实例持久化。
此方法为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 要修改的存储的key。它不能为空。 |
| value | ValueType | 是 | 存储的新值。支持number、string、boolean。 |
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 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&lt;boolean&gt;): boolean
检查存储对象是否包含名为给定key的存储。
此方法为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 要获取的存储key名称,不能为空。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。 |
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| 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&lt;boolean&gt;
检查存储对象是否包含名为给定key的存储。
此方法为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 要获取的存储key名称。它不能为空。 |
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | 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&lt;void&gt;): void
从存储对象中删除名为给定key的存储。
此方法为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 要获取的存储key名称,不能为空。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例:
```
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&lt;void&gt;
从存储对象删除名为给定key的存储。
此方法为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | string | 是 | 要获取的存储key名称。 |
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 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&lt;void&gt;): void
将当前preferences对象中的修改保存到当前的preferences,并异步存储到文件中。
此方法为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例:
```
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&lt;void&gt;
将当前preferences对象中的修改保存到当前的preferences,并异步存储到文件中。
此方法为异步方法。
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 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&lt;void&gt;): void
清除此存储对象中的所有存储。
此方法为异步方法。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
- 示例:
```
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&lt;void&gt;
清除此存储对象中的所有存储。
此方法为异步方法。
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 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&lt;{ key : string }&gt;): void
订阅数据变更者类,订阅的key的值发生变更后,在执行flush方法后,callback方法会被回调。
- 参数:
| 参数名 | 类型 | 说明 |
| -------- | -------- | -------- |
| type | string | 事件类型,固定值'change',表示数据变更。 |
| callback | Callback&lt;{ key : string }&gt; | 回调对象实例。 |
- 示例:
```
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&lt;{ key : string }&gt;): void
当不再进行订阅数据变更时,使用此接口取消订阅。
- 参数:
| 参数名 | 类型 | 说明 |
| -------- | -------- | -------- |
| type | string | 事件类型,固定值'change',表示数据变更。 |
| callback | Callback&lt;{ key : string }&gt; | 需要取消的回调对象实例。 |
- 示例:
```
var observer = function (key) {
console.info("The key of " + key + " changed.")
}
preferences.off('change', observer)
```
......@@ -152,6 +152,48 @@ constructor(name: string)
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
```
### inDevices
inDevices(devices: Array<string>): RdbPredicates;
同步分布式数据库时指定组网内的远程设备。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| devices | Array<string> | 是 | 指定的组网内的远程设备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&lt;ValueType&gt;):Promise&lt;void&gt;
promise.then(() => {
console.info(TAG + 'delete done.')})
```
### setDistributedTables
setDistributedTables(tables: Array<string>, callback: AsyncCallback<void>): void;
设置分布式列表,结果以callbck形式返回。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| tables | Array<string> | 是 | 要设置的分布式列表表名 |
| callback | AsyncCallback&lt;void&gt; | 是 | 指定callback回调函数。 |
- 示例:
```
rdbStore.setDistributedTables(["EMPLOYEE"], function (err) {
if (err) {
console.info('setDistributedTables failed.')
return
}
console.info('setDistributedTables success.')
})
```
### setDistributedTables
setDistributedTables(tables: Array<string>): Promise<void>;
设置分布式列表,结果以Promise形式返回。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| tables | Array<string> | 是 | 要设置的分布式列表表名。 |
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 指定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<string>): void;
根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名, 结果以callbck形式返回。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| device | string | 是 | 远程设备 。|
| table | string | 是 | 本地表名。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 指定的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<string>;
根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,结果以Promise形式返回。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| device | string | 是 | 远程设备。 |
| table | string | 是 | 本地表名。 |
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;string&gt; | 指定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<Array<[string, number]>>): void;
在设备之间同步数据, 结果以callbck形式返回。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| mode | SyncMode | 是 | 指同步模式。该值可以是推、拉。 |
| predicates | RdbPredicates | 是 | 约束同步数据和设备。 |
| callback | AsyncCallback&lt;Array<[string, number]>&gt; | 是 | 指定的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<Array<[string, number]>>;
在设备之间同步数据,结果以Promise形式返回。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| mode | SyncMode | 是 | 指同步模式。该值可以是推、拉。 |
| predicates | RdbPredicates | 是 | 约束同步数据和设备。 |
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array<[string, number]>&gt; | 指定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<Array<string>>): void;
注册数据库的观察者。当分布式数据库中的数据发生更改时,将调用回调。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | SubscribeType | 是 | 指在{@code SubscribeType}中定义的订阅类型。 |
| observer | Callback<Array<string>> | 是 | 指分布式数据库中数据更改事件的观察者。 |
- 示例:
```
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<Array<string>>): void;
从数据库中删除指定类型的指定观察者, 结果以callbck形式返回。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | SubscribeType | 是 | 指在{@code SubscribeType}中定义的订阅类型。 |
| observer | Callback<Array<string>> | 是 | 指已注册的数据更改观察者。|
- 示例:
```
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&lt;ValueType&gt;):Promise&lt;void&gt;
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| [key:&nbsp;string] | [ValueType](#valuetype)\|&nbsp;Uint8Array&nbsp;\|&nbsp;null | 是 | 用于存储键值对。 |
## SyncMode
指数据库同步模式。
| 名称 | 说明 |
| -------- | -------- |
| SYNC_MODE_PUSH | 表示数据从本地设备推送到远程设备。 |
| SYNC_MODE_PULL | 表示数据从远程设备拉至本地设备。 |
## SubscribeType
描述订阅类型。
| 名称 | 说明 |
| -------- | -------- |
| SUBSCRIBE_TYPE_REMOTE | 订阅远程数据更改。 |
......@@ -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<sup>(deprecated) </sup>
getStorageSync(path: string): Storage
......@@ -55,7 +55,7 @@ getStorageSync(path: string): Storage
```
## dataStorage.getStorage
## dataStorage.getStorage<sup>(deprecated) </sup>
getStorage(path: string, callback: AsyncCallback&lt;Storage&gt;): void
......@@ -85,7 +85,7 @@ getStorage(path: string, callback: AsyncCallback&lt;Storage&gt;): void
```
## dataStorage.getStorage
## dataStorage.getStorage<sup>(deprecated) </sup>
getStorage(path: string): Promise&lt;Storage&gt;
......@@ -118,7 +118,7 @@ getStorage(path: string): Promise&lt;Storage&gt;
```
## dataStorage.deleteStorageSync
## dataStorage.deleteStorageSync<sup>(deprecated) </sup>
deleteStorageSync(path: string): void
......@@ -135,7 +135,7 @@ deleteStorageSync(path: string): void
```
## dataStorage.deleteStorage
## dataStorage.deleteStorage<sup>(deprecated) </sup>
deleteStorage(path: string, callback: AsyncCallback&lt;void&gt;)
......@@ -159,7 +159,7 @@ deleteStorage(path: string, callback: AsyncCallback&lt;void&gt;)
```
## dataStorage.deleteStorage
## dataStorage.deleteStorage<sup>(deprecated) </sup>
deleteStorage(path: string): Promise&lt;void&gt;
......@@ -186,7 +186,7 @@ deleteStorage(path: string): Promise&lt;void&gt;
```
## dataStorage.removeStorageFromCacheSync
## dataStorage.removeStorageFromCacheSync<sup>(deprecated) </sup>
removeStorageFromCacheSync(path: string): void
......@@ -205,7 +205,7 @@ removeStorageFromCacheSync(path: string): void
```
## dataStorage.removeStorageFromCache
## dataStorage.removeStorageFromCache<sup>(deprecated) </sup>
removeStorageFromCache(path: string, callback: AsyncCallback&lt;Storage&gt;): void
......@@ -231,7 +231,7 @@ removeStorageFromCache(path: string, callback: AsyncCallback&lt;Storage&gt;): vo
```
## dataStorage.removeStorageFromCache
## dataStorage.removeStorageFromCache<sup>(deprecated) </sup>
removeStorageFromCache(path: string): Promise&lt;void&gt;
......@@ -260,12 +260,12 @@ removeStorageFromCache(path: string): Promise&lt;void&gt;
```
## Storage
## Storage<sup>(deprecated) </sup>
提供获取和修改存储数据的接口。
### getSync
### getSync<sup>(deprecated) </sup>
getSync(key: string, defValue: ValueType): ValueType
......@@ -291,7 +291,7 @@ getSync(key: string, defValue: ValueType): ValueType
```
### get
### get<sup>(deprecated) </sup>
get(key: string, defValue: ValueType, callback: AsyncCallback&lt;ValueType&gt;): void
......@@ -318,7 +318,7 @@ get(key: string, defValue: ValueType, callback: AsyncCallback&lt;ValueType&gt;):
```
### get
### get<sup>(deprecated) </sup>
get(key: string, defValue: ValueType): Promise&lt;ValueType&gt;
......@@ -348,7 +348,7 @@ get(key: string, defValue: ValueType): Promise&lt;ValueType&gt;
```
### putSync
### putSync<sup>(deprecated) </sup>
putSync(key: string, value: ValueType): void
......@@ -368,7 +368,7 @@ putSync(key: string, value: ValueType): void
```
### put
### put<sup>(deprecated) </sup>
put(key: string, value: ValueType, callback: AsyncCallback&lt;void&gt;): void
......@@ -395,7 +395,7 @@ put(key: string, value: ValueType, callback: AsyncCallback&lt;void&gt;): void
```
### put
### put<sup>(deprecated) </sup>
put(key: string, value: ValueType): Promise&lt;void&gt;
......@@ -425,7 +425,7 @@ put(key: string, value: ValueType): Promise&lt;void&gt;
```
### hasSync
### hasSync<sup>(deprecated) </sup>
hasSync(key: string): boolean
......@@ -452,7 +452,7 @@ hasSync(key: string): boolean
```
### has
### has<sup>(deprecated) </sup>
has(key: string, callback: AsyncCallback&lt;boolean&gt;): boolean
......@@ -485,7 +485,7 @@ has(key: string, callback: AsyncCallback&lt;boolean&gt;): boolean
```
### has
### has<sup>(deprecated) </sup>
has(key: string): Promise&lt;boolean&gt;
......@@ -516,7 +516,7 @@ has(key: string): Promise&lt;boolean&gt;
```
### deleteSync
### deleteSync<sup>(deprecated) </sup>
deleteSync(key: string): void
......@@ -535,7 +535,7 @@ deleteSync(key: string): void
```
### delete
### delete<sup>(deprecated) </sup>
delete(key: string, callback: AsyncCallback&lt;void&gt;): void
......@@ -561,7 +561,7 @@ delete(key: string, callback: AsyncCallback&lt;void&gt;): void
```
### delete
### delete<sup>(deprecated) </sup>
delete(key: string): Promise&lt;void&gt;
......@@ -590,7 +590,7 @@ delete(key: string): Promise&lt;void&gt;
```
### flushSync
### flushSync<sup>(deprecated) </sup>
flushSync(): void
......@@ -604,7 +604,7 @@ flushSync(): void
```
### flush
### flush<sup>(deprecated) </sup>
flush(callback: AsyncCallback&lt;void&gt;): void
......@@ -629,7 +629,7 @@ flush(callback: AsyncCallback&lt;void&gt;): void
```
### flush
### flush<sup>(deprecated) </sup>
flush(): Promise&lt;void&gt;
......@@ -653,7 +653,7 @@ flush(): Promise&lt;void&gt;
```
### clearSync
### clearSync<sup>(deprecated) </sup>
clearSync(): void
......@@ -667,7 +667,7 @@ clearSync(): void
```
### clear
### clear<sup>(deprecated) </sup>
clear(callback: AsyncCallback&lt;void&gt;): void
......@@ -692,7 +692,7 @@ clear(callback: AsyncCallback&lt;void&gt;): void
```
### clear
### clear<sup>(deprecated) </sup>
clear(): Promise&lt;void&gt;
......@@ -716,7 +716,7 @@ clear(): Promise&lt;void&gt;
```
### on('change')
### on('change')<sup>(deprecated) </sup>
on(type: 'change', callback: Callback&lt;StorageObserver&gt;): void
......@@ -739,7 +739,7 @@ on(type: 'change', callback: Callback&lt;StorageObserver&gt;): void
```
### off('change')
### off('change')<sup>(deprecated) </sup>
off(type: 'change', callback: Callback&lt;StorageObserver&gt;): void
......@@ -760,7 +760,7 @@ off(type: 'change', callback: Callback&lt;StorageObserver&gt;): void
```
## StorageObserver
## StorageObserver<sup>(deprecated) </sup>
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
......
# 系统帐号管理
> ![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&lt;void&gt;): void
激活指定系统帐号,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------- | ---- | -------------------- |
| localId | number | 是 | 要激活的系统帐号ID。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调结果。 |
- 示例:激活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&lt;void&gt;
激活指定系统帐号,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ------------ |
| localId | number | 是 | 要激活的系统帐号ID。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;void&gt; | 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&lt;boolean&gt;): void
判断是否支持多系统帐号,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调结果,支持多系统帐号则返回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&lt;boolean&gt;
判断是否支持多系统帐号,使用Promise方式异步返回结果。
- 返回值:
| 类型 | 说明 |
| :--------------- | :---------------------------------- |
| Promise&lt;boolean&gt; | 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&lt;boolean&gt;): void
判断指定系统帐号是否处于激活状态,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ------------------------------ |
| localId | number | 是 | 系统帐号ID。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调结果,处于激活状态则返回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&lt;boolean&gt;
判断指定系统帐号是否处于激活状态,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ------------ |
| localId | number | 是 | 系统帐号ID。 |
- 返回值:
| 类型 | 说明 |
| :--------------- | :---------------------------------- |
| Promise&lt;boolean&gt; | 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&lt;boolean&gt;): void
判断指定系统帐号是否具有指定[约束](#系统帐号约束列表),使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ---------------------- | ---- | ------------------------------ |
| localId | number | 是 | 指定的系统帐号ID。 |
| constraint | string | 是 | 指定的[约束](#系统帐号约束列表)名称。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调结果,具有指定约束则返回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&lt;boolean&gt;
判断指定系统帐号是否具有指定[约束](#系统帐号约束列表),使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ---------------- |
| localId | number | 是 | 指定的系统帐号ID。 |
| constraint | string | 是 | 指定的[约束](#系统帐号约束列表)名称。 |
- 返回值:
| 类型 | 说明 |
| :--------------- | :---------------------------------- |
| Promise&lt;boolean&gt; | 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&lt;boolean&gt;): void
检查当前系统帐号是否为测试帐号,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调结果,是测试帐号则返回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&lt;boolean&gt;
检查当前系统帐号是否为测试帐号,使用Promise方式异步返回结果。
- 返回值:
| 类型 | 说明 |
| :--------------- | :---------------------------------- |
| Promise&lt;boolean&gt; | 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&lt;boolean&gt;): void
检查当前系统帐号是否已验证,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ---------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调结果,已验证则返回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&lt;boolean&gt;): void
检查指定系统帐号是否已验证,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ---------------------------------- |
| localId | number | 否 | 指定的系统帐号ID。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调结果,已验证则返回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&lt;boolean&gt;
检查指定系统帐号是否已验证,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ------------ |
| localId | number | 否 | 指定的系统帐号ID。 |
- 返回值:
| 类型 | 说明 |
| :--------------- | :---------------------------------- |
| Promise&lt;boolean&gt; | 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&lt;void&gt;): void
删除指定系统帐号,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------- | ---- | ------------------------ |
| localId | number | 是 | 要删除的系统帐号ID。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调结果。 |
- 示例:
```
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&lt;void&gt;
删除指定系统帐号,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ------------ |
| localId | number | 是 | 要删除的系统帐号ID。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;void&gt; | 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&lt;string&gt;, enable: boolean,callback: AsyncCallback&lt;void&gt;): void
为指定系统帐号设置/删除[约束](#系统帐号约束列表),使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------- | ---- | ------------------------------- |
| localId | number | 是 | 系统帐号ID。 |
| constraints | Array&lt;string&gt; | 是 | 待设置/删除的[约束](#系统帐号约束列表)列表。 |
| enable | boolean | 是 | 设置(true)/删除(false) |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调结果。 |
- 示例:给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&lt;string&gt;, enable: boolean): Promise&lt;void&gt;
为指定系统帐号设置/删除[约束](#系统帐号约束列表),使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------- | ---- | ----------------------- |
| localId | number | 是 | 系统帐号ID。 |
| constraints | Array&lt;string&gt; | 是 | 待设置/删除的[约束](#系统帐号约束列表)列表。 |
| enable | boolean | 是 | 设置(true)/删除(false)。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;void&gt; | 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&lt;void&gt;): void
设置指定系统帐号的帐号名,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| :-------- | ------------------- | ---- | ------------------------ |
| localId | number | 是 | 系统帐号ID。 |
| localName | string | 是 | 帐号名。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调结果。 |
- 示例:将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&lt;void&gt;
设置指定系统帐号的帐号名,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | ----------------------- |
| localId | number | 是 | 系统帐号ID。 |
| localName | string | 是 | 帐号名。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;void&gt; | 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&lt;number&gt;): void
获取已创建的系统帐号数量,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ------------------------------ |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调结果,返回的是已创建的系统帐号的数量。 |
- 示例:
```
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&lt;number&gt;
获取已创建的系统帐号数量,使用Promise方式异步返回结果。
- 返回值:
| 类型 | 说明 |
| :-------------- | :---------------------------------- |
| Promise&lt;number&gt; | 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&lt;number&gt;): void
获取当前进程所属的系统帐号的帐号ID,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ----------------------------------------- |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调结果,返回的是当前进程所属的系统帐号的帐号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&lt;number&gt;
获取当前进程所属的系统帐号的帐号ID,使用Promise方式异步返回结果。
- 返回值:
| 类型 | 说明 |
| :-------------- | :---------------------------------- |
| Promise&lt;number&gt; | 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&lt;number&gt;): void
从进程uid中获取该uid所属的系统帐号的帐号ID,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | --------------------------------------- |
| uid | number | 是 | 进程uid。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调结果,返回的是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&lt;number&gt;
从进程uid中获取该uid所属的系统帐号的帐号ID,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------- |
| uid | number | 是 | 进程uid。 |
- 返回值:
| 类型 | 说明 |
| :-------------- | :---------------------------------- |
| Promise&lt;number&gt; | 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&lt;number&gt;): void
根据域帐号信息,获取与其关联的系统帐号的帐号ID。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | --------------------------------------- |
| domainInfo | [DomainAccountInfo](#domainaccountinfo) | 是 | 域帐号信息。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调结果,返回的是和域帐号关联的系统帐号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&lt;number&gt;
根据域帐号信息,获取与其关联的系统帐号的帐号ID,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------- |
| domainInfo | [DomainAccountInfo](#domainaccountinfo) | 是 | 域帐号信息。 |
- 返回值:
| 类型 | 说明 |
| :-------------- | :---------------------------------- |
| Promise&lt;number&gt; | 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&lt;number&gt;): void
查询允许创建的系统帐号的最大数量,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ---------------------------------- |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调结果,返回的是允许创建的系统帐号的最大数量。 |
- 示例:
```
const accountManager = account_osAccount.getAccountManager();
accountManager.queryMaxOsAccountNumber((err, maxCnt)=>{
console.log("queryMaxOsAccountNumber err:" + JSON.stringify(err));
console.log("queryMaxOsAccountNumber maxCnt:" + maxCnt);
});
```
### queryMaxOsAccountNumber
queryMaxOsAccountNumber(): Promise&lt;number&gt;
查询允许创建的系统帐号的最大数量,使用Promise方式异步返回结果。
- 返回值:
| 类型 | 说明 |
| :-------------- | :---------------------------------- |
| Promise&lt;number&gt; | 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&lt;Array&lt;string&gt;&gt;): void
获取指定系统帐号的全部[约束](#系统帐号约束列表),使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ---------------------------------- |
| localId | number | 是 | 系统帐号ID。 |
| callback | AsyncCallback&lt;Array&lt;string&gt;&gt; | 是 | 回调结果,返回的是该系统帐号的全部[约束](#系统帐号约束列表)。 |
- 示例:获取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&lt;Array&lt;string&gt;&gt;
获取指定系统帐号的全部[约束](#系统帐号约束列表),使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ------------ |
| localId | number | 是 | 系统帐号ID。 |
- 返回值:
| 类型 | 说明 |
| :--------------------- | :---------------------------------- |
| Promise&lt;Array&lt;string&gt;&gt; | 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&lt;Array&lt;OsAccountInfo&gt;&gt;): void
查询已创建的所有系统帐号的信息列表,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | -------------------------------- |
| callback | AsyncCallback&lt;Array&lt;[OsAccountInfo](#osaccountinfo)&gt;&gt; | 是 | 回调结果,返回的是已创建的所有系统帐号的信息列表。 |
- 示例:
```
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&lt;Array&lt;OsAccountInfo&gt;&gt;
查询已创建的所有系统帐号的信息列表,使用Promise方式异步返回结果。
- 返回值:
| 类型 | 说明 |
| :---------------------------- | :---------------------------------- |
| Promise&lt;Array&lt;[OsAccountInfo](#osaccountinfo)&gt;&gt; | 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&lt;Array&lt;number&gt;&gt;): void
查询当前处于激活状态的系统帐号的ID列表,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | ---- | -------------------------------- |
| callback | AsyncCallback&lt;Array&lt;number&gt;&gt; | 是 | 回调结果,返回的是当前处于激活状态的系统帐号的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<idArray.length;i++) {
console.info("activated os account id: " + idArray[i]);
}
});
```
### queryActivatedOsAccountIds
queryActivatedOsAccountIds(): Promise&lt;Array&lt;number&gt;&gt;
查询当前处于激活状态的系统帐号的ID列表,使用Promise方式异步返回结果。
- 返回值:
| 类型 | 说明 |
| :---------------------------- | :---------------------------------- |
| Promise&lt;Array&lt;number&gt;&gt; | Promise实例,用于获取异步返回结果,返回的是当前处于激活状态的系统帐号的ID列表。 |
- 示例:
```
const accountManager = account_osAccount.getAccountManager();
accountManager.queryActivatedOsAccountIds().then((idArray) => {
console.log('queryActivatedOsAccountIds, idArray: ' + idArray);
}).catch((err) => {
console.log("queryActivatedOsAccountIds err: " + JSON.stringify(err));
});
```
### createOsAccount
createOsAccount(localName: string, type: OsAccountType, callback: AsyncCallback&lt;OsAccountInfo&gt;): void
创建一个系统帐号,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| :-------- | ---------------------------- | ---- | -------------------- |
| localName | string | 是 | 创建的系统帐号的名称。 |
| type | [OsAccountType](#osaccounttype) | 是 | 创建的系统帐号的类型。 |
| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是 | 回调结果,返回的是新创建的系统帐号的信息。 |
- 示例:
```
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&lt;OsAccountInfo&gt;
创建一个系统帐号,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------- | ---- | ---------------- |
| localName | string | 是 | 创建的系统帐号的名称。 |
| type | [OsAccountType](#osaccounttype) | 是 | 创建的系统帐号的类型。 |
- 返回值:
| 类型 | 说明 |
| :--------------------- | :---------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | 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&lt;OsAccountInfo&gt;): void
根据域帐号信息,创建一个系统帐号并将其与域帐号关联,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| :-------- | ---------------------------- | ---- | -------------------- |
| type | [OsAccountType](#osaccounttype) | 是 | 创建的系统帐号的类型。 |
| domainInfo | [DomainAccountInfo](#domainaccountinfo) | 是 | 域帐号信息。 |
| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是 | 回调结果,返回的是新创建的系统帐号的信息。 |
- 示例:
```
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&lt;OsAccountInfo&gt;
根据传入的域帐号信息,创建与其关联的系统帐号,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------- | ---- | ---------------- |
| type | [OsAccountType](#osaccounttype) | 是 | 创建的系统帐号的类型。 |
| domainInfo | [DomainAccountInfo](#domainaccountinfo) | 是 | 域帐号信息。 |
- 返回值:
| 类型 | 说明 |
| :--------------------- | :---------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | 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&lt;OsAccountInfo&gt;): void
查询当前进程所属的系统帐号的信息,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | -------------------------- |
| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是 | 回调结果,返回的是当前进程所属的系统帐号信息。 |
- 示例:
```
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&lt;OsAccountInfo&gt;
查询当前进程所属的系统帐号的信息,使用Promise方式异步返回结果。
- 返回值:
| 类型 | 说明 |
| :--------------------- | :---------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | 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&lt;OsAccountInfo&gt;): void
查询指定系统帐号的信息,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | -------------------------- |
| localId | number | 是 | 要查询的系统帐号的ID |
| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是 | 回调结果,返回的是查到的系统帐号的信息。 |
- 示例:查询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&lt;OsAccountInfo&gt;
查询指定系统帐号的信息,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | -------------------------- |
| localId | number | 是 | 要查询的系统帐号的ID |
- 返回值:
| 类型 | 说明 |
| :--------------------- | :---------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | 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&lt;OsAccountType&gt;): void
查询当前进程所属的系统帐号的帐号类型,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | ---------------------------------------- |
| callback | AsyncCallback&lt;[OsAccountType](#osaccounttype)&gt; | 是 | 回调结果,返回的是当前进程所属的系统帐号的帐号类型。 |
- 示例:
```
const accountManager = account_osAccount.getAccountManager();
accountManager.getOsAccountTypeFromProcess((err, accountType) => {
console.log("getOsAccountTypeFromProcess err: " + JSON.stringify(err));
console.log('getOsAccountTypeFromProcess accountType: ' + accountType);
});
```
### getOsAccountTypeFromProcess
getOsAccountTypeFromProcess(): Promise&lt;OsAccountType&gt;
查询当前进程所属的系统帐号的帐号类型,使用Promise方式异步返回结果。
- 返回值:
| 类型 | 说明 |
| :--------------------- | :---------------------------------- |
| Promise&lt;[OsAccountType](#osaccounttype)&gt; | 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&lt;string&gt;): void
获取分布式虚拟设备ID,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ---------------------------- |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调结果,返回的是分布式虚拟设备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&lt;string&gt;
获取分布式虚拟设备ID,使用Promise方式异步返回结果。
- 返回值:
| 类型 | 说明 |
| :-------------- | :---------------------------------- |
| Promise&lt;string&gt; | 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&lt;string&gt;): void
获取指定系统帐号的头像信息,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ------------------------ |
| localId | number | 是 | 系统帐号ID。 |
| callback | AsyncCallback&lt;string&gt; | 是 | 回调结果,返回的是该系统帐号的头像信息。 |
- 示例:获取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&lt;string&gt;
获取指定系统帐号的头像信息,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ------------ |
| localId | number | 是 | 系统帐号ID。 |
- 返回值:
| 类型 | 说明 |
| :-------------- | :---------------------------------- |
| Promise&lt;string&gt; | 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&lt;void&gt;): void
为指定系统帐号设置头像信息,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------- | ---- | ------------------------ |
| localId | number | 是 | 系统帐号ID。 |
| photo | string | 是 | 头像信息。 |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调结果。 |
- 示例:给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&lt;void&gt;
为指定系统帐号设置头像信息,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ------------ |
| localId | number | 是 | 系统帐号ID。 |
| photo | string | 是 | 头像信息。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;void&gt; | 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&lt;number&gt;): void
通过SN码查询与其关联的系统帐号的帐号ID,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | --------------------- | ---- | ------------------------------ |
| serialNumber | number | 是 | 帐号SN码。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调结果,返回的是与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&lt;number&gt;
通过SN码查询与其关联的系统帐号的帐号ID,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | ------ | ---- | ---------- |
| serialNumber | number | 是 | 帐号SN码。 |
- 返回值:
| 类型 | 说明 |
| :-------------- | :---------------------------------- |
| Promise&lt;number&gt; | 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&lt;number&gt;): void
通过系统帐号ID获取与该系统帐号关联的SN码,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ------------------------------ |
| localId | number | 是 | 系统帐号ID。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 回调结果,返回的是与该系统帐号关联的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&lt;number&gt;
通过系统帐号ID获取与该系统帐号关联的SN码,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------ | ---- | ------------ |
| localId | number | 是 | 系统帐号ID。 |
- 返回值:
| 类型 | 说明 |
| :-------------- | :---------------------------------- |
| Promise&lt;number&gt; | 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&lt;number&gt;): void
订阅系统帐号的变动信息,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------- | ---- | ------------------------ |
| type | 'activate' \| 'activating' | 是 | 订阅类型,activate表示订阅的是帐号已激活完成的事件,activating表示订阅的是帐号正在激活的事件。 |
| name | string | 是 | 订阅名称,可自定义,要求非空且长度不超过1024字节。|
| callback | Callback&lt;number&gt; | 是 | 订阅系统帐号变动信息的回调,表示当前事件对应的系统帐号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&lt;number&gt;): void
取消订阅系统帐号的变动信息,使用callback回调异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------- | ---- | ---------------------------- |
| type | 'activate' \| 'activating' | 是 | 取消订阅类型,activate表示取消订阅帐号已激活完成的事件,activating取消订阅帐号正在激活的事件。 |
| name | string | 是 | 订阅名称,可自定义,,要求非空且长度不超过1024字节,需要与订阅接口传入的值保持一致。 |
| callback | Callback&lt;number&gt; | 否 | 取消订阅系统帐号变化的回调,默认返回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&lt;string&gt; | 否 | 系统帐号[约束](#系统帐号约束列表) |
| 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 |
......@@ -47,7 +47,7 @@ Progress(value: {value: number, total?: number, style?: ProgressStyle})
| -------- | -------- | -------- | -------- |
| value | number | - | 设置当前进度值。 |
| color | Color | - | 设置进度条前景色。 |
| circularStyle<sup>8+</sup> | {<br/>strokeWidth?:&nbsp;Length,<br/>scaleCount?:&nbsp;number,<br/>scaleWidth?:&nbsp;Length<br/>} | - | 定义style为ProgressStyle.ScaleRing时的样式,包括:宽度,总刻度数,刻度粗细。<br/>strokeWidth:&nbsp;设置环形进度条宽度。<br/>scaleCount:&nbsp;设置环形进度条总刻度数。<br/>scaleWidth:&nbsp;设置环形进度条刻度粗细。<br/>刻度粗细大于进度条宽度时,刻度粗细为系统默认粗细。 |
| style<sup>8+</sup> | {<br/>strokeWidth?:&nbsp;Length,<br/>scaleCount?:&nbsp;number,<br/>scaleWidth?:&nbsp;Length<br/>} | - | 定义组件的样式。<br/>strokeWidth:&nbsp;设置进度条宽度。<br/>scaleCount:&nbsp;设置环形进度条总刻度数。<br/>scaleWidth:&nbsp;设置环形进度条刻度粗细。<br/>刻度粗细大于进度条宽度时,刻度粗细为系统默认粗细。 |
## 示例
......@@ -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%')
......
......@@ -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\<std::string\> whereArgs) | 设置whereArgs参数,该值表示where子句中占位符的值。 |
| RdbPredicates | AbsRdbPredicates *InDevices(std::vector<std::string>& 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) | 更新数据库表中符合谓词指定条件的数据。<ul><li> changedRows:更新的记录条数。 </li><li> values:以ValuesBucket存储的要更新的数据。 </li><li> predicates:指定了更新操作的表名和条件。AbsRdbPredicates的实现类有两个:RdbPredicates和RawRdbPredicates。<ul><li> RdbPredicates:支持调用谓词提供的equalTo等接口,设置更新条件。</li><li> RawRdbPredicates:仅支持设置表名、where条件子句、whereArgs三个参数,不支持equalTo等接口调用。 </li></ul></li></ul> |
......@@ -86,7 +89,7 @@
- 直接调用查询接口。使用该接口,会将包含查询条件的谓词自动拼接成完整的SQL语句进行查询操作,无需用户传入原生的SQL语句。
- 执行原生的SQL语句进行查询操作。
6 数据表查询API
7 数据表查询API
| 类名 | 接口名 | 描述 |
| ---- | ---- | ---- |
| RdbStore | std::unique_ptr<AbsSharedResultSet> Query(const AbsRdbPredicates &predicates, const std::vector\<std::string\> columns) | 查询数据。<ul><li> predicates:谓词,可以设置查询条件。AbsRdbPredicates的实现类有两个:RdbPredicates和RawRdbPredicates。<ul><li> RdbPredicates:支持调用谓词提供的equalTo等接口,设置更新条件。</li><li> RawRdbPredicates:仅支持设置表名、where条件子句、whereArgs三个参数,不支持equalTo等接口调用。 </li></ul> <li> columns:规定查询返回的列。</li></ul></li></ul> |
......@@ -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\<uint8_t\> &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\<uint8_t\> &blob) | 获取当前行指定列的值,以字节数组形式返回。 |
| ResultSet | int GetDouble(int columnIndex, double &value) | 获取当前行指定列的值,以double型返回。 |
### 设置分布式列表
用户可以对当前数据库中的列表设置为分布式列表。
表9 设置分布式列表
| 类名 | 接口名 | 描述 |
| ---- | ---- | ---- |
| RdbStore | bool SetDistributedTables(const std::vector<std::string>& tables) | 设置分布式列表。<ul><li> tables:要设置的分布式列表表名 </li></ul>
### 根据本地表名获取指定远程设备的分布式表名
用户根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名。
表9 根据本地表名获取指定远程设备的分布式表名
| 类名 | 接口名 | 描述 |
| ---- | ---- | ---- |
| RdbStore | std::string ObtainDistributedTableName(const std::string& device, const std::string& table) | 根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名。<ul><li> device:远程设备ID </li><li> table:本地表名</li></ul>
### 在设备之间同步数据
表10 在设备之间同步数据
| 类名 | 接口名 | 描述 |
| ---- | ---- | ---- |
| RdbStore | bool Sync(const SyncOption& option, const AbsRdbPredicates& predicate, const SyncCallback& callback) | 在设备之间同步数据。<ul><li> option:同步选项;mode:同步模式(PUSH表示数据从本地设备推送到远程设备/PULL表示数据从远程设备拉至本地设备);isBlock:是否阻塞 </li><li> callback:指定的callback回调函数</li></ul>
### 注册数据库的观察者
表10 注册数据库的观察者
| 类名 | 接口名 | 描述 |
| ---- | ---- | ---- |
| RdbStore | bool Subscribe(const SubscribeOption& option, RdbStoreObserver *observer) | 注册数据库的观察者。当分布式数据库中的数据发生更改时,将调用回调。<ul><li> option:订阅类型;</li><li> observer:指分布式数据库中数据更改事件的观察者</li></ul>
### 从数据库中删除指定类型的指定观察者
表10 从数据库中删除指定类型的指定观察者
| 类名 | 接口名 | 描述 |
| ---- | ---- | ---- |
| RdbStore | bool UnSubscribe(const SubscribeOption& option, RdbStoreObserver *observer) | 从数据库中删除指定类型的指定观察者。<ul><li> option:订阅类型;</li><li> observer:指已注册的数据更改观察者</li></ul>
## 约束与限制
......@@ -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<std::string>& 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);
```
......@@ -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)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册