提交 ef789d08 编写于 作者: Z zhongjianfei 提交者: Gitee

Merge branch 'master' of gitee.com:openharmony/docs into mm1207

Signed-off-by: Nzhongjianfei <zhongjianfei@huawei.com>
# DFX
- 应用事件打点
- [应用事件打点概述](hiappevent-guidelines.md)
- [应用事件打点开发指导](hiappevent-guidelines.md)
- 性能打点跟踪
- [性能打点跟踪概述](hitracemeter-overview.md)
......
# 应用事件打点开发指导
## 场景介绍
## 简介
应用事件打点的主要工作是在应用运行过程中,帮助应用记录在运行过程中发生的各种信息。
传统的日志系统里汇聚了整个设备上所有程序运行的过程流水日志,难以识别其中的关键信息。因此,应用开发者需要一种数据打点机制,用来评估如访问数、日活、用户操作习惯以及影响用户使用的关键因素等关键信息。
## 接口说明
HiAppEvent是在系统层面为应用开发者提供的一种事件打点机制,用于帮助应用记录在运行过程中发生的故障信息、统计信息、安全信息、用户行为信息,以支撑开发者分析应用的运行情况。
## 基本概念
- **打点**
记录由用户操作引起的变化,提供业务数据信息,以供开发、产品、运维分析。
## 事件设计规范
应用事件JS打点接口由hiAppEvent模块提供。
- 事件领域:用于标识事件的领域,建议设置为业务模块名称,以便于区分不同的业务模块。
- 事件名称:用于指定事件的名称,建议设置为具体的业务名称,以便于描述实际的业务意义。
- 事件类型:用于指定事件的类型,支持以下四种类型事件:
- 行为事件:用于记录用户日常操作行为的事件,例如按钮点击、界面跳转等行为。
- 故障事件:用于定位和分析应用故障的事件,例如界面卡顿、掉网掉话等异常。
- 统计事件:用于统计和度量应用关键行为的事件,例如对使用时长、访问数等的统计。
- 安全事件:用于记录涉及应用安全行为的事件,例如密码修改、用户授权等行为。
- 事件参数:用于指定事件的参数,每个事件可以包含一组参数,建议设置为事件属性或事件发生上下文信息,以便于描述事件的详细信息。
以下仅提供简单的接口介绍,API接口的具体使用说明(参数使用限制、具体取值范围等)请参考[应用事件打点API文档](../reference/apis/js-apis-hiviewdfx-hiappevent.md)
## 接口说明
应用事件打点接口由hiAppEvent模块提供,API接口的具体使用说明(参数使用限制、具体取值范围等)请参考[应用事件打点API文档](../reference/apis/js-apis-hiviewdfx-hiappevent.md)
**打点接口功能介绍:**
......@@ -17,33 +34,61 @@
| write(AppEventInfo info, AsyncCallback\<void> callback): void | 应用事件异步打点方法,使用callback方式作为异步回调。 |
| write(AppEventInfo info): Promise\<void> | 应用事件异步打点方法,使用Promise方式作为异步回调。 |
**打点配置接口功能介绍:**
| 接口名 | 描述 |
| ------------------------------------ | ---------------------------------------------------- |
| configure(ConfigOption config): void | 应用事件打点配置方法,可以对打点功能进行自定义配置。 |
**订阅接口功能介绍:**
| 接口名 | 描述 |
| -------------------------------------------------- | -------------------- |
| addWatcher(Watcher watcher): AppEventPackageHolder | 添加应用事件订阅者。 |
| removeWatcher(Watcher watcher): void | 移除应用事件订阅者。 |
| 接口名 | 描述 |
| -------------------------------------------------- | -------------------------------------------- |
| addWatcher(Watcher watcher): AppEventPackageHolder | 添加应用事件观察者,以添加对应用事件的订阅。 |
| removeWatcher(Watcher watcher): void | 移除应用事件观察者,以移除对应用事件的订阅。 |
**清理接口功能介绍:**
## 开发步骤
| 接口名 | 描述 |
| ----------------- | -------------------- |
| clearData(): void | 清除本地的打点数据。 |
以实现对用户点击按钮行为的事件打点及订阅为例,说明开发步骤。
## 开发步骤
1. 新建一个ets应用工程,编辑工程中的“entry > src > main > ets > Application> MyAbilityStage.ts” 文件,在应用启动时添加对用户点击按钮事件的订阅,完整示例代码如下:
以一次应用事件打点订阅流程为例,说明开发步骤。
```js
import AbilityStage from "@ohos.application.AbilityStage"
import hiAppEvent from '@ohos.hiviewdfx.hiAppEvent'
export default class MyAbilityStage extends AbilityStage {
onCreate() {
console.log("[Demo] MyAbilityStage onCreate")
hiAppEvent.addWatcher({
// 开发者可以自定义观察者名称,系统会使用名称来标识不同的观察者
name: "watcher1",
// 开发者可以订阅感兴趣的应用事件,此处是订阅了按钮事件
appEventFilters: [{ domain: "button" }],
// 开发者可以设置订阅回调触发的条件,此处是设置为事件打点数量满足1个
triggerCondition: { row: 1 },
// 开发者可以自行实现订阅回调函数,以便对订阅获取到的事件打点数据进行自定义处理
onTrigger: function (curRow, curSize, holder) {
// 返回的holder对象为null,表示订阅过程发生异常,因此在记录错误日志后直接返回
if (holder == null) {
console.error("HiAppEvent holder is null")
return
}
let eventPkg = null
// 根据设置阈值大小(默认为512KB)去获取订阅事件包,直到将订阅数据全部取出
// 返回的事件包对象为null,表示当前订阅数据已被全部取出,此次订阅回调触发结束
while ((eventPkg = holder.takeNext()) != null) {
// 开发者可以对事件包中的事件打点数据进行自定义处理,此处是将事件打点数据打印在日志中
console.info(`HiAppEvent eventPkg.packageId=${eventPkg.packageId}`)
console.info(`HiAppEvent eventPkg.row=${eventPkg.row}`)
console.info(`HiAppEvent eventPkg.size=${eventPkg.size}`)
for (const eventInfo of eventPkg.data) {
console.info(`HiAppEvent eventPkg.info=${eventInfo}`)
}
}
}
})
}
}
1. 新建一个ets应用工程,编辑工程中的“entry > src > main > ets > pages > index.ets” 文件,依次添加三个按钮,以对应用事件打点订阅流程进行模拟。其中,按钮1模拟了应用事件打点的调用,按钮2模拟了添加自动触发回调的事件订阅者的调用,按钮3模拟了移除事件订阅者的调用,完整示例代码如下:
2. 编辑工程中的entry > src > main > ets > Application> MyAbilityStage.ts 文件添加一个按钮并在其onClick函数中进行事件打点以记录按钮点击事件完整示例代码如下
```ts
import hiAppEvent from '@ohos.hiviewdfx.hiAppEvent';
```js
import hiAppEvent from '@ohos.hiviewdfx.hiAppEvent'
@Entry
@Component
......@@ -57,61 +102,21 @@
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button("1 writeTest").onClick(()=>{
// 根据传入的事件参数执行一次应用事件打点
Button("writeTest").onClick(()=>{
// 在按钮点击函数中进行事件打点,以记录按钮点击事件
hiAppEvent.write({
domain: "test_domain",
name: "test_event",
eventType: hiAppEvent.EventType.FAULT,
params: {
int_data: 100,
str_data: "strValue"
}
// 事件领域定义
domain: "button",
// 事件名称定义
name: "click",
// 事件类型定义
eventType: hiAppEvent.EventType.BEHAVIOR,
// 事件参数定义
params: { click_time: 100 }
}).then(() => {
console.log(`HiAppEvent success to write event`);
console.log(`HiAppEvent success to write event`)
}).catch((err) => {
console.error(`code: ${err.code}, message: ${err.message}`);
});
})
Button("2 addWatcherTest").onClick(()=>{
// 根据传入的订阅参数添加一个应用事件订阅者
hiAppEvent.addWatcher({
name: "watcher1",
appEventFilters: [{ domain: "test_domain" }],
triggerCondition: {
row: 2,
size: 1000,
timeOut: 2
},
onTrigger: function (curRow, curSize, holder) {
// 返回的holder对象为null表示订阅过程发生异常,因此在记录错误日志后直接返回
if (holder == null) {
console.error("HiAppEvent holder is null");
return;
}
// 设置每次获取的订阅事件包大小阈值为1000字节
holder.setSize(1000);
let eventPkg = null;
// 根据设置阈值大小去获取订阅事件包(返回的事件包对象为null,表示当前订阅数据被全部取出)
while ((eventPkg = holder.takeNext()) != null) {
// 对获取的订阅事件包进行解析,并将解析结果打印在Log界面
console.info(`HiAppEvent eventPkg.packageId=${eventPkg.packageId}`);
console.info(`HiAppEvent eventPkg.row=${eventPkg.row}`);
console.info(`HiAppEvent eventPkg.size=${eventPkg.size}`);
// 对订阅事件包中的事件字符串数组进行遍历解析
for (const eventInfo of eventPkg.data) {
console.info(`HiAppEvent eventPkg.data=${eventInfo}`);
}
}
}
});
})
Button("3 removeWatcherTest").onClick(()=>{
// 移除指定名称的应用事件订阅者
hiAppEvent.removeWatcher({
name: "watcher1"
console.error(`HiAppEvent err.code: ${err.code}, err.message: ${err.message}`)
})
})
}
......@@ -121,26 +126,20 @@
}
}
```
3. 点击IDE界面中的运行按钮,运行应用工程,然后在应用界面中点击按钮“writeTest”,触发一次按钮点击事件打点。
2. 点击IDE界面中的运行按钮,运行应用工程。
3. 在应用界面点击按钮1进行一次事件打点,可以在Log窗口看到打点成功的日志:
```
success to write event: 0
```
4. 在应用界面点击按钮2进行添加事件订阅者,再多次点击按钮1进行多次打点。在满足回调任一触发条件(事件数量、事件数据大小、定时时长)后,可以在Log窗口看到回调函数触发后获取到的订阅事件包的日志:
4. 最终,可以在Log窗口看到按钮点击事件打点成功的日志,以及触发订阅回调后对打点事件数据的处理日志:
```
```js
HiAppEvent success to write event
HiAppEvent eventPkg.packageId=0
HiAppEvent eventPkg.row=2
HiAppEvent eventPkg.size=308
HiAppEvent eventPkg.data={"domain_":"test_domain","name_":"test_event","type_":1,"time_":1502096107556,"tz_":"+0000","pid_":4204,"tid_":4223,"int_data":100,"str_data":"strValue"}
HiAppEvent eventPkg.row=1
HiAppEvent eventPkg.size=124
HiAppEvent eventPkg.info={"domain_":"button","name_":"click","type_":4,"time_":1670268234523,"tz_":"+0800","pid_":3295,"tid_":3309,"click_time":100}
```
5. 在应用界面点击按钮3进行移除事件订阅者,再多次点击按钮1进行多次打点,此时在Log窗口不再能看到订阅触发的日志。
## 相关实例
针对应用事件开发,有以下相关实例可供参考:
......
# 应用事件打点概述
HiAppEvent提供了应用事件打点接口,为应用提供事件打点的功能,用于帮助应用记录在运行过程中发生的故障信息、统计信息、安全信息、用户行为信息,以支撑开发者分析应用的运行情况。
## 基本概念
HiAppEvent模块支持应用事件业务的开发,提供应用事件相关的功能,主要包括应用事件落盘、应用事件订阅、应用事件清理、打点功能配置等功能。
**打点**:记录由用户操作引起的变化,提供业务数据信息,以供开发、产品、运维分析。
......@@ -9,9 +9,9 @@ API参考采用两种方式标记组件或接口开始支持的版本号:
- 对于新增组件或接口,会在章节开头进行说明,如:本模块首批接口从API version 7开始支持。
- 对于某个已有组件或接口的新增特性,会在对应特性后进行标注,如:“uid<sup>8+</sup>”表示从API Version 8开始支持属性uid。
## Ability框架模型说明
## 应用模型说明
Ability是系统调度应用的最小单元,是能够完成一个独立功能的组件。一个应用可以包含一个或多个Ability。Ability框架模型具有两种形态,分为FA模型和Stage模型。具体可参考[Ability框架概述](../../ability/ability-brief.md)
随着系统的演进发展,OpenHarmony先后提供了两种应用模型,FA模型和Stage模型,两者的差异说明可参考[应用模型解读](../../application-models/application-model-description.md)
- 如果某个模块的接口仅支持其中一种模型,会在文档开头说明:本模块接口仅可在FA模型/Stage模型下使用。
- 如果某个接口仅支持其中一种模型,会在具体的接口描述中说明:此接口仅可在FA模型/Stage模型下使用。
......@@ -26,11 +26,11 @@ OpenHarmony中提供的接口,部分是仅供OEM厂商使用的system api,
- 如果某个模块的接口均为system api,会在文档开头说明:该模块接口为系统接口。
- 如果某个接口为system api,会在具体的接口描述中说明:此接口为系统接口。
普通应用即应用APL等级为normal的应用。应用等级默认为normal
普通应用即在HarmonyAppProvision配置文件中应用程序类型为hos_normal_app的应用。工程新建时,该字段默认为hos_normal_app
APL等级的详细说明及如何将应用的APL等级声明为normal以上,请参考[访问控制开发概述-应用APL等级说明](../../security/accesstoken-overview.md#应用apl等级说明)
随DevEco下载的SDK为public-SDK,不包括系统接口。如需使用系统接口,需要将SDK替换为full-SDK,具体参考[full-SDK替换指南](../../quick-start/full-sdk-switch-guide.md)
随DevEco下载的SDK为public-SDK,不包括系统接口。如需使用系统接口,需要:
- 参考[full-SDK替换指南](../../quick-start/full-sdk-switch-guide.md)将SDK替换为full-SDK。
- 参考[HarmonyAppProvision配置文件的说明](../../security/app-provision-structure.md#harmonyappprovision配置文件的说明)修改HarmonyAppProvision配置文件中的app-feature字段为hos_system_app(系统应用)
## 权限说明
......@@ -41,7 +41,7 @@ APL等级的详细说明及如何将应用的APL等级声明为normal以上,
- 如果应用需要具备某个权限才能调用该接口,会在具体的接口描述中说明:**需要权限**:ohos.permission.xxxx
- 如果应用不需要任何权限即可调用该接口,则不做特殊说明。
如果需要判断应用是否可以申请某权限,可参考[权限定义列表](../../security/permission-list.md)
如果需要判断应用是否可以申请某权限,可参考[权限申请使用的工作流程](../../security/accesstoken-overview.md#权限申请使用的工作流程)
## 系统能力说明
......@@ -49,6 +49,8 @@ APL等级的详细说明及如何将应用的APL等级声明为normal以上,
文档在每一个接口描述中说明了接口的系统能力,如:**系统能力**:SystemCapability.xxx.xxx
通过[系统能力SystemCapability列表](../syscap-list.md),可以速查具体能力集支持的设备。
## 示例代码语言说明
OpenHarmony支持使用JS和TS两种开发语言。
......
......@@ -3203,87 +3203,87 @@ IP多媒体系统调用模式。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Telephony.CallManager。
| 名称 | 值 | 说明 |
| ----------------------------------------------- | ---- | --------------------------------------- |
| UNASSIGNED_NUMBER | 1 | 未分配的号码(空号) |
| NO_ROUTE_TO_DESTINATION | 3 | 无至目的地的路由 |
| CHANNEL_UNACCEPTABLE | 6 | 不可接受的通路 |
| OPERATOR_DETERMINED_BARRING | 8 | 运营商闭锁 |
| CALL_COMPLETED_ELSEWHERE | 13 | 呼叫在其他地方完成 |
| NORMAL_CALL_CLEARING | 16 | 清除正常呼叫 |
| USER_BUSY | 17 | 用户忙 |
| NO_USER_RESPONDING | 18 | 无用户响应 |
| USER_ALERTING_NO_ANSWER | 19 | 已有用户提醒,但无应答 |
| CALL_REJECTED | 21 | 呼叫拒绝 |
| NUMBER_CHANGED | 22 | 号码改变 |
| CALL_REJECTED_DUE_TO_FEATURE_AT_THE_DESTINATION | 24 | 当由于目标地址(例如匿名)导致呼叫被拒绝 |
| FAILED_PRE_EMPTION | 25 | 抢占失败 |
| NON_SELECTED_USER_CLEARING | 26 | 非选定用户清除 |
| DESTINATION_OUT_OF_ORDER | 27 | 终点故障 |
| INVALID_NUMBER_FORMAT | 28 | 无效号码格式 |
| FACILITY_REJECTED | 29 | 增补业务拒绝 |
| RESPONSE_TO_STATUS_ENQUIRY | 30 | 对状态查询的响应 |
| NORMAL_UNSPECIFIED | 31 | 正常,未指定 |
| NO_CIRCUIT_CHANNEL_AVAILABLE | 34 | 无电路/通道可用 |
| NETWORK_OUT_OF_ORDER | 38 | 网络故障 |
| TEMPORARY_FAILURE | 41 | 临时故障 |
| SWITCHING_EQUIPMENT_CONGESTION | 42 | 交换设备拥塞 |
| ACCESS_INFORMATION_DISCARDED | 43 | 已丢弃访问信息 |
| REQUEST_CIRCUIT_CHANNEL_NOT_AVAILABLE | 44 | 请求的电路/通道不可用 |
| RESOURCES_UNAVAILABLE_UNSPECIFIED | 47 | 未指定资源不可用 |
| QUALITY_OF_SERVICE_UNAVAILABLE | 49 | 服务质量不可用 |
| REQUESTED_FACILITY_NOT_SUBSCRIBED | 50 | 请求的设施未订阅 |
| INCOMING_CALLS_BARRED_WITHIN_THE_CUG | 55 | CUG内禁止来电 |
| BEARER_CAPABILITY_NOT_AUTHORIZED | 57 | 未授权承载能力 |
| BEARER_CAPABILITY_NOT_PRESENTLY_AVAILABLE | 58 | 承载能力目前不可用 |
| SERVICE_OR_OPTION_NOT_AVAILABLE_UNSPECIFIED | 63 | 服务或选项不可用,未指定 |
| BEARER_SERVICE_NOT_IMPLEMENTED | 65 | 未实现承载服务 |
| ACM_EQUALTO_OR_GREATER_THAN_THE_MAXIMUM_VALUE | 68 | ACM大于或等于最大值 |
| REQUESTED_FACILITY_NOT_IMPLEMENTED | 69 | 请求的设施未实施 |
| ONLY_RESTRICTED_DIGITAL_INFO_BEARER_CAPABILITY_IS_AVAILABLE | 70 | 仅限BC有限数字信息可用 |
| SERVICE_OR_OPTION_NOT_IMPLEMENTED_UNSPECIFIED | 79 | 服务或选项未实施,未指定 |
| INVALID_TRANSACTION_IDENTIFIER_VALUE | 81 | 无效的业务标识符值 |
| USER_NOT_MEMBER_OF_CUG | 87 | 用户不是CUG成员 |
| INCOMPATIBLE_DESTINATION | 88 | 目标不兼容 |
| INVALID_TRANSIT_NETWORK_SELECTION | 91 | 选择的传输网络无效 |
| SEMANTICALLY_INCORRECT_MESSAGE | 95 | 语义错误的消息 |
| INVALID_MANDATORY_INFORMATION | 96 | 无效的强制信息 |
| MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED | 97 | 消息类型不存在或未实现 |
| MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE | 98 | 消息类型与协议状态不兼容 |
| INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED | 99 | IE不存在或未实现 |
| CONDITIONAL_IE_ERROR | 100 | 条件IE错误 |
| MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE | 101 | 消息与协议状态不兼容 |
| RECOVERY_ON_TIMER_EXPIRED | 102 | 计时器过期时恢复计时器编号 |
| PROTOCOL_ERROR_UNSPECIFIED | 111 | 协议错误,未指定 |
| INTERWORKING_UNSPECIFIED | 127 | 互通,未指定 |
| CALL_BARRED | 240 | 呼叫被禁止 |
| FDN_BLOCKED | 241 | FDN受阻 |
| IMSI_UNKNOWN_IN_VLR | 242 | VLR中的IMSI未知 |
| IMEI_NOT_ACCEPTED | 243 | IMEI未被接受 |
| DIAL_MODIFIED_TO_USSD | 244 | 拨号修改为USSD |
| DIAL_MODIFIED_TO_SS | 245 | 拨号修改为USSD号 |
| DIAL_MODIFIED_TO_DIAL | 246 | 拨号已修改为正常 |
| RADIO_OFF | 247 | 无线电通讯已关闭 |
| OUT_OF_SERVICE | 248 | 停止服务 |
| NO_VALID_SIM | 249 | SIM卡无效 |
| RADIO_INTERNAL_ERROR | 250 | 无线电通讯内部错误 |
| NETWORK_RESP_TIMEOUT | 251 | 网络响应超时 |
| NETWORK_REJECT | 252 | 网络拒绝 |
| RADIO_ACCESS_FAILURE | 253 | 无线电接入故障 |
| RADIO_LINK_FAILURE | 254 | 无线电链路故障 |
| RADIO_LINK_LOST | 255 | 无线电链路丢失 |
| RADIO_UPLINK_FAILURE | 256 | 无线电上行链路故障 |
| RADIO_SETUP_FAILURE | 257 | 无线电通讯设置失败 |
| RADIO_RELEASE_NORMAL | 258 | 无线电释放正常 |
| RADIO_RELEASE_ABNORMAL | 259 | 无线电释放异常 |
| ACCESS_CLASS_BLOCKED | 260 | 访问类被阻止 |
| NETWORK_DETACH | 261 | 网络分离 |
| INVALID_PARAMETER | 1025 | 无效参数 |
| SIM_NOT_EXIT | 1026 | SIM卡未退出 |
| SIM_PIN_NEED | 1027 | 需要SIM卡PIN码 |
| CALL_NOT_ALLOW | 1029 | 不允许呼叫 |
| SIM_INVALID | 1045 | SIM卡无效 |
| UNKNOWN | 1279 | 未知原因 |
| 名称 | 值 | 说明 |
| ------------------------------------------------------------ | ---- | --------------------------------------- |
| UNASSIGNED_NUMBER | 1 | 未分配的号码(空号) |
| NO_ROUTE_TO_DESTINATION | 3 | 无至目的地的路由 |
| CHANNEL_UNACCEPTABLE | 6 | 不可接受的通路 |
| OPERATOR_DETERMINED_BARRING | 8 | 运营商闭锁 |
| CALL_COMPLETED_ELSEWHERE<sup>9+</sup> | 13 | 呼叫在其他地方完成 |
| NORMAL_CALL_CLEARING | 16 | 清除正常呼叫 |
| USER_BUSY | 17 | 用户忙 |
| NO_USER_RESPONDING | 18 | 无用户响应 |
| USER_ALERTING_NO_ANSWER | 19 | 已有用户提醒,但无应答 |
| CALL_REJECTED | 21 | 呼叫拒绝 |
| NUMBER_CHANGED | 22 | 号码改变 |
| CALL_REJECTED_DUE_TO_FEATURE_AT_THE_DESTINATION<sup>9+</sup> | 24 | 当由于目标地址(例如匿名)导致呼叫被拒绝 |
| FAILED_PRE_EMPTION<sup>9+</sup> | 25 | 抢占失败 |
| NON_SELECTED_USER_CLEARING<sup>9+</sup> | 26 | 非选定用户清除 |
| DESTINATION_OUT_OF_ORDER | 27 | 终点故障 |
| INVALID_NUMBER_FORMAT | 28 | 无效号码格式 |
| FACILITY_REJECTED<sup>9+</sup> | 29 | 增补业务拒绝 |
| RESPONSE_TO_STATUS_ENQUIRY<sup>9+</sup> | 30 | 对状态查询的响应 |
| NORMAL_UNSPECIFIED<sup>9+</sup> | 31 | 正常,未指定 |
| NO_CIRCUIT_CHANNEL_AVAILABLE<sup>9+</sup> | 34 | 无电路/通道可用 |
| NETWORK_OUT_OF_ORDER | 38 | 网络故障 |
| TEMPORARY_FAILURE | 41 | 临时故障 |
| SWITCHING_EQUIPMENT_CONGESTION<sup>9+</sup> | 42 | 交换设备拥塞 |
| ACCESS_INFORMATION_DISCARDED<sup>9+</sup> | 43 | 已丢弃访问信息 |
| REQUEST_CIRCUIT_CHANNEL_NOT_AVAILABLE<sup>9+</sup> | 44 | 请求的电路/通道不可用 |
| RESOURCES_UNAVAILABLE_UNSPECIFIED<sup>9+</sup> | 47 | 未指定资源不可用 |
| QUALITY_OF_SERVICE_UNAVAILABLE<sup>9+</sup> | 49 | 服务质量不可用 |
| REQUESTED_FACILITY_NOT_SUBSCRIBED<sup>9+</sup> | 50 | 请求的设施未订阅 |
| INCOMING_CALLS_BARRED_WITHIN_THE_CUG<sup>9+</sup> | 55 | CUG内禁止来电 |
| BEARER_CAPABILITY_NOT_AUTHORIZED<sup>9+</sup> | 57 | 未授权承载能力 |
| BEARER_CAPABILITY_NOT_PRESENTLY_AVAILABLE<sup>9+</sup> | 58 | 承载能力目前不可用 |
| SERVICE_OR_OPTION_NOT_AVAILABLE_UNSPECIFIED<sup>9+</sup> | 63 | 服务或选项不可用,未指定 |
| BEARER_SERVICE_NOT_IMPLEMENTED<sup>9+</sup> | 65 | 未实现承载服务 |
| ACM_EQUALTO_OR_GREATER_THAN_THE_MAXIMUM_VALUE<sup>9+</sup> | 68 | ACM大于或等于最大值 |
| REQUESTED_FACILITY_NOT_IMPLEMENTED<sup>9+</sup> | 69 | 请求的设施未实施 |
| ONLY_RESTRICTED_DIGITAL_INFO_BEARER_CAPABILITY_IS_AVAILABLE<sup>9+</sup> | 70 | 仅限BC有限数字信息可用 |
| SERVICE_OR_OPTION_NOT_IMPLEMENTED_UNSPECIFIED<sup>9+</sup> | 79 | 服务或选项未实施,未指定 |
| INVALID_TRANSACTION_IDENTIFIER_VALUE<sup>9+</sup> | 81 | 无效的业务标识符值 |
| USER_NOT_MEMBER_OF_CUG<sup>9+</sup> | 87 | 用户不是CUG成员 |
| INCOMPATIBLE_DESTINATION<sup>9+</sup> | 88 | 目标不兼容 |
| INVALID_TRANSIT_NETWORK_SELECTION<sup>9+</sup> | 91 | 选择的传输网络无效 |
| SEMANTICALLY_INCORRECT_MESSAGE<sup>9+</sup> | 95 | 语义错误的消息 |
| INVALID_MANDATORY_INFORMATION<sup>9+</sup> | 96 | 无效的强制信息 |
| MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED<sup>9+</sup> | 97 | 消息类型不存在或未实现 |
| MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE<sup>9+</sup> | 98 | 消息类型与协议状态不兼容 |
| INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED<sup>9+</sup> | 99 | IE不存在或未实现 |
| CONDITIONAL_IE_ERROR<sup>9+</sup> | 100 | 条件IE错误 |
| MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE<sup>9+</sup> | 101 | 消息与协议状态不兼容 |
| RECOVERY_ON_TIMER_EXPIRED<sup>9+</sup> | 102 | 计时器过期时恢复计时器编号 |
| PROTOCOL_ERROR_UNSPECIFIED<sup>9+</sup> | 111 | 协议错误,未指定 |
| INTERWORKING_UNSPECIFIED<sup>9+</sup> | 127 | 互通,未指定 |
| CALL_BARRED<sup>9+</sup> | 240 | 呼叫被禁止 |
| FDN_BLOCKED<sup>9+</sup> | 241 | FDN受阻 |
| IMSI_UNKNOWN_IN_VLR<sup>9+</sup> | 242 | VLR中的IMSI未知 |
| IMEI_NOT_ACCEPTED<sup>9+</sup> | 243 | IMEI未被接受 |
| DIAL_MODIFIED_TO_USSD<sup>9+</sup> | 244 | 拨号修改为USSD |
| DIAL_MODIFIED_TO_SS<sup>9+</sup> | 245 | 拨号修改为USSD号 |
| DIAL_MODIFIED_TO_DIAL<sup>9+</sup> | 246 | 拨号已修改为正常 |
| RADIO_OFF<sup>9+</sup> | 247 | 无线电通讯已关闭 |
| OUT_OF_SERVICE<sup>9+</sup> | 248 | 停止服务 |
| NO_VALID_SIM<sup>9+</sup> | 249 | SIM卡无效 |
| RADIO_INTERNAL_ERROR<sup>9+</sup> | 250 | 无线电通讯内部错误 |
| NETWORK_RESP_TIMEOUT<sup>9+</sup> | 251 | 网络响应超时 |
| NETWORK_REJECT<sup>9+</sup> | 252 | 网络拒绝 |
| RADIO_ACCESS_FAILURE<sup>9+</sup> | 253 | 无线电接入故障 |
| RADIO_LINK_FAILURE<sup>9+</sup> | 254 | 无线电链路故障 |
| RADIO_LINK_LOST<sup>9+</sup> | 255 | 无线电链路丢失 |
| RADIO_UPLINK_FAILURE<sup>9+</sup> | 256 | 无线电上行链路故障 |
| RADIO_SETUP_FAILURE<sup>9+</sup> | 257 | 无线电通讯设置失败 |
| RADIO_RELEASE_NORMAL<sup>9+</sup> | 258 | 无线电释放正常 |
| RADIO_RELEASE_ABNORMAL<sup>9+</sup> | 259 | 无线电释放异常 |
| ACCESS_CLASS_BLOCKED<sup>9+</sup> | 260 | 访问类被阻止 |
| NETWORK_DETACH<sup>9+</sup> | 261 | 网络分离 |
| INVALID_PARAMETER | 1025 | 无效参数 |
| SIM_NOT_EXIT | 1026 | SIM卡未退出 |
| SIM_PIN_NEED | 1027 | 需要SIM卡PIN码 |
| CALL_NOT_ALLOW | 1029 | 不允许呼叫 |
| SIM_INVALID | 1045 | SIM卡无效 |
| UNKNOWN | 1279 | 未知原因 |
## MmiCodeResults<sup>9+</sup>
......
......@@ -595,6 +595,8 @@ httpResponseCache.delete().then() => {
http的数据类型。
**系统能力**:SystemCapability.Communication.NetStack
| 名称 | 值 | 说明 |
| ------------------ | -- | ----------- |
| STRING | 0 | 字符串类型。 |
......@@ -605,6 +607,8 @@ http的数据类型。
http协议版本。
**系统能力**:SystemCapability.Communication.NetStack
| 名称 | 说明 |
| :-------- | :----------- |
| HTTP1_1 | 协议http1.1 |
......
......@@ -14,7 +14,7 @@ import ethernet from '@ohos.net.ethernet'
## ethernet.setIfaceConfig
setIfaceConfig(iface: string, ic: InterfaceConfiguration, callback: AsyncCallback\<void>): void;
setIfaceConfig(iface: string, ic: InterfaceConfiguration, callback: AsyncCallback\<void>): void
设置网络接口配置信息,使用callback方式作为异步方法。
......@@ -48,7 +48,7 @@ ethernet.setIfaceConfig("eth0", {mode:ethernet.STATIC,ipAddr:"192.168.1.123", ro
## ethernet.setIfaceConfig
setIfaceConfig(iface: string, ic: InterfaceConfiguration): Promise\<void>;
setIfaceConfig(iface: string, ic: InterfaceConfiguration): Promise\<void>
设置网络接口配置信息,使用Promise方式作为异步方法。
......@@ -84,7 +84,7 @@ ethernet.setIfaceConfig("eth0", {mode:ethernet.STATIC,ipAddr:"192.168.1.123", ro
## ethernet.getIfaceConfig
getIfaceConfig(iface: string, callback: AsyncCallback\<InterfaceConfiguration>): void;
getIfaceConfig(iface: string, callback: AsyncCallback\<InterfaceConfiguration>): void
获取指定网络接口信息,使用callback方式作为异步方法。
......@@ -121,7 +121,7 @@ ethernet.getIfaceConfig("eth0", (error, value) => {
## ethernet.getIfaceConfig
getIfaceConfig(iface: string): Promise\<InterfaceConfiguration>;
getIfaceConfig(iface: string): Promise\<InterfaceConfiguration>
获取指定网络接口信息,使用Promise方式作为异步方法。
......@@ -161,7 +161,7 @@ ethernet.getIfaceConfig("eth0").then((data) => {
## ethernet.isIfaceActive
isIfaceActive(iface?: string, callback: AsyncCallback\<number>): void;
isIfaceActive(iface: string, callback: AsyncCallback\<number>): void
判断接口是否已激活,使用callback方式作为异步方法。
......@@ -175,7 +175,7 @@ isIfaceActive(iface?: string, callback: AsyncCallback\<number>): void;
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------- | ---- | -------------------------------------------------- |
| iface | string | | 接口名。为空时代表查询是否存在激活接口 |
| iface | string | | 接口名。为空时代表查询是否存在激活接口 |
| callback | AsyncCallback\<number> | 是 | 回调函数,已激活:1,未激活:0,其他为获取失败错误码。 |
**示例:**
......@@ -192,7 +192,7 @@ ethernet.isIfaceActive("eth0", (error, value) => {
## ethernet.isIfaceActive
isIfaceActive(iface?: string): Promise\<number>;
isIfaceActive(iface: string): Promise\<number>
判断接口是否已激活,使用Promise方式作为异步方法。
......@@ -206,7 +206,7 @@ isIfaceActive(iface?: string): Promise\<number>;
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------------- |
| iface | string | | 接口名。为空时代表查询是否存在激活接口 |
| iface | string | | 接口名。为空时代表查询是否存在激活接口 |
**返回值:**
......@@ -226,7 +226,7 @@ ethernet.isIfaceActive("eth0").then((data) => {
## ethernet.getAllActiveIfaces
getAllActiveIfaces(callback: AsyncCallback\<Array\<string>>): void;
getAllActiveIfaces(callback: AsyncCallback\<Array\<string>>): void
获取活动的网络接口,使用callback方式作为异步方法。
......@@ -259,7 +259,7 @@ ethernet.getAllActiveIfaces((error, value) => {
## ethernet.getAllActiveIfaces
getAllActiveIfaces(): Promise\<Array\<string>>;
getAllActiveIfaces(): Promise\<Array\<string>>
获取活动的网络接口,使用Promise方式作为异步方法。
......@@ -269,8 +269,6 @@ getAllActiveIfaces(): Promise\<Array\<string>>;
**系统能力**:SystemCapability.Communication.NetManager.Ethernet
**参数:**
**返回值:**
| 类型 | 说明 |
......@@ -298,14 +296,14 @@ ethernet.getAllActiveIfaces().then((data) => {
**系统能力**:以下各项对应的系统能力均为SystemCapability.Communication.NetManager.Ethernet。
| 参数名 | 类型 | 说明 |
| ----------------------- | ----------------------------------- | ------------------------------------------------------------ |
| mode | [IPSetMode](#ipsetmode) | 以太网连接配置模式。 |
| ipAddr | string | 以太网连接静态配置ip信息,地址值范围0-255.0-255.0-255.0-255(DHCP模式无需配置)。 |
| route | string | 以太网连接静态配置路由信息,地址值范围0-255.0-255.0-255.0-255(DHCP模式无需配置)。 |
| gateway | string | 以太网连接配置网关信息,地址值范围0-255.0-255.0-255.0-255(DHCP模式无需配置)。 |
| netMask | string | 以太网连接配置子网掩码,地址值范围0-255.0-255.0-255.0-255(DHCP模式无需配置)。 |
| dnsServers | string | 以太网连接配置dns服务地址,地址值范围0-255.0-255.0-255.0-255(DHCP模式无需配置)多地址间用“,”隔开。 |
| 名称 | 类型 | 必填 | 说明 |
| ------------ | ----------------------- | ---|------------------------------------------------------------ |
| mode | [IPSetMode](#ipsetmode) | 是 | 以太网连接配置模式。 |
| ipAddr | string | 是 | 以太网连接静态配置ip信息,地址值范围0-255.0-255.0-255.0-255(DHCP模式无需配置)。 |
| route | string | 是 | 以太网连接静态配置路由信息,地址值范围0-255.0-255.0-255.0-255(DHCP模式无需配置)。 |
| gateway | string | 是 | 以太网连接配置网关信息,地址值范围0-255.0-255.0-255.0-255(DHCP模式无需配置)。 |
| netMask | string | 是 | 以太网连接配置子网掩码,地址值范围0-255.0-255.0-255.0-255(DHCP模式无需配置)。 |
| dnsServers | string | 是 | 以太网连接配置dns服务地址,地址值范围0-255.0-255.0-255.0-255(DHCP模式无需配置)多地址间用“,”隔开。 |
## IPSetMode
......
......@@ -18,9 +18,11 @@ isSharingSupported(callback: AsyncCallback\<boolean>): void
判断是否支持网络共享,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -43,9 +45,11 @@ isSharingSupported(): Promise\<boolean>
判断是否支持网络共享,使用Promise方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**返回值:**
......@@ -69,9 +73,11 @@ isSharing(callback: AsyncCallback\<boolean>): void
获取当前网络共享状态,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -94,9 +100,11 @@ isSharing(): Promise\<boolean>
获取当前网络共享状态,使用Promise方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**返回值:**
......@@ -120,9 +128,11 @@ startSharing(type: SharingIfaceType, callback: AsyncCallback\<void>): void
开启指定类型共享,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -146,9 +156,11 @@ startSharing(type: SharingIfaceType): Promise\<void>
开启指定类型共享,使用Promise方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -179,9 +191,11 @@ stopSharing(type: SharingIfaceType, callback: AsyncCallback\<void>): void
关闭指定类型共享,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -205,9 +219,11 @@ stopSharing(type: SharingIfaceType): Promise\<void>
关闭指定类型共享,使用Promise方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -238,9 +254,11 @@ getStatsRxBytes(callback: AsyncCallback\<number>): void
获取共享网络接收数据量,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -263,9 +281,11 @@ getStatsRxBytes(): Promise\<number>
获取共享网络接收数据量,使用Promise方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**返回值:**
......@@ -289,9 +309,11 @@ getStatsTxBytes(callback: AsyncCallback\<number>): void
获取共享网络发送数据量,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -314,9 +336,11 @@ getStatsTxBytes(): Promise\<number>
获取共享网络发送数据量,使用Promise方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**返回值:**
......@@ -340,9 +364,11 @@ getStatsTotalBytes(callback: AsyncCallback\<number>): void
获取共享网络总数据量,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -365,9 +391,11 @@ getStatsTotalBytes(): Promise\<number>
获取共享网络总数据量,使用Promise方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**返回值:**
......@@ -391,15 +419,17 @@ getSharingIfaces(state: SharingIfaceState, callback: AsyncCallback\<Array\<strin
获取指定状态的网卡名称列表,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ---------- |
| state | state: [SharingIfaceState](#sharingifacestate) | 是 | 网络共享状态。 |
| state | [SharingIfaceState](#sharingifacestate) | 是 | 网络共享状态。 |
| callback | AsyncCallback\<Array\<string>> | 是 | 回调函数,返回指定状态的网卡名称列表。 |
**示例:**
......@@ -418,15 +448,17 @@ getSharingIfaces(state: SharingIfaceState): Promise\<Array\<string>>
获取指定状态的网卡名称列表,使用Promise方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ---------- |
| state | state: [SharingIfaceState](#sharingifacestate) | 是 | 网络共享状态。 |
| state | [SharingIfaceState](#sharingifacestate) | 是 | 网络共享状态。 |
**返回值:**
......@@ -451,9 +483,11 @@ getSharingState(type: SharingIfaceType, callback: AsyncCallback\<SharingIfaceSta
获取指定类型网络共享状态,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -478,9 +512,11 @@ getSharingState(type: SharingIfaceType): Promise\<SharingIfaceState>
获取指定类型网络共享状态,使用Promise方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -511,9 +547,11 @@ getSharableRegexes(type: SharingIfaceType, callback: AsyncCallback\<Array\<strin
获取指定类型网卡名称正则表达式列表,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -538,9 +576,11 @@ getSharableRegexes(type: SharingIfaceType): Promise\<Array\<string>>
获取指定类型网卡名称正则表达式列表,使用Promise方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -571,9 +611,11 @@ on(type: 'sharingStateChange', callback: Callback\<boolean>): void
注册网络共享状态变化事件,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -597,9 +639,11 @@ off(type: 'sharingStateChange', callback?: Callback\<boolean>): void
注销网络共享状态变化事件,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -623,9 +667,11 @@ on(type: 'interfaceSharingStateChange', callback: Callback\<{ type: SharingIface
注册网卡网络共享状态变化事件,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -649,15 +695,17 @@ off(type: 'interfaceSharingStateChange', callback?: Callback\<{ type: SharingIfa
注销网卡网络共享状态变化事件,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ---------- |
| type | string | | 事件名称。 |
| type | string | | 事件名称。 |
| callback | AsyncCallback\<{ type: [SharingIfaceType](#sharingifacetype), iface: string, state: SharingIfaceState(#sharingifacestate) }> | 否 | 回调函数,注销指定网卡共享状态变化通知。 |
**示例:**
......@@ -675,9 +723,11 @@ on(type: 'sharingUpstreamChange', callback: Callback\<NetHandle>): void
注册上行网络变化事件,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -701,9 +751,11 @@ off(type: 'sharingUpstreamChange', callback?: Callback\<NetHandle>): void
注销上行网络变化事件,使用callback方式作为异步方法。
**系统接口**:此接口为系统接口。
**需要权限**:ohos.permission.CONNECTIVITY_INTERNAL
**系统能力**:SystemCapability.Communication.NetManager.Core
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
**参数:**
......@@ -725,9 +777,11 @@ sharing.off('sharingUpstreamChange', (error, data) => {
网络共享状态。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Communication.NetManager.Core。
**系统接口**:此接口为系统接口。
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
| 参数名 | 值 | 说明 |
| 名称 | 值 | 说明 |
| ------------------------ | ---- | ---------------------- |
| SHARING_NIC_SERVING | 1 | 正在网络共享。 |
| SHARING_NIC_CAN_SERVER | 2 | 可提供网络共享。 |
......@@ -737,9 +791,11 @@ sharing.off('sharingUpstreamChange', (error, data) => {
网络共享类型(暂不支持USB共享)。
**系统能力**:以下各项对应的系统能力均为SystemCapability.Communication.NetManager.Core。
**系统接口**:此接口为系统接口。
**系统能力**:SystemCapability.Communication.NetManager.NetSharing
| 参数名 | 值 | 说明 |
| 名称 | 值 | 说明 |
| ------------------------ | ---- | ---------------------- |
| SHARING_WIFI | 0 | 网络共享类型Wi-Fi。 |
| SHARING_USB | 1 | 网络共享类型USB。 |
......
......@@ -1966,6 +1966,7 @@ getRemoteAddress\(callback: AsyncCallback<NetAddress\>\): void
**错误码:**
| 错误码ID | 错误信息 |
| ------- | ----------------------------- |
| 2303188 | Socket operation on non-socket.|
| 2300002 | System internal error. |
......@@ -1998,6 +1999,7 @@ getRemoteAddress\(\): Promise\<NetAddress>
**错误码:**
| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 2303188 | Socket operation on non-socket.|
| 2300002 | System internal error. |
......@@ -2029,6 +2031,7 @@ getCertificate(callback: AsyncCallback\<[X509CertRawData](#x509certrawdata9)>):
**错误码:**
| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 2303501 | SSL is null. |
| 2303504 | Error looking up x509. |
| 2300002 | System internal error. |
......@@ -2062,6 +2065,7 @@ getCertificate():Promise\<[X509CertRawData](#x509certrawdata9)>
**错误码:**
| 错误码ID | 错误信息 |
| ------- | ------------------------------ |
| 2303501 | SSL is null. |
| 2303504 | Error looking up x509. |
| 2300002 | System internal error. |
......
# 上传下载
system.request部件主要给应用提供上传下载文件的基础能力。
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> - 从API Version 6开始,该接口不再维护,推荐使用新接口[`@ohos.request`](js-apis-request.md)。
> - 从API Version 9开始所有接口不再维护,推荐使用新接口[`@ohos.request`](js-apis-request.md)。
>
> - 本模块首批接口从API version 4开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
......@@ -13,179 +15,245 @@
import request from '@system.request';
```
## 权限列表
## request.upload
ohos.permission.INTERNET。
upload(options: UploadRequestOptions): void
上传文件,无返回值。
## request.upload
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Upload
upload(Object): void
**参数:**
上传文件。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| options | [UploadRequestOptions](#uploadrequestoptions) | 是 | 上传的配置信息。 |
**参数:**
**示例:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| url | string | 是 | 上传服务器地址。 |
| header | Object | 否 | 请求头。 |
| method | string | 否 | 请求方法:POST、PUT。缺省POST。 |
| files | Array&lt;File&gt; | 是 | 待上传文件列表。请使用multipart/form-data进行提交。 |
| data | Array&lt;RequestData&gt; | 否 | 请求的表单数据。 |
| success | Function | 否 | 接口调用成功的回调函数。 |
| fail | Function | 否 | 接口调用失败的回调函数。 |
| complete | Function | 否 | 接口调用结束的回调函数。 |
```js
let uploadRequestOptions = {
url: 'http://www.path.com',
method: 'POST',
files: [{ filename: "test", name: "test", uri: "internal://cache/test.jpg", type: "jpg" }],
data: [{ name: "name123", value: "123" }],
success: function(data) {
console.info(' upload success, code:' + JSON.stringify(data));
},
fail: function(data, code) {
console.info(' upload fail data: ' + data + 'code: ' + code);
},
complete: function (){
console.info(' upload complete');
}
}
try {
request.upload(uploadRequestOptions);
console.info('upload start ');
} catch(err) {
console.info(' upload err:' + err);
}
```
**表1** File
## UploadRequestOptions
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| filename | string | 否 | multipart&nbsp;提交时,请求头中的文件名。 |
| name | string | 否 | multipart&nbsp;提交时,表单项目的名称,缺省为file。 |
| uri | string | 是 | 文件的本地存储路径。 |
| type | string | 否 | 文件的内容类型,默认根据文件名或路径的后缀获取。 |
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Upload。
**表2** RequestData
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 表示form&nbsp;元素的名称。 |
| value | string | 是 | 表示form&nbsp;元素的值。 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| url | string | 是 | 上传服务器地址。 |
| data | Array&lt;[RequestData](#requestdata)&gt; | 否 | 请求的表单数据。 |
| files | Array&lt;[RequestFile](#requestfile)&gt; | 是 | 待上传文件列表。请使用multipart/form-data进行提交。 |
| header | Object | 否 | 请求头。 |
| method | string | 否 | 请求方法:POST、PUT。缺省POST。 |
| success | Function | 否 | 接口调用成功的回调函数。 |
| fail | Function | 否 | 接口调用失败的回调函数。 |
| complete | Function | 否 | 接口调用结束的回调函数。 |
success返回值:
**success参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| data | [UploadResponse](#uploadresponse) | 是 | 上传任务成功返回信息。 |
| 参数名 | 类型 | 说明 |
| -------- | -------- | -------- |
| code | number | 服务器返回的HTTP状态码。 |
| data | string | 服务器返回的内容。根据返回头内容中的type决定该值的类型。 |
| headers | Object | 服务器返回的返回头内容。 |
**fail参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| data | any | 是 | 上传任务失败返回header信息。 |
| code | number | 是 | 上传任务失败返回HTTP状态码。 |
fail返回值中的data中的code为HTTP状态码。
**示例:**
```
export default {
upLoad() {
request.upload({
url: 'http://www.path.com',
files: [
{
uri: 'internal://cache/path/to/file.txt',
name: 'file',
filename: 'file.txt',
},
],
data:[
{
name: 'name1',
value: 'value',
},
],
success: function(data) {
console.log('upload success, code:' + data.code);
},
fail: function() {
console.log('upload fail');
},
});
}
}
```
## UploadResponse
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Upload。
## request.download
| 名称 | 类型 | 说明 |
| -------- | -------- | -------- |
| code | number | 服务器返回的HTTP状态码。 |
| data | string | 服务器返回的内容。根据返回头内容中的type决定该值的类型。 |
| headers | Object | 服务器返回的返回头内容。 |
download(Object): void
下载文件。
## RequestFile
**参数:**
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Upload。
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| filename | string | 否 | multipart&nbsp;提交时,请求头中的文件名。 |
| name | string | 否 | multipart&nbsp;提交时,表单项目的名称,缺省为file。 |
| uri | string | 是 | 文件的本地存储路径。 |
| type | string | 否 | 文件的内容类型,默认根据文件名或路径的后缀获取。 |
## RequestData
**系统能力**: SystemCapability.MiscServices.Upload。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| url | string | 是 | 资源地址。 |
| header | Object | 否 | 请求头。 |
| description | string | 否 | 资源地址的下载描述,默认为文件名称。 |
| filename | string | 否 | 本次下载文件的名称。默认从本次请求或资源地址中获取。 |
| success | Function | 否 | 接口调用成功的回调函数。 |
| fail | Function | 否 | 接口调用失败的回调函数。 |
| complete | Function | 否 | 接口调用结束的回调函数。 |
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 表示form&nbsp;元素的名称。 |
| value | string | 是 | 表示form&nbsp;元素的值。 |
success返回值:
| 参数名 | 类型 | 说明 |
| -------- | -------- | -------- |
| token | string | 表示下载的&nbsp;token,获取下载状态的依据。 |
fail返回错误代码:
## request.download
download(options: DownloadRequestOptions): void
下载文件,无返回值。
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Download
**参数:**
| 错误码 | 说明 |
| -------- | -------- |
| 400 | 表示下载任务失败。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| options | [DownloadRequestOptions](#downloadrequestoptions) | 是 | 下载的配置信息。 |
**示例:**
```
export default {
downLoad() {
request.download({
url: 'http://www.path.com',
success: function(data) {
console.log('call success callback success: ' + data.token);
},
fail: function(data, code) {
console.log('handling fail');
},
});
```js
let downloadRequestOptions = {
url: 'http://www.path.com',
filename: 'requestSystenTest',
header: '',
description: 'this is requeSystem download response',
success: function(data) {
console.info(' download success, code:' + JSON.stringify(data));
},
fail: function(data, code) {
console.info(' download fail data: ' + data + 'code: ' + code);
},
complete: function (){
console.info(' download complete');
}
}
}
```
try {
request.download(downloadRequestOptions);
console.info('download start ');
} catch(err) {
console.info(' download err:' + err);
}
```
## request.onDownloadComplete
## DownloadRequestOptions
onDownloadComplete(Object): void
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Download。
获取下载任务状态。
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| url | string | 是 | 资源地址。 |
| filename | string | 否 | 本次下载文件的名称。默认从本次请求或资源地址中获取。 |
| header | Object | 否 | 请求头。 |
| description | string | 否 | 资源地址的下载描述,默认为文件名称。 |
| success | Function | 否 | 接口调用成功的回调函数。 |
| fail | Function | 否 | 接口调用失败的回调函数。 |
| complete | Function | 否 | 接口调用结束的回调函数。 |
**参数:**
**success参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| data | [DownloadResponse](#downloadresponse) | 是 | 下载任务成功返回信息。 |
**fail参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| data | any | 是 | 下载任务失败返回header信息。 |
| code | number | 是 | 下载任务失败返回HTTP状态码。 |
## DownloadResponse
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Download。
| 名称 | 类型 | 说明 |
| -------- | -------- | -------- |
| token | string | 表示下载的token,获取下载状态的依据。 |
## request.onDownloadComplete
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| token | string | 是 | download&nbsp;接口返回的结果&nbsp;token。 |
| success | Function | 否 | 接口调用成功的回调函数。 |
| fail | Function | 否 | 接口调用失败的回调函数。 |
| complete | Function | 否 | 接口调用结束的回调函数。 |
onDownloadComplete(options: OnDownloadCompleteOptions): void
success返回值:
获取下载任务状态,无返回值。
| 参数名 | 类型 | 说明 |
| -------- | -------- | -------- |
| uri | string | 表示下载文件的uri。 |
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Download
fail返回错误代码:
**参数:**
| 错误码 | 说明 |
| -------- | -------- |
| 400 | 表示下载任务失败。 |
| 401 | 表示不存在该下载任务。 |
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| options | [OnDownloadCompleteOptions](#ondownloadcompleteoptions) | 是 | 监听下载任务的配置信息。 |
**示例:**
```
export default {
onDownloadComplete() {
request.onDownloadComplete({
token: 'token-index',
success: function(data) {
console.log('download success, uri:' + data.uri);
},
fail: function(data, code) {
console.log('download fail');
},
});
```js
let onDownloadCompleteOptions = {
token: 'token-index',
success: function(data) {
console.info(' download success, code:' + JSON.stringify(data));
},
fail: function(data, code) {
console.info(' download fail data: ' + data + 'code: ' + code);
},
complete: function (){
console.info(' download complete');
}
}
}
```
\ No newline at end of file
request.onDownloadComplete(onDownloadCompleteOptions);
```
## OnDownloadCompleteOptions
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Download。
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| token | string | 是 | download&nbsp;接口返回的结果&nbsp;token。 |
| success | Function | 否 | 接口调用成功的回调函数。 |
| fail | Function | 否 | 接口调用失败的回调函数。 |
| complete | Function | 否 | 接口调用结束的回调函数。 |
**success参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| data | [OnDownloadCompleteResponse](#ondownloadcompleteresponse) | 是 | 下载任务成功返回信息。 |
**fail参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| data | any | 是 | 下载任务失败返回header信息。 |
| code | number | 是 | 下载任务失败返回HTTP状态码。 |
## OnDownloadCompleteResponse
**系统能力**: 以下各项对应的系统能力均为SystemCapability.MiscServices.Download。
| 名称 | 类型 | 说明 |
| -------- | -------- | -------- |
| uri | string | 表示下载文件的uri。 |
\ No newline at end of file
# SysCap列表
# 系统能力SystemCapability列表
SysCap,全称SystemCapability,即系统能力,指操作系统中每一个相对独立的特性。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册