提交 796a106e 编写于 作者: Z zengyawen

update docs

Signed-off-by: Nzengyawen <zengyawen1@huawei.com>
上级 f19488de
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
- [媒体服务](js-apis-media.md) - [媒体服务](js-apis-media.md)
- 安全 - 安全
- [用户认证](js-apis-useriam-userauth.md) - [用户认证](js-apis-useriam-userauth.md)
- [访问控制](js-apis-security-accessToken.md) - [访问控制](js-apis-abilityAccessCtrl.md)
- 数据管理 - 数据管理
- [轻量级存储](js-apis-data-storage.md) - [轻量级存储](js-apis-data-storage.md)
- [分布式数据管理](js-apis-distributed-data.md) - [分布式数据管理](js-apis-distributed-data.md)
...@@ -68,13 +68,15 @@ ...@@ -68,13 +68,15 @@
- [定时器](js-apis-basic-features-timer.md) - [定时器](js-apis-basic-features-timer.md)
- [设置系统时间](js-apis-system-time.md) - [设置系统时间](js-apis-system-time.md)
- [动画](js-apis-basic-features-animator.md) - [动画](js-apis-basic-features-animator.md)
- [WebGL](js-apis-webgl.md)
- [WebGL2](js-apis-webgl2.md)
- DFX
- [应用打点](js-apis-hiappevent.md) - [应用打点](js-apis-hiappevent.md)
- [性能打点](js-apis-hitracemeter.md) - [性能打点](js-apis-hitracemeter.md)
- [故障日志获取](js-apis-faultLogger.md) - [故障日志获取](js-apis-faultLogger.md)
- [分布式跟踪](js-apis-hitracechain.md) - [分布式跟踪](js-apis-hitracechain.md)
- [日志打印](js-apis-hilog.md) - [日志打印](js-apis-hilog.md)
- [WebGL](js-apis-webgl.md) - [检测模式](js-apis-hichecker.md)
- [WebGL2](js-apis-webgl2.md)
- 语言基础类库 - 语言基础类库
- [获取进程相关的信息](js-apis-process.md) - [获取进程相关的信息](js-apis-process.md)
- [URL字符串解析](js-apis-url.md) - [URL字符串解析](js-apis-url.md)
......
# 访问控制管理
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import abilityAccessCtrl from '@ohos.abilityAccessCtrl'
```
## 系统能力
SystemCapability.Security.AccessToken
## abilityAccessCtrl.createAtManager
createAtManager(): AtManager
访问控制管理:获取访问控制模块对象。
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| [AtManager](#atmanager) | 获取访问控制模块的实例。 |
**示例:**
```
var AtManager = abilityAccessCtrl.createAtManager();
```
## AtManager
管理访问控制模块的实例。
### verifyAccessToken
verifyAccessToken(tokenID: number, permissionName: string): Promise&lt;GrantStatus&gt;
校验应用是否授予权限,使用Promise方式异步返回结果。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------- | ---- | ------------------------------------------ |
| tokenID | number | 是 | 要校验的目标应用的身份标识。 |
| permissionName | string | 是 | 需要校验的权限名称。 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;GrantStatus&gt; | Promise实例,用于获取异步返回的授权状态结果。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.verifyAccessToken(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### grantUserGrantedPermission
grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise&lt;number&gt;
授予应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被授予的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回的授权操作结果。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### grantUserGrantedPermission
grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback&lt;number&gt;): void
授予应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被授予的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 检查授予应用user grant权限的操作结果同步的回调。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
### revokeUserGrantedPermission
revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise&lt;number&gt;
撤销应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被撤销的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回的授权操作结果。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
let promise = AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag);
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### revokeUserGrantedPermission
revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback&lt;number&gt;): void
撤销应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被撤销的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 检查撤销应用user grant权限的操作结果同步的回调。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
### getPermissionFlags
getPermissionFlags(tokenID: number, permissionName: string): Promise&lt;number&gt;
获取指定应用的指定权限的flag,使用Promise方式异步返回结果。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 查询的权限名称。 |
**返回值:**
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回的查询结果。 |
**示例:**
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.getPermissionFlags(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
\ No newline at end of file
...@@ -23,22 +23,23 @@ startTrace(name: string, taskId: number, expectedTime?: number): void ...@@ -23,22 +23,23 @@ startTrace(name: string, taskId: number, expectedTime?: number): void
标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。 标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。
**参数:**
- 参数: | 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | -------- | -------- | | name | string | 是 | 要追踪的任务名称 |
| name | string | 是 | 要追踪的任务名称 | | taskId | number | 是 | 任务id |
| taskId | number | 是 | 任务id | | expectedTime | number | 否 | 期望的耗时时间,单位:ms |
| expectedTime | number | 否 | 期望的耗时时间,单位:ms |
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 如果有多个相同name的任务需要追踪或者对同一个任务要追踪多次,并且这些会同时被执行,则每次调用startTrace的taskId必须不一致。如果具有相同name的任务是串行执行的,则taskId可以相同。在下面bytrace.finishTrace的示例中会举例说明。 > 如果有多个相同name的任务需要追踪或者对同一个任务要追踪多次,并且这些会同时被执行,则每次调用startTrace的taskId必须不一致。如果具有相同name的任务是串行执行的,则taskId可以相同。在下面bytrace.finishTrace的示例中会举例说明。
- 示例: **示例:**
```
bytrace.startTrace("myTestFunc", 1); ```
bytrace.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms bytrace.startTrace("myTestFunc", 1);
``` bytrace.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms
```
## bytrace.finishTrace ## bytrace.finishTrace
...@@ -47,42 +48,43 @@ finishTrace(name: string, taskId: number): void ...@@ -47,42 +48,43 @@ finishTrace(name: string, taskId: number): void
标记一个预追踪耗时任务的结束。 标记一个预追踪耗时任务的结束。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的任务名称 |
| taskId | number | 是 | 任务id |
- 参数: > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
| 参数名 | 类型 | 必填 | 说明 | > finishTrace的name和taskId必须与流程开始的startTrace对应参数值一致。
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的任务名称 | **示例:**
| taskId | number | 是 | 任务id |
```
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** bytrace.finishTrace("myTestFunc", 1);
> finishTrace的name和taskId必须与流程开始的startTrace对应参数值一致。 ```
- 示例: ```
``` //追踪并行执行的同名任务
bytrace.finishTrace("myTestFunc", 1); bytrace.startTrace("myTestFunc", 1);
``` //业务流程......
bytrace.startTrace("myTestFunc", 2); //第二个追踪的任务开始,同时第一个追踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
``` //业务流程......
//追踪并行执行的同名任务 bytrace.finishTrace("myTestFunc", 1);
bytrace.startTrace("myTestFunc", 1); //业务流程......
//业务流程...... bytrace.finishTrace("myTestFunc", 2);
bytrace.startTrace("myTestFunc", 2); //第二个追踪的任务开始,同时第一个追踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。 ```
//业务流程......
bytrace.finishTrace("myTestFunc", 1); ```
//业务流程...... //追踪串行执行的同名任务
bytrace.finishTrace("myTestFunc", 2); bytrace.startTrace("myTestFunc", 1);
``` //业务流程......
bytrace.finishTrace("myTestFunc", 1); //第一个追踪的任务结束
``` //业务流程......
//追踪串行执行的同名任务 bytrace.startTrace("myTestFunc", 1); //第二个追踪的同名任务开始,同名的待追踪任务串行执行。
bytrace.startTrace("myTestFunc", 1); //业务流程......
//业务流程...... bytrace.finishTrace("myTestFunc", 1);
bytrace.finishTrace("myTestFunc", 1); //第一个追踪的任务结束 ```
//业务流程......
bytrace.startTrace("myTestFunc", 1); //第二个追踪的同名任务开始,同名的待追踪任务串行执行。
//业务流程......
bytrace.finishTrace("myTestFunc", 1);
```
## bytrace.traceByValue ## bytrace.traceByValue
...@@ -91,18 +93,18 @@ traceByValue(name: string, value: number): void ...@@ -91,18 +93,18 @@ traceByValue(name: string, value: number): void
用来标记一个预追踪的数值变量,该变量的数值会不断变化。 用来标记一个预追踪的数值变量,该变量的数值会不断变化。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的数值变量名称 |
| value | number | 是 | 变量的值 |
**示例:**
- 参数: ```
| 参数名 | 类型 | 必填 | 说明 | let traceCount = 3;
| -------- | -------- | -------- | -------- | bytrace.traceByValue("myTestCount", traceCount);
| name | string | 是 | 要追踪的数值变量名称 | traceCount = 4;
| value | number | 是 | 变量的值 | bytrace.traceByValue("myTestCount", traceCount);
//业务流程......
- 示例: ```
```
let traceCount = 3;
bytrace.traceByValue("myTestCount", traceCount);
traceCount = 4;
bytrace.traceByValue("myTestCount", traceCount);
//业务流程......
```
...@@ -10,6 +10,10 @@ ...@@ -10,6 +10,10 @@
import convertxml from '@ohos.convertxml'; import convertxml from '@ohos.convertxml';
``` ```
## 系统能力
SystemCapability.Utils.Lang
## ConvertXML ## ConvertXML
......
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
import Deque from '@ohos.util.Deque' import Deque from '@ohos.util.Deque'
``` ```
## 权限 ## 系统能力
SystemCapability.Utils.Lang
## Deque ## Deque
...@@ -20,232 +20,252 @@ import Deque from '@ohos.util.Deque' ...@@ -20,232 +20,252 @@ import Deque from '@ohos.util.Deque'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | Deque的元素个数 | | length | number | 是 | 否 | Deque的元素个数 |
### constructor ### constructor
constructor(); constructor()
Deque的构造函数。 Deque的构造函数。
- 示例: **示例:**
```
let deque = new Deque(); ```
``` let deque = new Deque();
```
### insertFront ### insertFront
insertFront(element: T): void; insertFront(element: T): void
在deque头部插入元素。 在deque头部插入元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 添加进去的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 插入的元素。 |
- 示例:
``` **示例:**
let deque = new Deque;
deque.insertFront("a"); ```
deque.insertFront(1); let deque = new Deque;
let b = [1, 2, 3]; deque.insertFront("a");
deque.insertFront(b); deque.insertFront(1);
let c = {name : "lala", age : "13"}; let b = [1, 2, 3];
deque.insertFront(false); deque.insertFront(b);
``` let c = {name : "lala", age : "13"};
deque.insertFront(false);
```
### insertEnd ### insertEnd
insertEnd(element: T): void; insertEnd(element: T): void
在deque尾部插入元素。 在deque尾部插入元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 添加进去的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 插入的元素。 |
- 示例:
``` **示例:**
let deque = new Deque;
deque.insertEnd("a"); ```
deque.insertEnd(1); let deque = new Deque;
let b = [1, 2, 3]; deque.insertEnd("a");
deque.insertEnd(b); deque.insertEnd(1);
let c = {name : "lala", age : "13"}; let b = [1, 2, 3];
deque.insertEnd(false); deque.insertEnd(b);
``` let c = {name : "lala", age : "13"};
deque.insertEnd(false);
```
### has ### has
has(element: T): boolean; has(element: T): boolean
判断此Deque中是否含有该指定元素。 判断此Deque中是否含有该指定元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 指定的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 指定的元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 是否包含指定元素 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 如果包含指定元素返回true,否则返回false。 |
```
let deque = new Deque(); **示例:**
deque.has("Ahfbrgrbgnutfodgorrogorg");
deque.insertFront("Ahfbrgrbgnutfodgorrogorg"); ```
deque.has("Ahfbrgrbgnutfodgorrogorg"); let deque = new Deque();
``` deque.has("Ahfbrgrbgnutfodgorrogorg");
deque.insertFront("Ahfbrgrbgnutfodgorrogorg");
deque.has("Ahfbrgrbgnutfodgorrogorg");
```
### popFirst ### popFirst
popFirst(): T; popFirst(): T
删除并返回双端队列的首元素。 删除并返回双端队列的首元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回删除的元素 | | -------- | -------- |
| T | 返回被删除的元素。 |
- 示例:
``` **示例:**
let deque = new Deque();
deque.insertFront(2); ```
deque.insertFront(4); let deque = new Deque();
deque.insertEnd(5); deque.insertFront(2);
deque.insertFront(2); deque.insertFront(4);
deque.insertFront(4); deque.insertEnd(5);
deque.popFirst(); deque.insertFront(2);
``` deque.insertFront(4);
deque.popFirst();
```
### popLast ### popLast
popLast(): T; popLast(): T
删除并返回双端队列的尾元素。 删除并返回双端队列的尾元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回删除的元素 | | -------- | -------- |
| T | 返回被删除的元素。 |
- 示例:
``` **示例:**
let deque = new Deque();
deque.insertFront(2); ```
deque.insertEnd(4); let deque = new Deque();
deque.insertFront(5); deque.insertFront(2);
deque.insertFront(2); deque.insertEnd(4);
deque.insertFront(4); deque.insertFront(5);
deque.popLast(); deque.insertFront(2);
``` deque.insertFront(4);
deque.popLast();
```
### forEach ### forEach
forEach(callbackfn: (value: T, index?: number, deque?: Deque&lt;T&gt;) => void, forEach(callbackfn: (value: T, index?: number, deque?: Deque&lt;T&gt;) => void,
thisArg?: Object): void; thisArg?: Object): void
通过回调函数来遍历Deque实例对象上的元素以及元素对应的下标。 通过回调函数来遍历Deque实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素 | | -------- | -------- | -------- | -------- |
| index | number | 否 | 当前遍历到的下标值 | | value | T | 是 | 当前遍历到的元素。 |
| deque | Deque&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 | | index | number | 否 | 当前遍历到的下标值。 |
| deque | Deque&lt;T&gt; | 否 | 当前调用forEach方法的实例对象。 |
- 示例:
``` **示例:**
let deque = new Deque();
deque.insertFront(2); ```
deque.insertEnd(4); let deque = new Deque();
deque.insertFront(5); deque.insertFront(2);
deque.insertEnd(4); deque.insertEnd(4);
deque.forEach((value, index) => { deque.insertFront(5);
console.log(value, index); deque.insertEnd(4);
}); deque.forEach((value, index) => {
``` console.log(value, index);
});
```
### getFirst ### getFirst
getFirst(): T; getFirst(): T;
获取Deque实例中的头元素。 获取Deque实例中的头元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回T型 | | -------- | -------- |
| T | 返回T型 |
- 示例: **示例:**
```
let deque = new Deque(); ```
deque.insertEnd(2); let deque = new Deque();
deque.insertEnd(4); deque.insertEnd(2);
deque.insertFront(5); deque.insertEnd(4);
deque.insertFront(4); deque.insertFront(5);
deque.getFirst(); deque.insertFront(4);
``` deque.getFirst();
```
### getLast ### getLast
getLast(): T; getLast(): T
获取Deque实例中的尾元素。 获取Deque实例中的尾元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回T型 | | -------- | -------- |
| T | 返回T型 |
**示例:**
- 示例: ```
``` let deque = new Deque();
let deque = new Deque(); deque.insertFront(2);
deque.insertFront(2); deque.insertFront(4);
deque.insertFront(4); deque.insertFront(5);
deque.insertFront(5); deque.insertFront(4);
deque.insertFront(4); deque.getLast();
deque.getLast(); ```
```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; [Symbol.iterator]\(): IterableIterator&lt;T&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
- 返回值: **示例:**
| 类型 | 说明 | ```
| -------- | -------- | let deque = new Deque();
| IterableIterator&lt;T&gt; | 返回一个迭代器。 | deque.insertFront(2);
deque.insertFront(4);
deque.insertFront(5);
- 示例: deque.insertFront(4);
```
let deque = new Deque(); // 使用方法一:
deque.insertFront(2); for (let item of deque) {
deque.insertFront(4); console.log(item);
deque.insertFront(5); }
deque.insertFront(4);
// 使用方法二:
// 使用方法一: let iter = deque[Symbol.iterator]();
for (let item of deque) { let temp = iter.next().value;
console.log(item); while(temp != undefined) {
} console.log(temp);
temp = iter.next().value;
// 使用方法二: }
let iter = deque[Symbol.iterator](); ```
let temp = iter.next().value; \ No newline at end of file
while(temp != undefined) {
console.log(temp);
temp = iter.next().value;
}
```
\ No newline at end of file
...@@ -7,9 +7,9 @@ import deviceInfo from '@ohos.deviceInfo' ...@@ -7,9 +7,9 @@ import deviceInfo from '@ohos.deviceInfo'
``` ```
## 权限列表 ## 系统能力
SystemCapability.Startup.SysInfo
## 属性 ## 属性
......
...@@ -14,7 +14,7 @@ SystemCapability.HiviewDFX.Hiview.FaultLogger ...@@ -14,7 +14,7 @@ SystemCapability.HiviewDFX.Hiview.FaultLogger
## FaultType ## FaultType
故障类型枚举 故障类型枚举
| 名称 | 默认值 | 说明 | | 名称 | 默认值 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
...@@ -25,7 +25,7 @@ SystemCapability.HiviewDFX.Hiview.FaultLogger ...@@ -25,7 +25,7 @@ SystemCapability.HiviewDFX.Hiview.FaultLogger
## FaultLogInfo ## FaultLogInfo
故障信息数据结构,获取到的故障信息的数据结构 故障信息数据结构,获取到的故障信息的数据结构
| 名称 | 参数类型 | 说明 | | 名称 | 参数类型 | 说明 |
| -------- | -------- | -------- | | -------- | -------- | -------- |
...@@ -44,13 +44,15 @@ querySelfFaultLog(faultType: FaultType, callback: AsyncCallback&lt;Array&lt;Faul ...@@ -44,13 +44,15 @@ querySelfFaultLog(faultType: FaultType, callback: AsyncCallback&lt;Array&lt;Faul
获取当前进程故障信息,该方法通过回调方式获取故障信息数组,故障信息数组内最多上报10份故障信息。 获取当前进程故障信息,该方法通过回调方式获取故障信息数组,故障信息数组内最多上报10份故障信息。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 | | -------- | -------- | -------- | -------- |
| callback | AsyncCallbackArray&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | 是 | 回调函数,在回调函数中获取故障信息数组。<br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常,error返回错误提示字符串 | faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 |
| callback | AsyncCallbackArray&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | 是 | 回调函数,在回调函数中获取故障信息数组。<br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常,error返回错误提示字符串
**示例:**
- 示例:
``` ```
function queryFaultLogCallback(error, value) { function queryFaultLogCallback(error, value) {
if (error) { if (error) {
...@@ -80,17 +82,20 @@ querySelfFaultLog(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&g ...@@ -80,17 +82,20 @@ querySelfFaultLog(faultType: FaultType) : Promise&lt;Array&lt;FaultLogInfo&gt;&g
获取当前进程故障信息,该方法通过Promise方式返回故障信息数组,故障信息数组内最多上报10份故障信息。 获取当前进程故障信息,该方法通过Promise方式返回故障信息数组,故障信息数组内最多上报10份故障信息。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 | | -------- | -------- | -------- | -------- |
| faultType | [FaultType](#faulttype) | 是 | 输入要查询的故障类型。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | Promise实例,可以在其then()方法中获取故障信息实例,也可以使用await。 <br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常 |
- 返回值: **示例:**
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Array&lt;[FaultLogInfo](#faultloginfo)&gt;&gt; | Promise实例,可以在其then()方法中获取故障信息实例,也可以使用await。 <br/>-&nbsp;value拿到故障信息数组;value为undefined表示获取过程中出现异常 |
- 示例:
``` ```
let value = await faultLogger.querySelfFaultLog(faultlogger.FaultType.JS_CRASH); let value = await faultLogger.querySelfFaultLog(faultlogger.FaultType.JS_CRASH);
if (value) { if (value) {
......
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import HashMap from '@ohos.util.HashMap' import HashMap from '@ohos.util.HashMap'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## HashMap ## HashMap
...@@ -22,359 +21,392 @@ import HashMap from '@ohos.util.HashMap' ...@@ -22,359 +21,392 @@ import HashMap from '@ohos.util.HashMap'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | HashMap的元素个数 | | length | number | 是 | 否 | HashMap的元素个数 |
### constructor ### constructor
constructor(); constructor()
HashMap的构造函数。 HashMap的构造函数。
- 示例: **示例:**
```
let hashMap = new HashMap(); ```
``` let hashMap = new HashMap();
```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该HashMap是否为空。 判断该HashMap是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 为空返回true, 不为空返回false |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
const hashMap = new HashMap(); | boolean | 为空返回true,不为空返回false。 |
hashMap.isEmpty();
``` **示例:**
```
const hashMap = new HashMap();
hashMap.isEmpty();
```
### hasKey ### hasKey
hasKey(key: K): boolean; hasKey(key: K): boolean
判断此HashMap中是否含有该指定key。 判断此HashMap中是否含有该指定key。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 指定Key。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 是否包含指定元素 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let hashMap = new HashMap(); | boolean | 包含指定Key返回true,否则返回false。 |
hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); **示例:**
hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
``` ```
let hashMap = new HashMap();
hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.hasKey("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### hasValue ### hasValue
hasValue(value: V): boolean; hasValue(value: V): boolean
判断此HashMap中是否含有该指定value。 判断此HashMap中是否含有该指定value。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | V | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| value | V | 是 | 指定value。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 是否包含指定元素 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let hashMap = new HashMap(); | boolean | 包含指定value返回true,否则返回false。 |
hashMap.hasValue(123);
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); **示例:**
hashMap.hasValue(123);
``` ```
let hashMap = new HashMap();
hashMap.hasValue(123);
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.hasValue(123);
```
### get ### get
get(key: K): V; get(key: K): V
获取指定key所对应的value。 获取指定key所对应的value。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 查找的指定key |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | key | K | 是 | 查找的指定key。 |
| V | 返回key映射的value值 |
- 示例: **返回值:**
```
let hashMap = new HashMap(); | 类型 | 说明 |
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); | -------- | -------- |
hashMap.set("sdfs", 356); | V | 返回key映射的value值。 |
hashMap.get("sdfs");
``` **示例:**
```
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356);
hashMap.get("sdfs");
```
### setAll ### setAll
setAll(map: HashMap<K, V>): void; setAll(map: HashMap<K, V>): void
将一个HashMap中的所有元素组添加到另一个hashmap中。 将一个HashMap中的所有元素组添加到另一个hashmap中。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| map | HashMap<K, V> | 是 | 被添加元素的hashmap |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
let hashMap = new HashMap(); | map | HashMap<K, V> | 是 | 被添加元素的hashmap。 |
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356); **示例:**
let newHashMap = new HashMap();
hashMap.setAll(newHashMap); ```
``` let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356);
let newHashMap = new HashMap();
hashMap.setAll(newHashMap);
```
### set ### set
set(key: K, value: V): Object; set(key: K, value: V): Object
向HashMap中添加一组数据。 向HashMap中添加一组数据。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 添加成员数据的键名 |
| value | V | 是 | 添加成员数据的值 |
- 返回值: | 参数名 | 类型 | 必填 | 说明 |
| 类型 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | | key | K | 是 | 添加成员数据的键名。 |
| Object | 返回添加后的hashmap | | value | V | 是 | 添加成员数据的值。 |
- 示例: **返回值:**
```
let hashMap = new HashMap(); | 类型 | 说明 |
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); | -------- | -------- |
``` | Object | 返回添加后的hashmap。 |
**示例:**
```
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
```
### remove ### remove
remove(key: K): V; remove(key: K): V
删除指定的元素。 删除指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 依据key指定删除的元素 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 依据key指定删除的元素。 |
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| V | 返回删除元素的值 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let hashMap = new HashMap(); | V | 返回删除元素的值。 |
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356); **示例:**
hashMap.remove("sdfs");
``` ```
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356);
hashMap.remove("sdfs");
```
### clear ### clear
clear(): void; clear(): void
清除HashMap中的所有元素,并把length置为0。 清除HashMap中的所有元素,并把length置为0。
- 示例: **示例:**
```
let hashMap = new HashMap(); ```
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); let hashMap = new HashMap();
hashMap.set("sdfs", 356); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.clear(); hashMap.set("sdfs", 356);
``` hashMap.clear();
```
### keys ### keys
keys(): IterableIterator&lt;K&gt;; keys(): IterableIterator&lt;K&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;K&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;K&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
hashMap.set("sdfs", 356); let hashMap = new HashMap();
let iter = hashMap.keys(); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; hashMap.set("sdfs", 356);
while(temp != undefined) { let iter = hashMap.keys();
console.log(temp); let temp = iter.next().value;
temp = iter.next().value; while(temp != undefined) {
} console.log(temp);
``` temp = iter.next().value;
}
```
### values ### values
values(): IterableIterator&lt;V&gt;; values(): IterableIterator&lt;V&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;V&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;V&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
hashMap.set("sdfs", 356); let hashMap = new HashMap();
let iter = hashMap.values(); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; hashMap.set("sdfs", 356);
while(temp != undefined) { let iter = hashMap.values();
console.log(temp); let temp = iter.next().value;
temp = iter.next().value; while(temp != undefined) {
} console.log(temp);
``` temp = iter.next().value;
}
```
### replace ### replace
replace(key: K, value: V): boolean; replace(key: K, value: V): boolean
对HashMap中一组数据进行更新(替换)。 对HashMap中一组数据进行更新(替换)。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| key | K | 是 | 依据key指定替换的元素 | | -------- | -------- | -------- | -------- |
| value | V | 是 | 添加成员数据的值 | | key | K | 是 | 依据key指定替换的元素。 |
| value | V | 是 | 添加成员数据的值。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 是否成功对已有数据进行替换 |
| boolean | 是否成功对已有数据进行替换 |
- 示例: **示例:**
```
let hashMap = new HashMap(); ```
hashMap.set("sdfs", 123); let hashMap = new HashMap();
hashMap.replace("sdfs", 357); hashMap.set("sdfs", 123);
``` hashMap.replace("sdfs", 357);
```
### forEach ### forEach
forEach(callbackfn: (value: V, key?: K, hashMap?: HashMap<K, V>) => void, thisArg?: Object): void; forEach(callbackfn: (value: V, key?: K, hashMap?: HashMap<K, V>) => void, thisArg?: Object): void
通过回调函数来遍历HashMap实例对象上的元素以及元素对应的下标。 通过回调函数来遍历HashMap实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
| 参数名 | 类型 | 必填 | 说明 | callbackfn的参数说明:
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | V | 是 | 当前遍历到的元素键值对的值 | | -------- | -------- | -------- | -------- |
| key | K | 是 | 当前遍历到的元素键值对的键 | | value | V | 是 | 当前遍历到的元素键值对的值。 |
| hashMap | HashMap<K, V> | 否 | 当前调用forEach方法的实例对象 | | key | K | 是 | 当前遍历到的元素键值对的键。 |
| hashMap | HashMap<K, V> | 否 | 当前调用forEach方法的实例对象。 |
- 示例:
``` **示例:**
let hashMap = new HashMap();
hashMap.set("sdfs", 123); ```
hashMap.set("dfsghsf", 357); let hashMap = new HashMap();
hashMap.forEach((value, key) => { hashMap.set("sdfs", 123);
console.log(value, key); hashMap.set("dfsghsf", 357);
}); hashMap.forEach((value, key) => {
``` console.log(value, key);
});
```
### entries ### entries
entries(): IterableIterator<[K, V]>; entries(): IterableIterator<[K, V]>
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator<[K, V]> | 返回一个迭代器 | | -------- | -------- |
| IterableIterator<[K, V]> | 返回一个迭代器。 |
- 示例:
``` **示例:**
let hashMap = new HashMap();
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); ```
hashMap.set("sdfs", 356); let hashMap = new HashMap();
let iter = hashMap.entries(); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
let temp = iter.next().value; hashMap.set("sdfs", 356);
while(temp != undefined) { let iter = hashMap.entries();
console.log(temp[0]); let temp = iter.next().value;
console.log(temp[1]); while(temp != undefined) {
temp = iter.next().value; console.log(temp[0]);
} console.log(temp[1]);
``` temp = iter.next().value;
}
```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;; [Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator<[K, V]> | 返回一个迭代器 | | -------- | -------- |
| IterableIterator<[K, V]> | 返回一个迭代器。 |
- 示例:
``` **示例:**
let hashMap = new HashMap(); ```
hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123); let hashMap = new HashMap();
hashMap.set("sdfs", 356); hashMap.set("Ahfbrgrbgnutfodgorrogorgrogofdfdf", 123);
hashMap.set("sdfs", 356);
// 使用方法一:
for (let item of hashMap) { // 使用方法一:
console.log("key: " + item[0]); for (let item of hashMap) {
console.log("value: " + item[1]); console.log("key: " + item[0]);
} console.log("value: " + item[1]);
}
// 使用方法二:
let iter = hashMap[Symbol.iterator](); // 使用方法二:
let temp = iter.next().value; let iter = hashMap[Symbol.iterator]();
while(temp != undefined) { let temp = iter.next().value;
console.log(temp[0]); while(temp != undefined) {
console.log(temp[1]); console.log(temp[0]);
temp = iter.next().value; console.log(temp[1]);
} temp = iter.next().value;
``` }
\ No newline at end of file ```
\ No newline at end of file
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
import HashSet from '@ohos.util.HashSet'; import HashSet from '@ohos.util.HashSet';
``` ```
## 权限 ## 系统能力
SystemCapability.Utils.Lang
## HashSet ## HashSet
...@@ -21,235 +21,255 @@ import HashSet from '@ohos.util.HashSet'; ...@@ -21,235 +21,255 @@ import HashSet from '@ohos.util.HashSet';
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | HashSet的元素个数 | | length | number | 是 | 否 | HashSet的元素个数 |
### constructor ### constructor
constructor(); constructor()
HashSet的构造函数。 HashSet的构造函数。
- 示例: **示例:**
```
let hashSet = new HashSet(); ```
``` let hashSet = new HashSet();
```
### isEmpty ### isEmpty
isEmpty(): boolean; isEmpty(): boolean
判断该HashSet是否为空。 判断该HashSet是否为空。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| boolean | 为空返回true, 不为空返回false |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
const hashSet = new HashSet(); | boolean | 为空返回true,不为空返回false。 |
hashSet.isEmpty();
``` **示例:**
```
const hashSet = new HashSet();
hashSet.isEmpty();
```
### has ### has
has(value: T): boolean; has(value: T): boolean
判断此HashSet中是否含有该指定key。 判断此HashSet中是否含有该指定key。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 指定元素 | | -------- | -------- | -------- | -------- |
| value | T | 是 | 指定元素。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 包含指定元素返回true,否则返回false。 |
| boolean | 是否包含指定元素 |
- 示例: **示例:**
```
let hashSet = new HashSet(); ```
hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
``` hashSet.has("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### add ### add
add(value: T): boolean; add(value: T): boolean
向HashSet中添加数据。 向HashSet中添加数据。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 添加成员数据 | | -------- | -------- | -------- | -------- |
| value | T | 是 | 添加成员数据。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 成功增加元素返回true,否则返回false。 |
| boolean | 返回是否有成功增加元素 |
- 示例: **示例:**
```
let hashSet = new HashSet(); ```
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let hashSet = new HashSet();
``` hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
```
### remove ### remove
remove(value: T): boolean; remove(value: T): boolean
删除指定的元素。 删除指定的元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 指定删除的元素 | | -------- | -------- | -------- | -------- |
| value | T | 是 | 指定删除的元素。 |
**返回值:**
- 返回值: | 类型 | 说明 |
| 类型 | 说明 | | -------- | -------- |
| -------- | -------- | | boolean | 成功删除指定元素返回true,否则返回false。 |
| boolean | 返回是否成功删除指定元素 |
- 示例: **示例:**
```
let hashSet = new HashSet(); ```
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let hashSet = new HashSet();
hashSet.add("sdfs"); hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashSet.remove("sdfs"); hashSet.add("sdfs");
``` hashSet.remove("sdfs");
```
### clear ### clear
clear(): void; clear(): void
清除HashSet中的所有元素,并把length置为0。 清除HashSet中的所有元素,并把length置为0。
- 示例: **示例:**
```
let hashSet = new HashSet(); ```
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); let hashSet = new HashSet();
hashSet.add("sdfs"); hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
hashSet.clear(); hashSet.add("sdfs");
``` hashSet.clear();
```
### values ### values
values(): IterableIterator&lt;T&gt;; values(): IterableIterator&lt;T&gt;
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;T&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器。 |
- 示例:
``` **示例:**
let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ```
hashSet.add("sdfs"); let hashSet = new HashSet();
let iter = hashSet.values(); hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
let temp = iter.next().value; hashSet.add("sdfs");
while(temp != undefined) { let iter = hashSet.values();
console.log(temp); let temp = iter.next().value;
temp = iter.next().value; while(temp != undefined) {
} console.log(temp);
``` temp = iter.next().value;
}
```
### forEach ### forEach
forEach(callbackfn: (value: T, key?: T, hashSet?: HashSet&lt;T&gt;) => void, thisArg?: Object): void; forEach(callbackfn: (value: T, key?: T, hashSet?: HashSet&lt;T&gt;) => void, thisArg?: Object): void
通过回调函数来遍历实例对象上的元素以及元素对应的下标。 通过回调函数来遍历实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callbackfn | function | 是 | 回调函数 |
| thisArg | Object | 否 | callbackfn被调用时用作this值 |
- callbackfn的参数说明 | 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- |
| -------- | -------- | -------- | -------- | | callbackfn | function | 是 | 回调函数。 |
| value | T | 是 | 当前遍历到的元素键值对的值 | | thisArg | Object | 否 | callbackfn被调用时用作this值。 |
| key | T | 否 | 当前遍历到的元素键值对的值(和value相同) |
| hashSet | HashSet&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 |
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | T | 是 | 当前遍历到的元素键值对的值。 |
| key | T | 否 | 当前遍历到的元素键值对的值(和value相同)。 |
| hashSet | HashSet&lt;T&gt; | 否 | 当前调用forEach方法的实例对象。 |
- 示例: **示例:**
```
let hashSet = new HashSet(); ```
hashSet.add("sdfs"); let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); hashSet.add("sdfs");
hashSet.forEach((value, key) => { hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
console.log(value, key); hashSet.forEach((value, key) => {
}); console.log(value, key);
``` });
```
### entries ### entries
entries(): IterableIterator<[T, T]>; entries(): IterableIterator<[T, T]>
返回包含此映射中包含的键的新迭代器对象。 返回包含此映射中包含的键的新迭代器对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator<[T, T]> | 返回一个迭代器 | | -------- | -------- |
| IterableIterator<[T, T]> | 返回一个迭代器 |
- 示例:
``` **示例:**
let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ```
hashSet.add("sdfs"); let hashSet = new HashSet();
let iter = hashSet.entries(); hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
let temp = iter.next().value; hashSet.add("sdfs");
while(temp != undefined) { let iter = hashSet.entries();
console.log(temp[0]); let temp = iter.next().value;
console.log(temp[1]); while(temp != undefined) {
temp = iter.next().value; console.log(temp[0]);
} console.log(temp[1]);
``` temp = iter.next().value;
}
```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; [Symbol.iterator]\(): IterableIterator&lt;T&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| IterableIterator&lt;T&gt; | 返回一个迭代器 | | -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器 |
- 示例:
``` **示例:**
let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf"); ```
hashSet.add("sdfs"); let hashSet = new HashSet();
hashSet.add("Ahfbrgrbgnutfodgorrogorgrogofdfdf");
// 使用方法一: hashSet.add("sdfs");
for (let item of hashSet) {
console.log("value: " + item); // 使用方法一:
} for (let item of hashSet) {
console.log("value: " + item);
// 使用方法二: }
let iter = hashSet[Symbol.iterator]();
let temp = iter.next().value; // 使用方法二:
while(temp != undefined) { let iter = hashSet[Symbol.iterator]();
console.log(temp); let temp = iter.next().value;
temp = iter.next().value; while(temp != undefined) {
} console.log(temp);
``` temp = iter.next().value;
\ No newline at end of file }
```
\ No newline at end of file
...@@ -22,27 +22,29 @@ write(eventName: string, eventType: EventType, keyValues: object, callback: Asyn ...@@ -22,27 +22,29 @@ write(eventName: string, eventType: EventType, keyValues: object, callback: Asyn
应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用callback方式作为异步回调。 应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用callback方式作为异步回调。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| eventName | string | 是 | 应用事件名称。 | | -------- | -------- | -------- | -------- |
| eventType | [EventType](#eventtype) | 是 | 应用事件类型。 | | eventName | string | 是 | 应用事件名称。 |
| keyValues | object | 是 | 应用事件的参数,key类型只能为string,value类型只能为string、number、boolean、Array(数组数据类型只能为string、number、boolean)。 | | eventType | [EventType](#eventtype) | 是 | 应用事件类型。 |
| callback | AsyncCallback&lt;void&gt; | 否 | 回调函数,可以在回调函数中处理接口返回值。<br/>-&nbsp;返回值为0表示事件校验成功,事件正常异步写入事件文件;<br/>-&nbsp;大于0表示事件校验存在异常参数,在忽略异常参数后将事件异步写入事件文件;<br/>-&nbsp;小于0表示事件校验失败,不将事件写入事件文件。 | | keyValues | object | 是 | 应用事件的参数,key类型只能为string,value类型只能为string、number、boolean、Array(数组数据类型只能为string、number、boolean)。 |
| callback | AsyncCallback&lt;void&gt; | 否 | 回调函数,可以在回调函数中处理接口返回值。<br/>-&nbsp;返回值为0表示事件校验成功,事件正常异步写入事件文件;<br/>-&nbsp;大于0表示事件校验存在异常参数,在忽略异常参数后将事件异步写入事件文件;<br/>-&nbsp;小于0表示事件校验失败,不将事件写入事件文件。 |
- 示例:
``` **示例:**
hiAppEvent.write("test_event", hiAppEvent.EventType.FAULT, {"int_data":100, "str_data":"strValue"}, (err, value) => {
if (err) { ```
// 事件写入异常:事件存在异常参数时忽略异常参数后继续写入,或者事件校验失败时不执行写入 hiAppEvent.write("test_event", hiAppEvent.EventType.FAULT, {"int_data":100, "str_data":"strValue"}, (err, value) => {
console.error(`failed to write event because ${err.code}`); if (err) {
return; // 事件写入异常:事件存在异常参数时忽略异常参数后继续写入,或者事件校验失败时不执行写入
} console.error(`failed to write event because ${err.code}`);
return;
// 事件写入正常 }
console.log(`success to write event: ${value}`);
}); // 事件写入正常
``` console.log(`success to write event: ${value}`);
});
```
## hiAppEvent.write ## hiAppEvent.write
...@@ -51,29 +53,32 @@ write(eventName: string, eventType: EventType, keyValues: object): Promise&lt;vo ...@@ -51,29 +53,32 @@ write(eventName: string, eventType: EventType, keyValues: object): Promise&lt;vo
应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用promise方式作为异步回调。 应用事件打点方法,将事件写入到当天的事件文件中,可接收类型为Json对象的事件参数,使用promise方式作为异步回调。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| eventName | string | 是 | 应用事件名称。 | | -------- | -------- | -------- | -------- |
| eventType | [EventType](#eventtype) | 是 | 应用事件类型。 | | eventName | string | 是 | 应用事件名称。 |
| keyValues | object | 是 | 应用事件的参数,key类型只能为string,value类型只能为string、number、boolean、Array(数组数据类型只能为string、number、boolean)。 | | eventType | [EventType](#eventtype) | 是 | 应用事件类型。 |
| keyValues | object | 是 | 应用事件的参数,key类型只能为string,value类型只能为string、number、boolean、Array(数组数据类型只能为string、number、boolean)。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| Promise&lt;void&gt; | Promise实例,可以在其then()、catch()方法中分别对事件写入成功、写入异常的情况进行回调处理。 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | Promise&lt;void&gt; | Promise实例,可以在其then()、catch()方法中分别对事件写入成功、写入异常的情况进行回调处理。 |
```
hiAppEvent.write("test_event", hiAppEvent.EventType.FAULT, {"int_data":100, "str_data":"strValue"}) **示例:**
.then((value) => {
// 事件写入正常 ```
console.log(`success to write event: ${value}`); hiAppEvent.write("test_event", hiAppEvent.EventType.FAULT, {"int_data":100, "str_data":"strValue"})
}).catch((err) => { .then((value) => {
// 事件写入异常:事件存在异常参数时忽略异常参数后继续写入,或者事件校验失败时不执行写入 // 事件写入正常
console.error(`failed to write event because ${err.code}`); console.log(`success to write event: ${value}`);
}); }).catch((err) => {
``` // 事件写入异常:事件存在异常参数时忽略异常参数后继续写入,或者事件校验失败时不执行写入
console.error(`failed to write event because ${err.code}`);
});
```
## hiAppEvent.configure ## hiAppEvent.configure
...@@ -82,28 +87,30 @@ configure(config: ConfigOption): boolean ...@@ -82,28 +87,30 @@ configure(config: ConfigOption): boolean
应用事件打点配置方法,可用于配置打点开关、文件目录存储限额大小等功能。 应用事件打点配置方法,可用于配置打点开关、文件目录存储限额大小等功能。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| config | [ConfigOption](#configoption) | 是 | 应用事件打点配置项对象。 | | -------- | -------- | -------- | -------- |
| config | [ConfigOption](#configoption) | 是 | 应用事件打点配置项对象。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 配置结果,true&nbsp;表示配置成功,false&nbsp;表示配置失败。 | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 配置结果,true&nbsp;表示配置成功,false&nbsp;表示配置失败。 |
```
// 配置应用事件打点功能开关 **示例:**
hiAppEvent.configure({ ```
disable: true // 配置应用事件打点功能开关
}); hiAppEvent.configure({
disable: true
// 配置事件文件目录存储限额大小 });
hiAppEvent.configure({
maxStorage: '100M' // 配置事件文件目录存储限额大小
}); hiAppEvent.configure({
``` maxStorage: '100M'
});
```
## ConfigOption ## ConfigOption
......
...@@ -34,22 +34,22 @@ addRule(rule: BigInt): void ...@@ -34,22 +34,22 @@ addRule(rule: BigInt): void
添加一条或多条规则到系统,系统根据添加的规则进行检测或反馈。 添加一条或多条规则到系统,系统根据添加的规则进行检测或反馈。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------- | | ------ | ------ | ---- | ---------------- |
| rule | BigInt | 是 | 需要添加的规则。 | | rule | BigInt | 是 | 需要添加的规则。 |
- 示例: **示例:**
``` ```
// 添加一条规则 // 添加一条规则
hichecker.addRule(hichecker.RULE_CAUTION_PRINT_LOG); hichecker.addRule(hichecker.RULE_CAUTION_PRINT_LOG);
// 添加多条规则 // 添加多条规则
hichecker.addRule( hichecker.addRule(
hichecker.RULE_CAUTION_PRINT_LOG | hichecker.RULE_CAUTION_TRIGGER_CRASH); hichecker.RULE_CAUTION_PRINT_LOG | hichecker.RULE_CAUTION_TRIGGER_CRASH);
``` ```
## hichecker.removeRule ## hichecker.removeRule
...@@ -57,44 +57,44 @@ removeRule(rule: BigInt): void ...@@ -57,44 +57,44 @@ removeRule(rule: BigInt): void
删除一条或多条规则,删除的规则后续将不再生效。 删除一条或多条规则,删除的规则后续将不再生效。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------- | | ------ | ------ | ---- | ---------------- |
| rule | BigInt | 是 | 需要删除的规则。 | | rule | BigInt | 是 | 需要删除的规则。 |
- 示例: **示例:**
``` ```
// 删除一条规则 // 删除一条规则
hichecker.removeRule(hichecker.RULE_CAUTION_PRINT_LOG); hichecker.removeRule(hichecker.RULE_CAUTION_PRINT_LOG);
// 删除多条规则 // 删除多条规则
hichecker.removeRule( hichecker.removeRule(
hichecker.RULE_CAUTION_PRINT_LOG | hichecker.RULE_CAUTION_TRIGGER_CRASH); hichecker.RULE_CAUTION_PRINT_LOG | hichecker.RULE_CAUTION_TRIGGER_CRASH);
``` ```
## hichecker.getRule() ## hichecker.getRule
getRule(): BigInt getRule(): BigInt
获取当前线程规则、进程规则、告警规则的合集。 获取当前线程规则、进程规则、告警规则的合集。
- 返回值: **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------ | ---------------------- | | ------ | ---------------------- |
| BigInt | 当前系统中添加的规则。 | | BigInt | 当前系统中添加的规则。 |
- 示例: **示例:**
``` ```
// 添加一条规则 // 添加一条规则
hichecker.addRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS); hichecker.addRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS);
// 获取已添加的规则 // 获取已添加的规则
hichecker.getRule(); // return 1n; hichecker.getRule(); // return 1n;
``` ```
## hichecker.contains ## hichecker.contains
...@@ -102,25 +102,25 @@ contains(rule: BigInt): boolean ...@@ -102,25 +102,25 @@ contains(rule: BigInt): boolean
当前已添加的规则集中是否包含了某一个特定的规则,如果传入的规则级别为线程级别,则仅在当前线程中进行查询。 当前已添加的规则集中是否包含了某一个特定的规则,如果传入的规则级别为线程级别,则仅在当前线程中进行查询。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------- | | ------ | ------ | ---- | ---------------- |
| rule | BigInt | 是 | 需要查询的规则。 | | rule | BigInt | 是 | 需要查询的规则。 |
- 返回值: **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| ------- | ---------------------------------------------------------- | | ------- | ---------------------------------------------------------- |
| boolean | 查询结果,true&nbsp;表示规则已添加,false 表示规则未添加。 | | boolean | 查询结果,true&nbsp;表示规则已添加,false 表示规则未添加。 |
- 示例: **示例:**
```
// 添加一条规则
hichecker.addRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS);
``` // 查询是否包含
// 添加一条规则 hichecker.contains(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS); // return true;
hichecker.addRule(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS); hichecker.contains(hichecker.RULE_CAUTION_PRINT_LOG); // return false;
```
// 查询是否包含 \ No newline at end of file
hichecker.contains(hichecker.RULE_THREAD_CHECK_SLOW_PROCESS); // return true;
hichecker.contains(hichecker.RULE_CAUTION_PRINT_LOG); // return false;
```
...@@ -68,20 +68,24 @@ begin(name: string, flags: number = HiTraceFlag.DEFAULT): HiTraceId ...@@ -68,20 +68,24 @@ begin(name: string, flags: number = HiTraceFlag.DEFAULT): HiTraceId
开始跟踪,同步接口。 开始跟踪,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| name | string | 是 | 跟踪业务名。 | | -------- | -------- | -------- | -------- |
| flags | number | 是 | [跟踪标志组合](#hitraceflag)。 | | name | string | 是 | 跟踪业务名。 |
- 返回值: | flags | number | 是 | 跟踪标志组合,具体可参考[HiTraceFlag](#hitraceflag)。 |
| 类型 | 说明 |
| -------- | -------- | **返回值:**
| [HiTraceId](#hitraceid) | HiTraceId实例。 |
| 类型 | 说明 |
- 示例: | -------- | -------- |
``` | [HiTraceId](#hitraceid) | HiTraceId实例。 |
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
``` **示例:**
```
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
```
## hiTraceChain.end ## hiTraceChain.end
...@@ -89,17 +93,19 @@ end(id: HiTraceId): void ...@@ -89,17 +93,19 @@ end(id: HiTraceId): void
结束跟踪,同步接口。 结束跟踪,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| id | [HiTraceId](#hitraceid) | 是 | HiTraceId实例。 | | -------- | -------- | -------- | -------- |
| id | [HiTraceId](#hitraceid) | 是 | HiTraceId实例。 |
**示例:**
- 示例: ```
``` let asyncTraceId = hiTraceChain.begin("business");
let asyncTraceId = hiTraceChain.begin("business"); // 若干业务逻辑完成后,结束跟踪。
// 若干业务逻辑完成后,结束跟踪。 hiTraceChain.end(asyncTraceId);
hiTraceChain.end(asyncTraceId); ```
```
## hiTraceChain.getId ## hiTraceChain.getId
...@@ -107,17 +113,19 @@ getId(): HiTraceId ...@@ -107,17 +113,19 @@ getId(): HiTraceId
获取跟踪标识,同步接口。 获取跟踪标识,同步接口。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| [HiTraceId](#hitraceid) | HiTraceId实例。 | | -------- | -------- |
| [HiTraceId](#hitraceid) | HiTraceId实例。 |
- 示例: **示例:**
```
let traceId = hiTraceChain.begin("business"); ```
// 若干业务逻辑完成后,获取当前HiTraceId。 let traceId = hiTraceChain.begin("business");
let curTraceId = hiTraceChain.getId(); // 若干业务逻辑完成后,获取当前HiTraceId。
``` let curTraceId = hiTraceChain.getId();
```
## hiTraceChain.setId ## hiTraceChain.setId
...@@ -125,17 +133,19 @@ setId(id: HiTraceId): void ...@@ -125,17 +133,19 @@ setId(id: HiTraceId): void
设置跟踪标识,同步接口。 设置跟踪标识,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| id | [HiTraceId](#hitraceid) | 是 | HiTraceId实例。 | | -------- | -------- | -------- | -------- |
| id | [HiTraceId](#hitraceid) | 是 | HiTraceId实例。 |
- 示例: **示例:**
```
let traceId = hiTraceChain.begin("business"); ```
// 若干业务逻辑完成后,设置当前HiTraceId。 let traceId = hiTraceChain.begin("business");
hiTraceChain.setId(asyncTraceId); // 若干业务逻辑完成后,设置当前HiTraceId。
``` hiTraceChain.setId(asyncTraceId);
```
## hiTraceChain.clearId ## hiTraceChain.clearId
...@@ -143,12 +153,13 @@ clearId(): void ...@@ -143,12 +153,13 @@ clearId(): void
清除跟踪标识,同步接口。 清除跟踪标识,同步接口。
- 示例: **示例:**
```
let traceId = hiTraceChain.begin("business"); ```
// 若干业务逻辑完成后,清除当前HiTraceId。 let traceId = hiTraceChain.begin("business");
hiTraceChain.clearId(); // 若干业务逻辑完成后,清除当前HiTraceId。
``` hiTraceChain.clearId();
```
## hiTraceChain.createSpan ## hiTraceChain.createSpan
...@@ -156,17 +167,19 @@ createSpan(): HiTraceId ...@@ -156,17 +167,19 @@ createSpan(): HiTraceId
创建跟踪分支,同步接口。 创建跟踪分支,同步接口。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- |
| [HiTraceId](#hitraceid) | HiTraceId实例。 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let traceId = hiTraceChain.begin("business"); | [HiTraceId](#hitraceid) | HiTraceId实例。 |
// 若干业务逻辑完成后,创建跟踪分支。
let spanTraceId = hiTraceChain.createSpan(); **示例:**
```
```
let traceId = hiTraceChain.begin("business");
// 若干业务逻辑完成后,创建跟踪分支。
let spanTraceId = hiTraceChain.createSpan();
```
## hiTraceChain.tracepoint ## hiTraceChain.tracepoint
...@@ -174,20 +187,22 @@ tracepoint(mode: HiTraceCommunicationMode, type: HiTraceTracepointType, id: HiTr ...@@ -174,20 +187,22 @@ tracepoint(mode: HiTraceCommunicationMode, type: HiTraceTracepointType, id: HiTr
信息埋点,同步接口。 信息埋点,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| mode | [HiTraceCommunicationMode](#hitracecommunicationmode) | 是 | 信息埋点需要指定的跟踪通信模式。 | | -------- | -------- | -------- | -------- |
| type | [HiTraceTracepointType](#hitracetracepointtype)| 是 | 信息埋点需要指定的跟踪埋点类型。 | | mode | [HiTraceCommunicationMode](#hitracecommunicationmode) | 是 | 信息埋点需要指定的跟踪通信模式。 |
| id | [HiTraceId](#hitraceid) | 是 | 实施信息埋点操作的HiTraceId实例。 | | type | [HiTraceTracepointType](#hitracetracepointtype)| 是 | 信息埋点需要指定的跟踪埋点类型。 |
| msg | string | 否 | 信息埋点操作传入的trace说明信息。 | | id | [HiTraceId](#hitraceid) | 是 | 实施信息埋点操作的HiTraceId实例。 |
| msg | string | 否 | 信息埋点操作传入的trace说明信息。 |
- 示例:
``` **示例:**
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
// 若干业务逻辑完成后,触发信息埋点操作。 ```
hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.THREAD, hiTraceChain.HiTraceTracepointType.SS, asyncTraceId, "Just a example"); let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC | hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
``` // 若干业务逻辑完成后,触发信息埋点操作。
hiTraceChain.tracepoint(hiTraceChain.HiTraceCommunicationMode.THREAD, hiTraceChain.HiTraceTracepointType.SS, asyncTraceId, "Just a example");
```
## hiTraceChain.isValid ## hiTraceChain.isValid
...@@ -195,20 +210,24 @@ isValid(id: HiTraceId): boolean ...@@ -195,20 +210,24 @@ isValid(id: HiTraceId): boolean
判断HiTraceId对象是否有效,同步接口。 判断HiTraceId对象是否有效,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| id | [HiTraceId](#hitraceid) | 是 | 需要判断是否有效的HiTraceId实例。 | | -------- | -------- | -------- | -------- |
- 返回值: | id | [HiTraceId](#hitraceid) | 是 | 需要判断是否有效的HiTraceId实例。 |
| 类型 | 说明 |
| -------- | -------- | **返回值:**
| boolean | 返回true表示HiTraceId有效,否则无效。 |
| 类型 | 说明 |
- 示例: | -------- | -------- |
``` | boolean | 返回true表示HiTraceId有效,否则无效。 |
let traceId = hiTraceChain.begin("business");
let traceIdIsvalid = hiTraceChain.isValid(traceId); **示例:**
```
```
let traceId = hiTraceChain.begin("business");
let traceIdIsvalid = hiTraceChain.isValid(traceId);
```
## hiTraceChain.isFlagEnabled ## hiTraceChain.isFlagEnabled
...@@ -216,21 +235,26 @@ isFlagEnabled(id: HiTraceId, flag: HiTraceFlag): boolean ...@@ -216,21 +235,26 @@ isFlagEnabled(id: HiTraceId, flag: HiTraceFlag): boolean
判断HiTraceId对象中指定的跟踪标志是否已置位,同步接口。 判断HiTraceId对象中指定的跟踪标志是否已置位,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| id | [HiTraceId](#hitraceid) | 是 | 需要判断指定跟踪标志是否置位的HiTraceId实例。 | | -------- | -------- | -------- | -------- |
| flag | [HiTraceFlag](#hitraceflag) | 是 | 指定的跟踪标志。 | | id | [HiTraceId](#hitraceid) | 是 | 需要判断指定跟踪标志是否置位的HiTraceId实例。 |
- 返回值: | flag | [HiTraceFlag](#hitraceflag) | 是 | 指定的跟踪标志。 |
| 类型 | 说明 |
| -------- | -------- | **返回值:**
| boolean | 返回true标识HiTraceId已置位指定的flag,否则没有置位。 |
- 示例: | 类型 | 说明 |
``` | -------- | -------- |
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC); | boolean | 返回true标识HiTraceId已置位指定的flag,否则没有置位。 |
// enabledDoNotCreateSpanFlag为true
let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(asyncTraceId, hiTraceChain.HiTraceFlag.INCLUDE_ASYNC); **示例:**
```
```
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC);
// enabledDoNotCreateSpanFlag为true
let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(asyncTraceId, hiTraceChain.HiTraceFlag.INCLUDE_ASYNC);
```
## hiTraceChain.enableFlag ## hiTraceChain.enableFlag
...@@ -238,16 +262,17 @@ enableFlag(id: HiTraceId, flag: HiTraceFlag): void ...@@ -238,16 +262,17 @@ enableFlag(id: HiTraceId, flag: HiTraceFlag): void
置位HiTraceId对象中指定的跟踪标志,同步接口。 置位HiTraceId对象中指定的跟踪标志,同步接口。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| id | [HiTraceId](#hitraceid) | 是 | 需要置位指定跟踪标志的HiTraceId实例。 | | id | [HiTraceId](#hitraceid) | 是 | 需要置位指定跟踪标志的HiTraceId实例。 |
| flag | [HiTraceFlag](#hitraceflag) | 是 | 指定的跟踪标志。 | | flag | [HiTraceFlag](#hitraceflag) | 是 | 指定的跟踪标志。 |
- 示例: **示例:**
```
let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC); ```
hiTraceChain.enable(asyncTraceId, hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN); let asyncTraceId = hiTraceChain.begin("business", hiTraceChain.HiTraceFlag.INCLUDE_ASYNC);
// enabledDoNotCreateSpanFlag为true hiTraceChain.enable(asyncTraceId, hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(asyncTraceId, hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN); // enabledDoNotCreateSpanFlag为true
``` let enabledDoNotCreateSpanFlag = hiTraceChain.isFlagEnabled(asyncTraceId, hiTraceChain.HiTraceFlag.DONOT_CREATE_SPAN);
```
...@@ -22,22 +22,24 @@ startTrace(name: string, taskId: number, expectedTime?: number): void ...@@ -22,22 +22,24 @@ startTrace(name: string, taskId: number, expectedTime?: number): void
标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。 标记一个预追踪耗时任务的开始,expectedTime是可选参数,标识该任务的期望耗时。
如果有多个相同name的任务需要追踪或者对同一个任务要追踪多次,并且任务同时被执行,则每次调用startTrace的taskId不相同。
- 参数: 如果具有相同name的任务是串行执行的,则taskId可以相同。具体示例可参考[hiTraceMeter.finishTrace](#hitracemeterfinishtrace)中的示例。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的任务名称 |
| taskId | number | 是 | 任务id |
| expectedTime | number | 否 | 期望的耗时时间,单位:ms |
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** **参数:**
> 如果有多个相同name的任务需要追踪或者对同一个任务要追踪多次,并且这些会同时被执行,则每次调用startTrace的taskId必须不一致。如果具有相同name的任务是串行执行的,则taskId可以相同。在下面hiTraceMeter.finishTrace的示例中会举例说明。
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
hiTraceMeter.startTrace("myTestFunc", 1); | name | string | 是 | 要追踪的任务名称 |
hiTraceMeter.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms | taskId | number | 是 | 任务id |
``` | expectedTime | number | 否 | 期望的耗时时间,单位:ms |
**示例:**
```
hiTraceMeter.startTrace("myTestFunc", 1);
hiTraceMeter.startTrace("myTestFunc", 1, 5); //从startTrace到finishTrace流程的耗时期望为5ms
```
## hiTraceMeter.finishTrace ## hiTraceMeter.finishTrace
...@@ -46,42 +48,42 @@ finishTrace(name: string, taskId: number): void ...@@ -46,42 +48,42 @@ finishTrace(name: string, taskId: number): void
标记一个预追踪耗时任务的结束。 标记一个预追踪耗时任务的结束。
finishTrace的name和taskId必须与流程开始的[startTrace](#hitracemeterstarttrace)对应参数值一致。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的任务名称 |
| taskId | number | 是 | 任务id。 |
**示例:**
```
hiTraceMeter.finishTrace("myTestFunc", 1);
```
```
//追踪并行执行的同名任务
hiTraceMeter.startTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.startTrace("myTestFunc", 2); //第二个追踪的任务开始,同时第一个追踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 2);
```
- 参数: ```
| 参数名 | 类型 | 必填 | 说明 | //追踪串行执行的同名任务
| -------- | -------- | -------- | -------- | hiTraceMeter.startTrace("myTestFunc", 1);
| name | string | 是 | 要追踪的任务名称 | //业务流程......
| taskId | number | 是 | 任务id | hiTraceMeter.finishTrace("myTestFunc", 1); //第一个追踪的任务结束
//业务流程......
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** hiTraceMeter.startTrace("myTestFunc", 1); //第二个追踪的同名任务开始,同名的待追踪任务串行执行。
> finishTrace的name和taskId必须与流程开始的startTrace对应参数值一致。 //业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1);
- 示例: ```
```
hiTraceMeter.finishTrace("myTestFunc", 1);
```
```
//追踪并行执行的同名任务
hiTraceMeter.startTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.startTrace("myTestFunc", 2); //第二个追踪的任务开始,同时第一个追踪的同名任务还没结束,出现了并行执行,对应接口的taskId需要不同。
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 2);
```
```
//追踪串行执行的同名任务
hiTraceMeter.startTrace("myTestFunc", 1);
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1); //第一个追踪的任务结束
//业务流程......
hiTraceMeter.startTrace("myTestFunc", 1); //第二个追踪的同名任务开始,同名的待追踪任务串行执行。
//业务流程......
hiTraceMeter.finishTrace("myTestFunc", 1);
```
## hiTraceMeter.traceByValue ## hiTraceMeter.traceByValue
...@@ -90,18 +92,18 @@ traceByValue(name: string, value: number): void ...@@ -90,18 +92,18 @@ traceByValue(name: string, value: number): void
用来标记一个预追踪的数值变量,该变量的数值会不断变化。 用来标记一个预追踪的数值变量,该变量的数值会不断变化。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 要追踪的数值变量名称 |
| value | number | 是 | 变量的值 |
- 参数: **示例:**
| 参数名 | 类型 | 必填 | 说明 | ```
| -------- | -------- | -------- | -------- | let traceCount = 3;
| name | string | 是 | 要追踪的数值变量名称 | hiTraceMeter.traceByValue("myTestCount", traceCount);
| value | number | 是 | 变量的值 | traceCount = 4;
hiTraceMeter.traceByValue("myTestCount", traceCount);
- 示例: //业务流程......
``` ```
let traceCount = 3;
hiTraceMeter.traceByValue("myTestCount", traceCount);
traceCount = 4;
hiTraceMeter.traceByValue("myTestCount", traceCount);
//业务流程......
```
...@@ -23,16 +23,18 @@ shutdownDevice(reason: string): void ...@@ -23,16 +23,18 @@ shutdownDevice(reason: string): void
需要权限:ohos.permission.SHUTDOWN 需要权限:ohos.permission.SHUTDOWN
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| reason | string | 是 | 关机原因。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
power.shutdownDevice("shutdown_test"); | reason | string | 是 | 关机原因。 |
console.info('power_shutdown_device_test success')
``` **示例:**
```
power.shutdownDevice("shutdown_test");
console.info('power_shutdown_device_test success')
```
## power.rebootDevice ## power.rebootDevice
...@@ -43,16 +45,18 @@ rebootDevice(reason: string): void ...@@ -43,16 +45,18 @@ rebootDevice(reason: string): void
需要权限:ohos.permission.REBOOT(重启权限)、ohos.permission.REBOOT_RECOVERY(重启并进入recovery模式的权限) 需要权限:ohos.permission.REBOOT(重启权限)、ohos.permission.REBOOT_RECOVERY(重启并进入recovery模式的权限)
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| reason | string | 是 | 重启原因。 |
- 示例: | 参数名 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
power.rebootDevice("reboot_test"); | reason | string | 是 | 重启原因。 |
console.info('power_reboot_device_test success')
``` **示例:**
```
power.rebootDevice("reboot_test");
console.info('power_reboot_device_test success')
```
## power.isScreenOn ## power.isScreenOn
...@@ -61,21 +65,23 @@ isScreenOn(callback: AsyncCallback&lt;boolean&gt;): void ...@@ -61,21 +65,23 @@ isScreenOn(callback: AsyncCallback&lt;boolean&gt;): void
检测当前设备的亮灭屏状态。 检测当前设备的亮灭屏状态。
- 参数: **参数:**
| 类型 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 指定的callback回调方法,用于获取返回值。<br/>callback返回值:亮屏返回true,灭屏返回false。 |
- 示例: | 类型 | 类型 | 必填 | 说明 |
``` | -------- | -------- | -------- | -------- |
power.isScreenOn((error, screenOn) => { | callback | AsyncCallback&lt;boolean&gt; | 是 | 指定的callback回调方法,用于获取返回值。<br/>callback返回值:亮屏返回true,灭屏返回false。 |
if (typeof error === "undefined") {
console.info('screenOn status is ' + screenOn); **示例:**
} else {
console.log('error: ' + error); ```
} power.isScreenOn((error, screenOn) => {
}) if (typeof error === "undefined") {
``` console.info('screenOn status is ' + screenOn);
} else {
console.log('error: ' + error);
}
})
```
## power.isScreenOn ## power.isScreenOn
...@@ -84,18 +90,19 @@ isScreenOn(): Promise&lt;boolean&gt; ...@@ -84,18 +90,19 @@ isScreenOn(): Promise&lt;boolean&gt;
检测当前设备的亮灭屏状态。 检测当前设备的亮灭屏状态。
- 返回值: **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| Promise&lt;boolean&gt; | Promise实例,用于异步获取返回值,亮屏返回true,灭屏返回false。 | | Promise&lt;boolean&gt; | Promise实例,用于异步获取返回值,亮屏返回true,灭屏返回false。 |
- 示例: **示例:**
```
power.isScreenOn() ```
.then(screenOn => { power.isScreenOn()
console.info('screenOn status is ' + screenOn); .then(screenOn => {
}) console.info('screenOn status is ' + screenOn);
.catch(error => { })
console.log('error: ' + error); .catch(error => {
}) console.log('error: ' + error);
``` })
```
...@@ -10,10 +10,9 @@ ...@@ -10,10 +10,9 @@
import Queue from '@ohos.util.Queue' import Queue from '@ohos.util.Queue'
``` ```
## 系统能力
## 权限 SystemCapability.Utils.Lang
## Queue ## Queue
...@@ -23,48 +22,51 @@ import Queue from '@ohos.util.Queue' ...@@ -23,48 +22,51 @@ import Queue from '@ohos.util.Queue'
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | Queue的元素个数 | | length | number | 是 | 否 | Queue的元素个数 |
### constructor ### constructor
constructor(); constructor()
Queue的构造函数。 Queue的构造函数。
**示例:**
- 示例: ```
``` let queue = new Queue();
let queue = new Queue(); ```
```
### add ### add
add(element: T): boolean; add(element: T): boolean
在队列尾部插入元素。 在队列尾部插入元素。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| element | T | 是 | 添加进去的元素 | | -------- | -------- | -------- | -------- |
| element | T | 是 | 添加进去的元素。 |
- 返回值:
| 类型 | 说明 | **返回值:**
| -------- | -------- |
| boolean | 插入成功返回true,失败返回false | | 类型 | 说明 |
| -------- | -------- |
- 示例: | boolean | 插入成功返回true,否则返回false。 |
```
let queue = new Queue(); **示例:**
queue.add("a");
queue.add(1); ```
let b = [1, 2, 3]; let queue = new Queue();
queue.add(b); queue.add("a");
let c = {name : "lala", age : "13"}; queue.add(1);
queue.add(false); let b = [1, 2, 3];
``` queue.add(b);
let c = {name : "lala", age : "13"};
queue.add(false);
```
### pop ### pop
...@@ -72,109 +74,113 @@ pop(): T ...@@ -72,109 +74,113 @@ pop(): T
删除头元素并返回该删除元素。 删除头元素并返回该删除元素。
- 返回值: **返回值:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回删除的元素 | | -------- | -------- |
| T | 返回删除的元素。 |
- 示例:
``` **示例:**
let queue = new Queue();
queue.add(2); ```
queue.add(4); let queue = new Queue();
queue.add(5); queue.add(2);
queue.add(2); queue.add(4);
queue.add(4); queue.add(5);
queue.pop(); queue.add(2);
``` queue.add(4);
queue.pop();
```
### getFirst ### getFirst
getFirst(): T; getFirst(): T
获取队列的头元素。 获取队列的头元素。
- 返回值: **参数:**
| 类型 | 说明 |
| -------- | -------- | | 类型 | 说明 |
| T | 返回尾元素 | | -------- | -------- |
| T | 返回获取的元素。 |
- 示例:
``` **示例:**
let queue = new Queue();
queue.add(2); ```
queue.add(4); let queue = new Queue();
queue.add(5); queue.add(2);
queue.add(2); queue.add(4);
queue.getFirst(); queue.add(5);
``` queue.add(2);
queue.getFirst();
```
### forEach ### forEach
forEach(callbackfn: (value: T, index?: number, queue?: Queue&lt;T&gt;) => void, forEach(callbackfn: (value: T, index?: number, queue?: Queue&lt;T&gt;) => void,
thisArg?: Object): void; thisArg?: Object): void
通过回调函数来遍历Queue实例对象上的元素以及元素对应的下标。 通过回调函数来遍历Queue实例对象上的元素以及元素对应的下标。
- 参数: **参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| callbackfn | function | 是 | 回调函数。 | | -------- | -------- | -------- | -------- |
| thisArg | Object | 否 | callbackfn被调用时用作this值 | | callbackfn | function | 是 | 回调函数。 |
| thisArg | Object | 否 | callbackfn被调用时用作this值。 |
- callbackfn的参数说明
callbackfn的参数说明:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | 参数名 | 类型 | 必填 | 说明 |
| value | T | 是 | 当前遍历到的元素 | | -------- | -------- | -------- | -------- |
| index | number | 否 | 当前遍历到的下标值 | | value | T | 是 | 当前遍历到的元素 |
| queue | Queue&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 | | index | number | 否 | 当前遍历到的下标值 |
| queue | Queue&lt;T&gt; | 否 | 当前调用forEach方法的实例对象 |
- 示例: **示例:**
```
let queue = new Queue(); ```
queue.add(2); let queue = new Queue();
queue.add(4); queue.add(2);
queue.add(5); queue.add(4);
queue.add(4); queue.add(5);
queue.forEach((value, index) => { queue.add(4);
console.log(value, index); queue.forEach((value, index) => {
}); console.log(value, index);
});
```
```
### [Symbol.iterator] ### [Symbol.iterator]
[Symbol.iterator]\(): IterableIterator&lt;T&gt;; [Symbol.iterator]\(): IterableIterator&lt;T&gt;
返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。 返回一个迭代器,迭代器的每一项都是一个 JavaScript 对象,并返回该对象。
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| IterableIterator&lt;T&gt; | 返回一个迭代器 |
- 返回值: **示例:**
| 类型 | 说明 | ```
| -------- | -------- | let queue = new Queue();
| IterableIterator&lt;T&gt; | 返回一个迭代器 | queue.add(2);
queue.add(4);
queue.add(5);
- 示例: queue.add(4);
```
let queue = new Queue(); // 使用方法一:
queue.add(2); for (let item of queue) {
queue.add(4); console.log(item);
queue.add(5); }
queue.add(4);
// 使用方法二:
// 使用方法一: let iter = queue[Symbol.iterator]();
for (let item of queue) { let temp = iter.next().value;
console.log(item); while(temp != undefined) {
} console.log(temp);
temp = iter.next().value;
// 使用方法二: }
let iter = queue[Symbol.iterator](); ```
let temp = iter.next().value; \ No newline at end of file
while(temp != undefined) {
console.log(temp);
temp = iter.next().value;
}
```
\ No newline at end of file
# 访问控制管理
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```
import abilityAccessCtrl from '@ohos.abilityAccessCtrl'
```
## 系统能力
SystemCapability.Security.AccessToken
## abilityAccessCtrl.createAtManager
createAtManager(): AtManager
访问控制管理:获取访问控制模块对象。
- 返回值:
| 类型 | 说明 |
| -------- | -------- |
| [AtManager](#atManager) | 获取访问控制模块的实例。 |
- 示例:
```
var AtManager = abilityAccessCtrl.createAtManager();
```
## AtManager
管理访问控制模块的实例。
### verifyAccessToken
verifyAccessToken(tokenID: number, permissionName: string): Promise&lt;GrantStatus&gt;
校验应用是否授予权限,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------- | ---- | ------------------------------------------ |
| tokenID | number | 是 | 要校验的目标应用的身份标识。 |
| permissionName | string | 是 | 需要校验的权限名称。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;GrantStatus&gt; | Promise实例,用于获取异步返回的授权状态结果。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.verifyAccessToken(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### grantUserGrantedPermission
grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise&lt;number&gt;
授予应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被授予的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回的授权操作结果。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### grantUserGrantedPermission
grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback&lt;number&gt;): void
授予应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.GRANT_SENSITIVE_PERMISSIONS。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被授予的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 检查授予应用user grant权限的操作结果同步的回调。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
### revokeUserGrantedPermission
revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise&lt;number&gt;
撤销应用user grant权限,使用Promise方式异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被撤销的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回的授权操作结果。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
let promise = AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag);
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
### revokeUserGrantedPermission
revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback&lt;number&gt;): void
撤销应用user grant权限,使用callback回调异步返回结果。
需要权限:ohos.permission.REVOKE_SENSITIVE_PERMISSIONS。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 被撤销的权限名称。 |
| permissionFlag | number | 是 | 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。 |
| callback | AsyncCallback&lt;number&gt; | 是 | 检查撤销应用user grant权限的操作结果同步的回调。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
console.log(`callback: data->${JSON.stringify(data)}`);
});
```
### getPermissionFlags
getPermissionFlags(tokenID: number, permissionName: string): Promise&lt;number&gt;
获取指定应用的指定权限的flag,使用Promise方式异步返回结果。
- 参数:
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------- | ---- | ------------------------------------------------------------ |
| tokenID | number | 是 | 目标应用的身份标识。 |
| permissionName | string | 是 | 查询的权限名称。 |
- 返回值:
| 类型 | 说明 |
| :------------ | :---------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回的查询结果。 |
- 示例:
```
const AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.getPermissionFlags(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
console.log(`promise: data->${JSON.stringify(data)}`);
});
```
\ No newline at end of file
...@@ -10,6 +10,9 @@ ...@@ -10,6 +10,9 @@
import userIAM_userAuth from '@ohos.userIAM.userAuth'; import userIAM_userAuth from '@ohos.userIAM.userAuth';
``` ```
## 系统能力
SystemCapability.UserIAM.UserAuth
## 权限列表 ## 权限列表
......
...@@ -14,6 +14,9 @@ ...@@ -14,6 +14,9 @@
import util from '@ohos.util'; import util from '@ohos.util';
``` ```
## 系统能力
SystemCapability.Utils.Lang
## util.printf ## util.printf
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册