diff --git a/zh-cn/application-dev/quick-start/har-package.md b/zh-cn/application-dev/quick-start/har-package.md
index 7d7512b15584c6b6996e0bfe9e32b777854c2c56..1df0179b41d18a5f68545b61f8b7f383dffc739c 100644
--- a/zh-cn/application-dev/quick-start/har-package.md
+++ b/zh-cn/application-dev/quick-start/har-package.md
@@ -2,7 +2,7 @@
HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。
## 创建HAR模块
-HAR对应DevEco Studio工程中的“Library”类型的[Module](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/add_new_module-0000001053223741-V3),可以通过DevEco Studio创建一个HAR模块。HAR模块默认不开启混淆能力,开启混淆能力,需要把HAR模块的build-profile.json5文件中的artifactType字段设置为obfuscation,配置如下所示:
+通过DevEco Studio创建一个HAR模块,创建方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/creating_har_api9-0000001518082393-V3#section143510369612)。HAR模块默认不开启混淆能力,开启混淆能力,需要把HAR模块的build-profile.json5文件中的artifactType字段设置为obfuscation,配置如下所示:
```json
{
@@ -90,7 +90,7 @@ HAR模块编译打包时会把资源打包到HAR中。在编译构建HAP时,De
- 依赖的HAR模块,如果依赖的多个HAR之间有资源冲突,会按照依赖顺序进行覆盖(依赖顺序在前的优先级较高)。
## 引用HAR的ArkUI组件、接口、资源
-引用HAR前,需要先配置对HAR的依赖,配置方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-development-npm-package-0000001222578434#section89674298391)。
+引用HAR前,需要先配置对HAR的依赖,配置方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/creating_har_api9-0000001518082393-V3#section611662614153)。
### 引用HAR的ArkUI组件
@@ -167,3 +167,7 @@ struct Index {
}
}
```
+
+## 发布HAR
+
+发布HAR可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/creating_har_api9-0000001518082393-V3#section1213451811512)。
diff --git a/zh-cn/application-dev/quick-start/in-app-hsp.md b/zh-cn/application-dev/quick-start/in-app-hsp.md
index 1ce3afa89b794291bf07ef70449a43f4df41645d..3a96b330ee09c972f651dbfa00686c5f076a7dad 100644
--- a/zh-cn/application-dev/quick-start/in-app-hsp.md
+++ b/zh-cn/application-dev/quick-start/in-app-hsp.md
@@ -5,7 +5,7 @@
## 开发应用内HSP
-`HSP`模块可以在`DevEco Studio`中由指定模板创建,我们以创建一个名为`library`的`HSP`模块为例。基本的工程目录结构大致如下:
+通过DevEco Studio创建一个HSP模块,创建方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/hsp-0000001521396322-V3#section7717162312546),我们以创建一个名为`library`的`HSP`模块为例。基本的工程目录结构大致如下:
```
library
├── src
@@ -88,7 +88,7 @@ export { MyTitleBar } from './components/MyTitleBar'
### 导出native方法
在`HSP`中也可以包含`C++`编写的`so`。对于`so`中的`native`方法,`HSP`通过间接的方式导出,以导出`libnative.so`的乘法接口`multi`为例:
```ts
-// ibrary/src/main/ets/utils/nativeTest.ts
+// library/src/main/ets/utils/nativeTest.ts
import native from "libnative.so"
export function nativeMulti(a: number, b: number) {
@@ -103,15 +103,9 @@ export { nativeMulti } from './utils/nativeTest'
```
## 使用应用内HSP
-要使用`HSP`中的接口,首先需要在使用方的`oh-package.json5`中配置对它的依赖。如果应用内`HSP`和使用方在同一工程下,可以直接本地引用,例如:
-```json
-// entry/oh-package.json5
-"dependencies": {
- "library": "file:../library"
-}
-```
-然后就可以像使用`HAR`一样调用`HSP`的对外接口了。
-例如,上面的`library`已经导出了下面这些接口:
+要使用HSP中的接口,首先需要在使用方的oh-package.json5中配置对它的依赖,配置方式可[参考](https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/hsp-0000001521396322-V3#section6161154819195)。
+依赖配置成功后,就可以像使用HAR一样调用HSP的对外接口了。 例如,上面的library已经导出了下面这些接口:
+
```ts
// library/src/main/ets/index.ets
export { Log, add, minus } from './utils/test'
diff --git a/zh-cn/application-dev/reference/apis/js-apis-screen.md b/zh-cn/application-dev/reference/apis/js-apis-screen.md
index ec90213b049c0a140bea2d3837d6ee697ddab435..be5d3e8e638f88ca3e410c163e20894af9813d38 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-screen.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-screen.md
@@ -224,6 +224,89 @@ try {
};
```
+## screen.stopExpand10+
+
+stopExpand(expandScreen:Array<number>, callback: AsyncCallback<void>): void
+
+停止屏幕的扩展模式,使用callback异步回调。
+
+**系统能力:** SystemCapability.WindowManager.WindowManager.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------------ | --------------------------- | --- | -------------------------------------------------------------- |
+| expandScreen | Array<number> | 是 | 扩展屏幕id集合。 |
+| callback | AsyncCallback<void> | 是 | 回调函数。当停止屏幕扩展模式成功,err为undefined,否则为错误对象。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[屏幕错误码](../errorcodes/errorcode-display.md)。
+
+| 错误码ID | 错误信息 |
+| ------- | ----------------------- |
+| 1400001 | Invalid display or screen. |
+
+**示例:**
+
+```js
+try {
+ let expandScreenIds = [1, 2, 3];
+ screen.stopExpand(expandScreenIds, (err) => {
+ if (err.code) {
+ console.error('Failed to stop expand screens. Code:' + JSON.stringify(err));
+ return;
+ }
+ console.info('Succeeded in stopping expand screens.');
+ });
+} catch (exception) {
+ console.error('Failed to stop expand screens. Code: ' + JSON.stringify(exception));
+};
+```
+
+## screen.stopExpand10+
+
+stopExpand(expandScreen:Array<number>): Promise<void>
+
+停止屏幕的扩展模式,使用Promise异步回调。
+
+**系统能力:** SystemCapability.WindowManager.WindowManager.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------------ | ------------------- | --- | --------------- |
+| expandScreen | Array<number> | 是 | 扩展屏幕id集合。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------------- | ----------------------- |
+| Promise<void> | 无返回结果的Promise对象。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[屏幕错误码](../errorcodes/errorcode-display.md)。
+
+| 错误码ID | 错误信息 |
+| ------- | ----------------------- |
+| 1400001 | Invalid display or screen. |
+
+**示例:**
+
+```js
+try {
+ let expandScreenIds = [1, 2, 3];
+ screen.stopExpand(expandScreenIds).then(() => {
+ console.info('Succeeded in stopping expand screens.');
+ }).catch((err) => {
+ console.error('Failed to stop expand screens. Code:' + JSON.stringify(err));
+ });
+} catch (exception) {
+ console.error('Failed to stop expand screens. Code:' + JSON.stringify(exception));
+};
+```
+
## screen.makeMirror
makeMirror(mainScreen:number, mirrorScreen:Array<number>, callback: AsyncCallback<number>): void
@@ -311,6 +394,89 @@ try {
};
```
+## screen.stopMirror10+
+
+stopMirror(mirrorScreen:Array<number>, callback: AsyncCallback<void>): void
+
+停止屏幕的镜像模式,使用callback异步回调。
+
+**系统能力:** SystemCapability.WindowManager.WindowManager.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------------ | --------------------------- | --- | -------------------------------------------------------------- |
+| mirrorScreen | Array<number> | 是 | 镜像屏幕id集合。 |
+| callback | AsyncCallback<void> | 是 | 回调函数。当停止屏幕镜像模式成功,err为undefined,否则为错误对象。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[屏幕错误码](../errorcodes/errorcode-display.md)。
+
+| 错误码ID | 错误信息 |
+| ------- | ----------------------- |
+| 1400001 | Invalid display or screen. |
+
+**示例:**
+
+```js
+try {
+ let mirrorScreenIds = [1, 2, 3];
+ screen.stopMirror(mirrorScreenIds, (err) => {
+ if (err.code) {
+ console.error('Failed to stop mirror screens. Code:' + JSON.stringify(err));
+ return;
+ }
+ console.info('Succeeded in stopping mirror screens.');
+ });
+} catch (exception) {
+ console.error('Failed to stop mirror screens. Code: ' + JSON.stringify(exception));
+};
+```
+
+## screen.stopMirror10+
+
+stopMirror(mirrorScreen:Array<number>): Promise<void>
+
+停止屏幕的镜像模式,使用Promise异步回调。
+
+**系统能力:** SystemCapability.WindowManager.WindowManager.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------------ | ------------------- | --- | --------------- |
+| mirrorScreen | Array<number> | 是 | 镜像屏幕id集合。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------------- | ----------------------- |
+| Promise<void> | 无返回结果的Promise对象。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[屏幕错误码](../errorcodes/errorcode-display.md)。
+
+| 错误码ID | 错误信息 |
+| ------- | ----------------------- |
+| 1400001 | Invalid display or screen. |
+
+**示例:**
+
+```js
+try {
+ let mirrorScreenIds = [1, 2, 3];
+ screen.stopMirror(mirrorScreenIds).then(() => {
+ console.info('Succeeded in stopping mirror screens.');
+ }).catch((err) => {
+ console.error('Failed to stop mirror screens. Code:' + JSON.stringify(err));
+ });
+} catch (exception) {
+ console.error('Failed to stop mirror screens. Code:' + JSON.stringify(exception));
+};
+```
+
## screen.createVirtualScreen
createVirtualScreen(options:VirtualScreenOption, callback: AsyncCallback<Screen>): void
diff --git a/zh-cn/application-dev/reference/apis/js-apis-url.md b/zh-cn/application-dev/reference/apis/js-apis-url.md
index 9545f710b3bb38e7c78ce52010f2b5e4c92ff25e..77fe1371423c81cc9f493010766834a5ae18b783 100755
--- a/zh-cn/application-dev/reference/apis/js-apis-url.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-url.md
@@ -23,7 +23,7 @@ URLParams的构造函数。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
-| init | string[][] \| Record<string, string> \| string \| URLSearchParams | 否 | 入参对象。
- string[][]:字符串二维数组
- Record<string, string>:对象列表
- string:字符串
- URLSearchParams:对象 |
+| init | string[][] \| Record<string, string> \| string \| URLSearchParams | 否 | 入参对象。
- string[][]:字符串二维数组
- Record<string, string>:对象列表
- string:字符串
- URLSearchParams:对象
- 默认值:null。 |
**示例:**
@@ -150,7 +150,7 @@ forEach(callbackFn: (value: string, key: string, searchParams: this) => void, th
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callbackFn | function | 是 | 回调函数。 |
-| thisArg | Object | 否 | callbackFn被调用时用作this值 |
+| thisArg | Object | 否 | callbackFn被调用时用作this值,默认值是本对象。 |
**表1** callbackFn的参数说明
@@ -404,7 +404,7 @@ URL的构造函数。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| url | string | 是 | 入参对象。 |
-| base | string \| URL | 否 | 入参字符串或者对象。
- string:字符串
- URL:字符串或对象 |
+| base | string \| URL | 否 | 入参字符串或者对象。
- string:字符串
- URL:字符串或对象
- 默认值是空字符串或空对象。 |
**示例:**
@@ -444,7 +444,7 @@ URL静态成员函数。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| url | string | 是 | 入参对象。 |
-| base | string \| URL | 否 | 入参字符串或者对象。
- string:字符串
- URL:字符串或对象 |
+| base | string \| URL | 否 | 入参字符串或者对象。
- string:字符串
- URL:字符串或对象
- 默认值是空字符串或空对象。 |
**错误码:**
@@ -522,7 +522,7 @@ URLSearchParams的构造函数。
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
-| init | string[][] \| Record<string, string> \| string \| URLSearchParams | 否 | 入参对象。
- string[][]:字符串二维数组
- Record<string, string>:对象列表
- string:字符串
- URLSearchParams:对象 |
+| init | string[][] \| Record<string, string> \| string \| URLSearchParams | 否 | 入参对象。
- string[][]:字符串二维数组
- Record<string, string>:对象列表
- string:字符串
- URLSearchParams:对象
- 默认值:null。 |
**示例:**
@@ -665,7 +665,7 @@ forEach(callbackFn: (value: string, key: string, searchParams: this) => void, th
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callbackFn | function | 是 | 回调函数。 |
-| thisArg | Object | 否 | callbackFn被调用时用作this值 |
+| thisArg | Object | 否 | callbackFn被调用时用作this值,默认值是本对象。 |
**表1** callbackFn的参数说明
diff --git a/zh-cn/application-dev/reference/apis/js-apis-util.md b/zh-cn/application-dev/reference/apis/js-apis-util.md
index a556dac2502d4c7de69cedd050a590491b15707e..3e8509ff9481f85335f746710310feab38530ae3 100755
--- a/zh-cn/application-dev/reference/apis/js-apis-util.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-util.md
@@ -547,7 +547,7 @@ TextEncoder的构造函数。
| 参数名 | 类型 | 必填 | 说明 |
| ----- | ---- | ---- | ---- |
-| encoding | string | 否 | 编码格式 |
+| encoding | string | 否 | 编码格式,默认值为'utf-8'。 |
**示例:**
@@ -567,7 +567,7 @@ encodeInto(input?: string): Uint8Array
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------ |
-| input | string | 否 | 需要编码的字符串。 |
+| input | string | 否 | 需要编码的字符串,默认值是空字符串。 |
**返回值:**
@@ -665,7 +665,7 @@ encode(input?: string): Uint8Array
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
-| input | string | 否 | 需要编码的字符串。 |
+| input | string | 否 | 需要编码的字符串,默认值是空字符串。 |
**返回值:**
diff --git a/zh-cn/application-dev/reference/apis/js-apis-wifiManager.md b/zh-cn/application-dev/reference/apis/js-apis-wifiManager.md
index 241776a9120c3c76f25f800a1738db8399034e3b..5abef285bc074a3bc2a5c04f95b781651c6d55e0 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-wifiManager.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-wifiManager.md
@@ -162,9 +162,9 @@ getScanResults(callback: AsyncCallback<Array<WifiScanInfo>>): void
**示例:**
```js
- import wifi from '@ohos.wifi';
+ import wifi from '@ohos.wifiManager';
- wifi.getScanInfos((err, result) => {
+ wifi.getScanResults((err, result) => {
if (err) {
console.error("get scan info error");
return;
@@ -185,7 +185,7 @@ getScanResults(callback: AsyncCallback<Array<WifiScanInfo>>): void
}
});
- wifi.getScanInfos().then(result => {
+ wifi.getScanResults().then(result => {
var len = Object.keys(result).length;
console.log("wifi received scan info: " + len);
for (var i = 0; i < len; ++i) {
@@ -247,6 +247,37 @@ WLAN热点信息。
| WIFI_SEC_TYPE_WAPI_PSK9+ | 9 | WAPI-PSK加密类型。 |
+## WifiBandType10+
+
+表示WIFI频段类型的枚举。
+
+**系统能力:** SystemCapability.Communication.WiFi.STA
+
+| **名称** | **值** | **说明** |
+| -------- | -------- | -------- |
+| WIFI_BAND_NONE | 0 | 无效频段类型。 |
+| WIFI_BAND_2G | 1 | 2.4G频段类型。 |
+| WIFI_BAND_5G | 2 | 5G频段类型。 |
+| WIFI_BAND_6G | 3 | 6G频段类型。 |
+| WIFI_BAND_60G | 4 | 60G频段类型。 |
+
+## WifiStandard10+
+
+表示WIFI标准的枚举。
+
+**系统能力:** SystemCapability.Communication.WiFi.STA
+
+| **名称** | **值** | **说明** |
+| -------- | -------- | -------- |
+| WIFI_STANDARD_UNDEFINED | 0 | 无效WIFI标准类型。 |
+| WIFI_STANDARD_11A | 1 | 802.11a WiFi标准类型。 |
+| WIFI_STANDARD_11B | 2 | 802.11b WiFi标准类型。 |
+| WIFI_STANDARD_11G | 3 | 802.11g WiFi标准类型。 |
+| WIFI_STANDARD_11N | 4 | 802.11n WiFi标准类型。 |
+| WIFI_STANDARD_11AC | 5 | 802.11ac WiFi标准类型。 |
+| WIFI_STANDARD_11AX | 6 | 802.11ax WiFi标准类型。 |
+| WIFI_STANDARD_11AD | 7 | 802.11ad WiFi标准类型。 |
+
## WifiInfoElem9+
WLAN热点信息。
@@ -623,7 +654,7 @@ getCandidateConfigs(): Array<[WifiDeviceConfig](#wifideviceconfig)>
connectToCandidateConfig(networkId: number): void
-连接到候选网络。
+应用使用该接口连接到自己添加的候选网络(如果当前已经连接到热点,需要先断开连接)。
**需要权限:** ohos.permission.SET_WIFI_INFO
@@ -648,7 +679,7 @@ connectToCandidateConfig(networkId: number): void
connectToNetwork(networkId: number): void
-连接到指定网络。
+连接到指定网络(如果当前已经连接到热点,请先使用disconnet()接口断开连接)。
**系统接口:** 此接口为系统接口。
@@ -675,7 +706,7 @@ connectToNetwork(networkId: number): void
connectToDevice(config: WifiDeviceConfig): void
-连接到指定网络。
+连接到指定网络(如果当前已经连接到热点,请先使用disconnet()接口断开连接)。
**系统接口:** 此接口为系统接口。
@@ -803,7 +834,7 @@ getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void
**示例:**
```js
- import wifi from '@ohos.wifi';
+ import wifi from '@ohos.wifiManager';
wifi.getLinkedInfo((err, data) => {
if (err) {
@@ -834,18 +865,22 @@ getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void
| networkId | number | 是 | 否 | 网络配置ID。
**系统接口:** 此接口为系统接口。 |
| rssi | number | 是 | 否 | 热点的信号强度(dBm)。 |
| band | number | 是 | 否 | WLAN接入点的频段。 |
-| linkSpeed | number | 是 | 否 | WLAN接入点的速度。 |
+| linkSpeed | number | 是 | 否 | WLAN接入点的上行速度。 |
+| rxLinkSpeed10+ | number | 是 | 否 | WLAN接入点的下行速度。 |
+| maxSupportedTxLinkSpeed10+ | number | 是 | 否 | 当前支持的最大上行速率。 |
+| maxSupportedRxLinkSpeed10+ | number | 是 | 否 | 当前支持的最大下行速率。 |
| frequency | number | 是 | 否 | WLAN接入点的频率。 |
| isHidden | boolean | 是 | 否 | WLAN接入点是否是隐藏网络。 |
| isRestricted | boolean | 是 | 否 | WLAN接入点是否限制数据量。 |
| chload | number | 是 | 否 | 连接负载,值越大表示负载约高。
**系统接口:** 此接口为系统接口。 |
| snr | number | 是 | 否 | 信噪比。
**系统接口:** 此接口为系统接口。 |
-| macType9+ | number | 是 | 否 | MAC地址类型。 |
+| macType | number | 是 | 否 | MAC地址类型。 |
| macAddress | string | 是 | 否 | 设备的MAC地址。 |
| ipAddress | number | 是 | 否 | WLAN连接的IP地址。 |
| suppState | [SuppState](#suppstate) | 是 | 否 | 请求状态。
**系统接口:** 此接口为系统接口。 |
| connState | [ConnState](#connstate) | 是 | 否 | WLAN连接状态。 |
-
+| channelWidth10+ | [WifiChannelWidth](#wifichannelwidth) | 是 | 否 | 当前连接热点的信道带宽。 |
+| wifiStandard10+ | [WifiStandard](#wifistandard) | 是 | 否 | 当前连接热点的WiFi标准。 |
## ConnState9+
@@ -1248,6 +1283,44 @@ removeDevice(id: number): void
| -------- | -------- |
| 2501000 | Operation failed.|
+## wifi.isBandTypeSupported10+
+
+isBandTypeSupported(bandType: WifiBandType): boolean
+
+判断当前频段是否支持。
+
+**需要权限:** ohos.permission.GET_WIFI_INFO。
+
+**系统能力:** SystemCapability.Communication.WiFi.STA
+
+**错误码:**
+
+以下错误码的详细介绍请参见[WIFI错误码](../errorcodes/errorcode-wifi.md)。
+
+| **类型** | **说明** |
+ | -------- | -------- |
+| 2501000 | Operation failed.|
+
+## wifi.get5GChannelList10+
+
+get5GChannelList(): Array
+
+获取当前设备支持的5G信道列表。
+
+**系统接口:** 此接口为系统接口。
+
+**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.GET_WIFI_CONFIG。
+
+**系统能力:** SystemCapability.Communication.WiFi.STA
+
+**错误码:**
+
+以下错误码的详细介绍请参见[WIFI错误码](../errorcodes/errorcode-wifi.md)。
+
+| **类型** | **说明** |
+ | -------- | -------- |
+| 2501000 | Operation failed.|
+
## wifi.enableHotspot9+
enableHotspot(): void
@@ -1376,12 +1449,12 @@ setHotspotConfig(config: HotspotConfig): void
| **名称** | **类型** | **可读** | **可写** | **说明** |
| -------- | -------- | -------- | -------- | -------- |
-| ssid | string | 是 | 否 | 热点的SSID,编码格式为UTF-8。 |
-| securityType | [WifiSecurityType](#wifisecuritytype) | 是 | 否 | 加密类型。 |
-| band | number | 是 | 否 | 热点的带宽。1: 2.4G, 2: 5G, 3: 双模频段 |
-| preSharedKey | string | 是 | 否 | 热点的密钥。 |
-| maxConn | number | 是 | 否 | 最大设备连接数。 |
-
+| ssid | string | 是 | 是 | 热点的SSID,编码格式为UTF-8。 |
+| securityType | [WifiSecurityType](#wifisecuritytype) | 是 | 是 | 加密类型。 |
+| band | number | 是 | 是 | 热点的带宽。1: 2.4G, 2: 5G, 3: 双模频段 |
+| channel10+ | number | 是 | 是 | 热点的信道(2.4G:1~14,5G:7~196,双模频段:暂不支持)。 |
+| preSharedKey | string | 是 | 是 | 热点的密钥。 |
+| maxConn | number | 是 | 是 | 最大设备连接数。 |
## wifi.getHotspotConfig9+
@@ -1780,7 +1853,7 @@ p2pConnect(config: WifiP2PConfig): void
**示例:**
```js
- import wifi from '@ohos.wifi';
+ import wifi from '@ohos.wifiManager';
var recvP2pConnectionChangeFunc = result => {
console.info("p2p connection change receive event: " + JSON.stringify(result));
@@ -2085,7 +2158,7 @@ off(type: "wifiStateChange", callback?: Callback<number>): void
**示例:**
```js
- import wifi from '@ohos.wifi';
+ import wifi from '@ohos.wifiManager';
var recvPowerNotifyFunc = result => {
console.info("Receive power state change event: " + result);
diff --git a/zh-cn/application-dev/reference/apis/js-apis-xml.md b/zh-cn/application-dev/reference/apis/js-apis-xml.md
index cd5afe9467f8a4ab42c40cadbedb4ee0b3f1512e..903d4bf2e6296495beabe0f32c759e1302ed59c7 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-xml.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-xml.md
@@ -32,7 +32,7 @@ XmlSerializer的构造函数。
```js
let arrayBuffer = new ArrayBuffer(2048);
-let thatSer = new xml.XmlSerializer(arrayBuffer,"utf-8");
+let thatSer = new xml.XmlSerializer(arrayBuffer, "utf-8");
thatSer.setDeclaration();
let result = '';
let view = new Uint8Array(arrayBuffer);
@@ -400,13 +400,9 @@ let strXml =
' ' +
' ' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let i = 0; i < strLen; ++i) {
- bufView[i] = strXml.charCodeAt(i);
-}
-let that = new xml.XmlPullParser(arrayBuffer, 'UTF-8');
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer, 'UTF-8');
let str1 = '';
function func1(name, value){
str1 += name+':'+value;
@@ -442,13 +438,9 @@ let strXml =
' Work' +
' Play' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let tmp = 0; tmp < strLen; ++tmp) {
- bufView[tmp] = strXml.charCodeAt(tmp);
-}
-let that = new xml.XmlPullParser(arrayBuffer);
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer);
let arrTag = {};
let str = "";
let i = 0;
@@ -513,13 +505,9 @@ let strXml =
' Work' +
' Play' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let tmp = 0; tmp < strLen; ++tmp) {
- bufView[tmp] = strXml.charCodeAt(tmp);
-}
-let that = new xml.XmlPullParser(arrayBuffer);
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer);
let arrTag = {};
let str = "";
let i = 0;
@@ -560,13 +548,9 @@ let strXml =
' Work' +
' Play' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let tmp = 0; tmp < strLen; ++tmp) {
- bufView[tmp] = strXml.charCodeAt(tmp);
-}
-let that = new xml.XmlPullParser(arrayBuffer);
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer);
let arrTag = {};
let str = "";
let i = 0;
@@ -610,13 +594,9 @@ let strXml =
' Work' +
' Play' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let tmp = 0; tmp < strLen; ++tmp) {
- bufView[tmp] = strXml.charCodeAt(tmp);
-}
-let that = new xml.XmlPullParser(arrayBuffer);
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer);
let arrTag = {};
let str = "";
let i = 0;
@@ -657,13 +637,9 @@ let strXml =
' Work' +
' Play' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let tmp = 0; tmp < strLen; ++tmp) {
- bufView[tmp] = strXml.charCodeAt(tmp);
-}
-let that = new xml.XmlPullParser(arrayBuffer);
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer);
let arrTag = {};
let str = "";
let i = 0;
@@ -703,13 +679,9 @@ let strXml =
' Work' +
' Play' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let tmp = 0; tmp < strLen; ++tmp) {
- bufView[tmp] = strXml.charCodeAt(tmp);
-}
-let that = new xml.XmlPullParser(arrayBuffer);
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer);
let arrTag = {};
let str = "";
let i = 0;
@@ -749,13 +721,9 @@ let strXml =
' Work' +
' Play' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let tmp = 0; tmp < strLen; ++tmp) {
- bufView[tmp] = strXml.charCodeAt(tmp);
-}
-let that = new xml.XmlPullParser(arrayBuffer);
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer);
let arrTag = {};
let str = "";
let i = 0;
@@ -796,13 +764,9 @@ let strXml =
' Work' +
' Play' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let tmp = 0; tmp < strLen; ++tmp) {
- bufView[tmp] = strXml.charCodeAt(tmp);
-}
-let that = new xml.XmlPullParser(arrayBuffer);
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer);
let arrTag = {};
let str = "";
let i = 0;
@@ -842,13 +806,9 @@ let strXml =
' Work' +
' Play' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let tmp = 0; tmp < strLen; ++tmp) {
- bufView[tmp] = strXml.charCodeAt(tmp);
-}
-let that = new xml.XmlPullParser(arrayBuffer);
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer);
let arrTag = {};
let str = "";
let i = 0;
@@ -888,13 +848,9 @@ let strXml =
' Work' +
' Play' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let tmp = 0; tmp < strLen; ++tmp) {
- bufView[tmp] = strXml.charCodeAt(tmp);
-}
-let that = new xml.XmlPullParser(arrayBuffer);
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer);
let arrTag = {};
let str = "";
let i = 0;
@@ -933,13 +889,9 @@ let strXml =
' Work' +
' Play' +
'';
-let arrayBuffer = new ArrayBuffer(strXml.length);
-let bufView = new Uint8Array(arrayBuffer);
-let strLen = strXml.length;
-for (let tmp = 0; tmp < strLen; ++tmp) {
- bufView[tmp] = strXml.charCodeAt(tmp);
-}
-let that = new xml.XmlPullParser(arrayBuffer);
+let textEncoder = new util.TextEncoder();
+let arrbuffer = textEncoder.encodeInto(strXml);
+let that = new xml.XmlPullParser(arrbuffer.buffer);
let arrTag = {};
let str = "";
let i = 0;