diff --git a/zh-cn/application-dev/connectivity/fetch-development-guideline.md b/zh-cn/application-dev/connectivity/fetch-development-guideline.md
new file mode 100644
index 0000000000000000000000000000000000000000..fe4db90c2329d2641359b27303850184383af524
--- /dev/null
+++ b/zh-cn/application-dev/connectivity/fetch-development-guideline.md
@@ -0,0 +1,70 @@
+# 通过fetch发送Http请求开发指导
+
+- [接口说明](#接口说明)
+- [开发步骤](#开发步骤)
+
+## 接口说明
+
+fetch模块只有一个接口
+
+```
+fetch(options: {
+ url: string;
+ data?: string | Object;
+ header?: Object;
+ method?: string;
+ responseType?: string;
+ success?: (data: FetchResponse) => void;
+ fail?: (data: any, code: number) => void;
+ complete?: () => void;
+}): void;
+```
+
+## 开发步骤
+
+index.js参考:
+```
+// 引入包名
+import fetch from '@system.fetch';
+
+// 编写回调函数
+function OnSuccess(resp) {
+ console.log("code = " + resp.code)
+ console.log("data = " + resp.data)
+}
+
+function OnFail(errString, errCode) {
+ console.log("errString: " + errString)
+ console.log("errCode: " + errCode)
+}
+
+function OnComplete() {
+ console.log("Fetch Complete")
+}
+
+// 调用Api
+function TestHttpApi() {
+ let options = {
+ url: "https://www.baidu.com",
+ method: "GET",
+ success: OnSuccess,
+ fail: OnFail,
+ complete: OnComplete
+ }
+ fetch.fetch(options)
+}
+
+//导出
+export default {
+ testHttpApi: function () {
+ TestHttpApi()
+ }
+}
+```
+
+index.xml参考:
+```
+
+
+
+```
\ No newline at end of file
diff --git a/zh-cn/application-dev/connectivity/fetch-overview.md b/zh-cn/application-dev/connectivity/fetch-overview.md
new file mode 100644
index 0000000000000000000000000000000000000000..49877db4b74c45757835ca2f4ead9ee009f66c74
--- /dev/null
+++ b/zh-cn/application-dev/connectivity/fetch-overview.md
@@ -0,0 +1,27 @@
+# Http接口fetch概述
+
+- [介绍](#介绍)
+- [约束与限制](#约束与限制)
+- [相关模块](#相关模块)
+
+## 介绍
+fetch模块是OpenHarmony为开发者提供的发送Http请求的接口。js的解析由ace框架完成,Http的请求的发送以及响应的获取是基于curl,TLS协议由mbedtls提供,Http2.0协议由nghttp2提供。
+
+
+## 约束与限制
+1. 小型系统上使用: **@system.fetch**
+2. 开发板(以Hi3516为例)上需要在/etc下新建一个文件resolv.conf在里面写入dns服务器地址,这是使用Http的前置条件。具体的dns地址跟所连的wifi有关,在公网上,国内可使用**114.114.114.114**,国外可使用**8.8.8.8**。因此如果连接的wifi是公网,/etc/resolv.conf里的内容可参考如下方式编写:
+ ```
+ nameserver 114.114.114.114
+ nameserver 8.8.8.8
+ ```
+
+
+## 相关模块
+[ ace_engine_lite ](https://gitee.com/openharmony/ace_engine_lite)
+
+[ third_party_curl ](https://gitee.com/openharmony/third_party_curl)
+
+[ third_party_mbedtls ](https://gitee.com/openharmony/third_party_mbedtls)
+
+[ third_party_nghttp2 ](https://gitee.com/openharmony/third_party_nghttp2)
\ No newline at end of file
diff --git a/zh-cn/application-dev/connectivity/fetch.md b/zh-cn/application-dev/connectivity/fetch.md
new file mode 100644
index 0000000000000000000000000000000000000000..5aaebb1851d5e9b75dd75d9e762ac3f8bce82275
--- /dev/null
+++ b/zh-cn/application-dev/connectivity/fetch.md
@@ -0,0 +1,6 @@
+# Http接口fetch
+
+
+- **[Http接口fetch概述](fetch-overview.md)**
+
+- **[通过fetch发送Http请求开发指导](fetch-development-guideline.md)**
\ No newline at end of file
diff --git a/zh-cn/application-dev/js-reference/apis/js-apis-fetch.md b/zh-cn/application-dev/js-reference/apis/js-apis-fetch.md
new file mode 100644
index 0000000000000000000000000000000000000000..9ed08a9b0d9e9f83cd9970f7283e6d22102cd9a4
--- /dev/null
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-fetch.md
@@ -0,0 +1,141 @@
+# Http请求
+
+>**说明:**
+1. 小型系统上使用: **@system.fetch**
+2. 开发板(以Hi3516为例)上需要在/etc下新建一个文件resolv.conf在里面写入dns服务器地址,这是使用Http的前置条件。具体的dns地址跟所连的wifi有关,在公网上,国内可使用**114.114.114.114**,国外可使用**8.8.8.8**。因此如果连接的wifi是公网,/etc/resolv.conf里的内容可参考如下方式编写:
+ ```
+ nameserver 114.114.114.114
+ nameserver 8.8.8.8
+ ```
+
+- [导入模块](#导入模块)
+- [API fetch.fetch](#API fetch.fetch)
+- [示例](#示例)
+- [相关仓](#相关仓)
+
+## 导入模块
+
+```
+import fetch from '@system.fetch'
+```
+
+## API fetch.fetch
+
+```
+fetch(options: {
+ url: string;
+ data?: string | Object;
+ header?: Object;
+ method?: string;
+ responseType?: string;
+ success?: (data: FetchResponse) => void;
+ fail?: (data: any, code: number) => void;
+ complete?: () => void;
+}): void;
+```
+
+将Http请求内容以及回调函数放心options对应的字段,然后调用 **fetch.fetch(options)** 发送网络请求,请求成功或者失败后执行对应的回调函数
+
+- 参数
+
+ |参数名|类型|必填|说明|
+ |----|----|----|----|
+ |options|Object|是|包含http请求参数以及请求成功或失败时执行的回调函数|
+
+- options各字段含义
+
+ |字段名|类型|必填|说明|
+ |----|----|----|----|
+ |url|string|是|网站地址,比如"https://www.baidu.com"或者"http://www.4399.com"等|
+ |data|string或者Object|否|1、如果请求方法是GET、OPTIONS等,data字段会被编码到URL作为URL的参数。
2、如果请求方法是POST、PUT,data字段会作为http报文中的请求体,也就是body。
详见[请求体data字段详解](#请求体data字段详解)|
+ |header|Object|否|Http头,以 **{"name": "value"}** 的形式提供|
+ |method|string|否|支持OPTIONS, GET, HEAD, POST, PUT, DELETE以及TRACE。默认是GET|
+ |responseType|string|否|响应中的data字段是否需要转换成Object对象,如果responseType是"JSON"(不区分大小写),那么响应提中的data字段会转换为Object对象再调用回调函数,没提供或者不是"JSON",则不进行转换。详见[响应详解](#响应详解)|
+ |success|function (data: FetchResponse) => void;|否|请求成功时执行的回调函数(不是指Http的状态码,成功是指请求发出去了,并且得到了回应)。详见[响应详解](#响应详解)|
+ |fail|function (data: string, code: number) => void;|否|请求失败时执行的回调函数,data是错误提示,code是错误码。|
+ |complete|function () => void;|否|请求完成时执行的回调(无论成功还是失败)|
+
+## 请求体data字段详解
+- 请求方法是OPTIONS, GET, HEAD, TRACE或者GET
+ - data类型是string
+ - data字段会直接与url进行拼接,并进行url encode,也就是将data当作url的参数
+ - data类型是Object
+ - Object会被解析成"name1=value1&name2=value2"这样的url参数,仅对类型是string的字段进行解析
+ - 举例:
+ - url = "https://www.baidu.com"
data = "name=Tony&age=20"
+
那么最终的请求发出去时的url就是: "https://www.baidu.com?name=Tony&age=20"
+ - url = "https://www.baidu.com?type=animal"
data = "name=Tony&age=20"
+
那么最终的请求发出去时的url就是: "https://www.baidu.com?type=animal&name=Tony&age=20"
+ - url = "https://www.baidu.com?type=animal"
data = {"name": "Tony", "age": "20"}
+
那么最终的请求发出去时的url就是: "https://www.baidu.com?type=animal&name=Tony&age=20"
+ - url = "https://www.baidu.com?type=animal"
+
data = {"name": "Tony", "age": "20", "any": {"country": "China"}}
+
那么最终的请求发出去时的url就是: "https://www.baidu.com?type=animal&name=Tony&age=20"
+
忽略"any"字段,因为其类型不是string
+
+- 请求方法是POST或者PUT
+ - data类型是string
+ - 直接当作Http报文的body部分
+ - data类型是Object
+ - 将data转换成string然后放在Http报文的body部分
+ - 举例
+ - data = {
"name": "Tony",
"age": "20",
"any": {
"country": "China"
}
}
+
那么最终的body部分是```{"name": "Tony", "age": "20", "any": {"country": "China"}}```这个字符串
+
+## 响应详解
+```
+interface FetchResponse {
+ code: number;
+ data: string | object;
+ headers: Object;
+}
+```
+|字段名|类型|说明|
+|----|----|----|
+|code|number|当请求成功发出去并且收到响应,code是Http状态码,否则是-1|
+|data|string或者Object|当请求成功发出去并且收到响应,data是Http响应体
```默认使用string保存,如果请求时的responseType是"json",那么会尝试将字符串转换成Object。```
当请求没有成功发送出去时,data是错误提示。|
+|headers|Object|Http响应头,以 **{"name1": "value1", "name2": "value2"}** 这样的形式返回|
+
+## 示例
+
+```
+// 引入包名
+import fetch from '@system.fetch';
+
+// 编写回调函数
+function OnSuccess(resp) {
+ console.log("code = " + resp.code)
+ console.log("data = " + resp.data)
+}
+
+function OnFail(errString, errCode) {
+ console.log("errString: " + errString)
+ console.log("errCode: " + errCode)
+}
+
+function OnComplete() {
+ console.log("Fetch Complete")
+}
+
+// 调用Api
+function TestHttpApi() {
+ let options = {
+ url: "https://www.baidu.com",
+ method: "GET",
+ success: OnSuccess,
+ fail: OnFail,
+ complete: OnComplete
+ }
+ fetch.fetch(options)
+}
+```
+
+## 相关仓
+
+[ ace_engine_lite ](https://gitee.com/openharmony/ace_engine_lite)
+
+[ third_party_curl ](https://gitee.com/openharmony/third_party_curl)
+
+[ third_party_mbedtls ](https://gitee.com/openharmony/third_party_mbedtls)
+
+[ third_party_nghttp2 ](https://gitee.com/openharmony/third_party_nghttp2)
\ No newline at end of file
diff --git a/zh-cn/application-dev/js-reference/apis/js-apis-telephony.md b/zh-cn/application-dev/js-reference/apis/js-apis-telephony.md
index ab33a0a089a1c4a0cf311ffe0ace786e107e0776..506ef87131f850b6fdce84a385c29aa85f3eff63 100644
--- a/zh-cn/application-dev/js-reference/apis/js-apis-telephony.md
+++ b/zh-cn/application-dev/js-reference/apis/js-apis-telephony.md
@@ -3,4 +3,5 @@
- [拨打电话](js-apis-call.md)
- [短信服务](js-apis-sms.md)
- [SIM卡管理](js-apis-sim.md)
-- [网络搜索](js-apis-radio.md)
\ No newline at end of file
+- [网络搜索](js-apis-radio.md)
+- [Http请求](js-apis-fetch.md)
\ No newline at end of file
diff --git "a/zh-cn/readme/\347\224\265\350\257\235\346\234\215\345\212\241\345\255\220\347\263\273\347\273\237.md" "b/zh-cn/readme/\347\224\265\350\257\235\346\234\215\345\212\241\345\255\220\347\263\273\347\273\237.md"
index bf5a7381cd16ace76e26406e09734bf2d3009acc..51fd3d7bb84a14c366d801e26d68a586cee6715c 100755
--- "a/zh-cn/readme/\347\224\265\350\257\235\346\234\215\345\212\241\345\255\220\347\263\273\347\273\237.md"
+++ "b/zh-cn/readme/\347\224\265\350\257\235\346\234\215\345\212\241\345\255\220\347\263\273\347\273\237.md"
@@ -6,12 +6,13 @@
- [使用说明](#section128mcpsimp)
- [获取当前蜂窝网络信号信息](#section1458213210369)
- [观察蜂窝网络状态变化](#section750135512369)
+ - [发送Http请求来访问网络](#section78465345345)
- [相关仓](#section152mcpsimp)
## 简介
-电话服务子系统,提供了一系列的API用于获取无线蜂窝网络和SIM卡相关的一些信息。应用可以通过调用API来获取当前注册网络名称、网络服务状态、信号强度以及SIM卡的相关信息。
+电话服务子系统,提供了一系列的API用于获取无线蜂窝网络和SIM卡相关的一些信息,并且提供发送Http请求的API。应用可以通过调用API来获取当前注册网络名称、网络服务状态、信号强度以及SIM卡的相关信息,并且可以通过调用Http的API来访问网络。
各个模块主要作用如下:
@@ -36,9 +37,23 @@ base/telephony/
└── state_registry # 状态注册
```
+```
+/foundation/communication/netstack
+├── frameworks # 框架代码目录
+│ ├── js # JS适配层
+│ ├── builtin # 轻量级系统和小型系统上HttpAPI基于JSI的JS适配层
+│ └── napi # 标准系统上HttpAPI基于NAPI的JS适配层
+├── interfaces # 对外暴露的API
+│ └── kits # OpenHarmony SDK API
+│ └── js # JS API
+├── utils # 公共工具
+│ └── log # 日志工具
+```
+
## 约束
-1. 目前开源的范围仅支持蜂窝通话(仅支持CS通话)和短信,不支持蜂窝数据上网,仅支持单SIM卡。
+1. 支持蜂窝通话(仅支持CS通话)和短信,仅支持单SIM卡。
+2. 支持使用Http接口访问网络。
## 使用说明
@@ -130,6 +145,47 @@ base/telephony/
```
+### 发送Http请求来访问网络
+
+**小型系统上发送Http请求**
+
+1. 从@system.fetch.d.ts中导入fetch类。
+2. 调用fetch(options: Object)方法发送Http请求,options参数里可写上对应的回调函数。
+3. 当网络状态发生变更时,调用者会收到回调。
+
+ ```
+ // 引入包名
+ import fetch from '@system.fetch';
+
+ // 编写回调函数
+ function OnSuccess(resp) {
+ console.log("code = " + resp.code)
+ console.log("data = " + resp.data)
+ }
+
+ function OnFail(errString, errCode) {
+ console.log("errString: " + errString)
+ console.log("errCode: " + errCode)
+ }
+
+ function OnComplete() {
+ console.log("Fetch Complete")
+ }
+
+ // 调用Api
+ function TestHttpApi() {
+ let options = {
+ url: "https://www.baidu.com",
+ method: "GET",
+ success: OnSuccess,
+ fail: OnFail,
+ complete: OnComplete
+ }
+
+ fetch.fetch(options)
+ }
+ ```
+
## 相关仓
**电话服务子系统**
@@ -143,3 +199,5 @@ base/telephony/
[telephony\_sms\_mms](https://gitee.com/openharmony/telephony_sms_mms/blob/master/README_zh.md)
[telephony\_state\_registry](https://gitee.com/openharmony/telephony_state_registry/blob/master/README_zh.md)
+
+[communication_netstack](https://gitee.com/openharmony/communication_netstack/blob/master/README_zh.md)
diff --git a/zh-cn/release-notes/OpenHarmony-v3.0-LTS.md b/zh-cn/release-notes/OpenHarmony-v3.0-LTS.md
index c12c93cfc16cdbcc9df4e46b8c7f261cee6aae3f..ded67207788d2c0bc55cb3eee943c0331c9e3617 100644
--- a/zh-cn/release-notes/OpenHarmony-v3.0-LTS.md
+++ b/zh-cn/release-notes/OpenHarmony-v3.0-LTS.md
@@ -116,7 +116,7 @@ repo forall -c 'git lfs pull'
| 编译构建 | - 支持编译arm64形态产品
- 支持编译ohos-sdk | NA |
| 用户程序框架 | - 支持ServiceAbility JS开发能力
- 支持DataAbility JS开发能力
- HAP支持多Ability声明
- 本地Ability迁移到远程设备
- 应用任务栈保存与恢复
- JS 利用Zip库实现文件压缩和解压缩 | NA |
| 杂散软件服务 | 支持定时器能力,提供定时时区管理能力 | NA |
-
+| 电话服务 | 新增Http接口用于访问网络 | 小型系统新增Http接口用于访问网络 |
### API变更