diff --git a/en/application-dev/security/accesstoken-guidelines.md b/en/application-dev/security/accesstoken-guidelines.md index 34cb80a01eef6521c327d848e02b1fb3d5325fd7..4349c32625fd1d28c230f6d60c2120641a6c7f33 100644 --- a/en/application-dev/security/accesstoken-guidelines.md +++ b/en/application-dev/security/accesstoken-guidelines.md @@ -123,7 +123,7 @@ In this example, declare the permission under the **acls** field: "allowed-acls": [ "ohos.permission.PERMISSION2" ] - }, + } } ``` diff --git a/zh-cn/application-dev/IDL/idl-guidelines.md b/zh-cn/application-dev/IDL/idl-guidelines.md index 5c2cadf08ea84b332bbe9c375b27bbbd2e83a699..76fc15b2e5939b5bf2c03d9ccc4bcb7a8a11f659 100644 --- a/zh-cn/application-dev/IDL/idl-guidelines.md +++ b/zh-cn/application-dev/IDL/idl-guidelines.md @@ -7,7 +7,7 @@ ![IDL-interface-description](./figures/IDL-interface-description.png) -OpenHarmony IDL接口描述语言主要用于: + **OpenHarmony IDL接口描述语言主要用于:** - 声明系统服务对外提供的服务接口,根据接口声明在编译时生成跨进程调用(IPC)或跨设备调用(RPC)的代理(Proxy)和桩(Stub)的C/C++代码或JS/TS代码。 @@ -17,7 +17,7 @@ OpenHarmony IDL接口描述语言主要用于: ![IPC-RPC-communication-model](./figures/IPC-RPC-communication-model.png) -使用OpenHarmony IDL接口描述语言声明接口具有以下优点: + **使用OpenHarmony IDL接口描述语言声明接口具有以下优点:** - OpenHarmony IDL中是以接口的形式定义服务,可以专注于定义而隐藏实现细节。 @@ -59,7 +59,7 @@ sequenceable namespace.typename sequenceable a.b..C.D ``` -上述声明在生成的的C++头文件中将被解析为如下代码: + 上述声明在生成的的C++头文件中将被解析为如下代码: ```cpp #include “a/b/d.h” @@ -81,15 +81,15 @@ import MySequenceable from "./my_sequenceable" 需要注意的是,IDL并不负责该类型的代码实现,仅仅按照指定的形式引入该头文件或import指定模块,并使用该类型,因此开发者需要自行保证引入目录、命名空间及类型的正确性。 #### 接口类型 -接口类型是指OpenHarmony IDL文件中定义的接口。对于当前IDL文件中定义的接口,可以直接使用它作为方法参数类型或返回值类型。而在其它OpenHarmony IDL文件中定义的接口,则需要在文件的头部进行前置声明。 + 接口类型是指OpenHarmony IDL文件中定义的接口。对于当前IDL文件中定义的接口,可以直接使用它作为方法参数类型或返回值类型。而在其它OpenHarmony IDL文件中定义的接口,则需要在文件的头部进行前置声明。 -C++中声明的形式与sequenceable类型相似,具体而言可以有如下形式: + C++中声明的形式与sequenceable类型相似,具体而言可以有如下形式: ```cpp interface includedir..namespace.typename ``` -TS中声明的形式,具体而言可以有如下形式: + TS中声明的形式,具体而言可以有如下形式: ```ts interface namespace.interfacename @@ -495,7 +495,7 @@ function connectAbility: void { 开发者可以通过 IPC 接口,将某个类从一个进程发送至另一个进程。但是,必须确保 IPC 通道的另一端可使用该类的代码,并且该类必须支持marshalling和unmarshalling方法。OpenHarmony 需要通过该marshalling和unmarshalling方法将对象序列化和反序列化成各进程能识别的对象。 -如需创建支持sequenceable 类型数据,开发者必须执行以下操作: + **如需创建支持sequenceable 类型数据,开发者必须执行以下操作:** 1. 实现marshalling方法,它会获取对象的当前状态并将其序列化后写入Parcel。 2. 实现unmarshalling方法,它会从Parcel中反序列化出对象。 diff --git a/zh-cn/application-dev/ability/stage-ability-continuation.md b/zh-cn/application-dev/ability/stage-ability-continuation.md index b50cab8a17cfbcb49e8ff6098e410c76b1c3ae18..2c6045bef7c1eba49c8cf2b7c8f4d26791e6f056 100755 --- a/zh-cn/application-dev/ability/stage-ability-continuation.md +++ b/zh-cn/application-dev/ability/stage-ability-continuation.md @@ -41,7 +41,7 @@ "module": { "abilities": [ { - "continuable": true, + "continuable": true } ] } @@ -62,7 +62,7 @@ "module": { "abilities": [ { - "launchType": "standard", + "launchType": "standard" } ] } @@ -76,7 +76,7 @@ "module": { "abilities": [ { - "launchType": "singleton", + "launchType": "singleton" } ] } diff --git a/zh-cn/application-dev/key-features/multi-device-app-dev/faqs.md b/zh-cn/application-dev/key-features/multi-device-app-dev/faqs.md index e23750c33468972110f124d729d4610fabdbae7d..2ec8d05a98a6b9dbf03c151cc47800ad3e1d77dc 100644 --- a/zh-cn/application-dev/key-features/multi-device-app-dev/faqs.md +++ b/zh-cn/application-dev/key-features/multi-device-app-dev/faqs.md @@ -6,10 +6,10 @@ 设备类型分为default(默认设备)、tablet、tv、wearable等,有多种查询设备类型的方式。 1. 通过命令行的方式查询设备类型。 - 通过命令行查询指定系统参数(const.build.characteristics)进而确定设备类型,详见[系统参数介绍](../../../device-dev/subsystems/subsys-boot-syspara.md)。 + 通过命令行查询指定系统参数(const.build.characteristics)进而确定设备类型,详见[系统参数介绍](../../../device-dev/subsystems/subsys-boot-init-sysparam.md)。 - ```ts + ```bash # 方法一 hdc shell param get "const.build.characteristics" # 方法二 diff --git a/zh-cn/application-dev/quick-start/stage-structure.md b/zh-cn/application-dev/quick-start/stage-structure.md index 8682cf7ffcc0313bb215001c121f5985ffda10b3..6fbdf8182794e17e8f980ac39c49c72871c6a989 100755 --- a/zh-cn/application-dev/quick-start/stage-structure.md +++ b/zh-cn/application-dev/quick-start/stage-structure.md @@ -65,7 +65,6 @@ app.json示例: | entityType | 该标签标记该应用的类别,具体有 :游戏类(game),影音类(media)、社交通信类(communication)、新闻类(news)、出行类(travel)、工具类(utility)、购物类(shopping)、教育类(education)、少儿类(kids)、商务类(business)、拍摄类(photography)。 | 字符串 | 该标签可以缺省,缺省为unspecified。 | | singleton | 标识该应用开启单例模式,仅支持系统应用配置,三方应用配置不生效。配置为true时,在多用户场景下,该应用仍然单实例运行,不会随用户切换而变动。采用布尔类型,该字段从API8开始支持。 | 布尔值 | 可缺省,缺省值为false。 | | removable | 标识应用是否可卸载,仅支持系统应用配置,三方应用配置不生效,该字段从API8开始支持。 | 布尔值 | 可缺省,缺省值为true。 | -| process | 标识应用进程名,标签值为字符串类型,最长为127个字节。如果app标签下配置了process,该应用的所有ability都运行在该进程中。 | 字符串 | 可缺省,缺省值为app标签下的bundleName。 | | keepAlive | 标识应用是否始终保持运行状态,仅支持系统应用配置,三方应用配置不生效。标签值为布尔类型,如果为true,应用将始终保持为运行状态,并且在系统启动的时候会被系统启动起来,应用进程退出后,系统也会重新启动该应用进程。 | 布尔值 | 可缺省,缺省值为false。 | | userDataClearable | 标识是否允许应用清除用户数据,仅支持系统应用配置,三方应用配置不生效,该字段从API8开始支持。 | 布尔值 | 可缺省,缺省值为true。 | | accessible | 标识应用的安装目录是否是可访问的,仅支持系统应用配置,三方应用配置不生效。配置为true表示安装目录可以被三方应用访问,false表示不能被三方应用访问。 | 布尔值 | 可缺省,缺省值为false。 | @@ -82,14 +81,13 @@ module.json5示例: "type": "entry|feature|har", "srcEntrance" : "./MyAbilityStage.js", "description" : "$string:description_application", - "process": "string", "mainElement": "MainAbility", "deviceTypes": [ "tablet", "tv", "wearable", "car", - "router", + "router" ], "deliveryWithInstall": true, "installationFree": false, @@ -176,7 +174,7 @@ hap包的配置信息,该标签下的配置只对当前hap包生效。 | type | 该标签标识当前hap的类型。类型有三种,分别是entry、feature和har。 | 字符串 | 该标签不可缺省。 | | srcEntrance | 该标签标识hap所对应的入口js代码路径,标签值为字符串(最长为127字节)。 | 字符串 | 该标签可缺省。 | | description | 该标签标识hap包的描述信息,标签值是是字符串类型或对描述内容的资源索引,以支持多语言。 | 字符串 | 该标签可缺省,缺省值为空。 | -| process | 该标签标识hap的进程名,标签值为字符串类型(最长为31个字节)。如果在hap标签下配置了process,该应用的所有ability都运行在该进程中。 | 字符串 | 可缺省,缺省为app标签下的bundleName。 | +| process | 该标签标识hap的进程名,标签值为字符串类型(最长为31个字节)。如果在hap标签下配置了process,该应用的所有ability都运行在该进程中。该标签只支持系统应用配置。 | 字符串 | 可缺省,缺省为app标签下的bundleName。 | | mainElement | 该标签标识hap的入口ability名称或者extension名称。只有配置为mainElement的ability或者extension才允许在服务中心露出。创建OpenHarmony原子化服务时,该标签不可缺省。 | 字符串 | OpenHarmony应用下,该标签可缺省。 | | deviceTypes | 该标签标识hap可以运行在哪类设备上,标签值采用字符串数组的表示,系统预定义的设备类型见表4。
与syscap不同的是,deviceTypes是以设备类型为粒度,而syscap是以设备能力(例如蓝牙、wifi)为粒度。 | 字符串数组 | 该标签不可缺省,可以为空值。 | | deliveryWithInstall | 该标签标识当前hap是否在用户主动安装的时候安装,true表示主动安装时安装,false表示主动安装时不安装。 | 布尔值 | 该标签不可缺省。 | diff --git a/zh-cn/application-dev/reference/apis/js-apis-Bundle.md b/zh-cn/application-dev/reference/apis/js-apis-Bundle.md index 4dae645b1847d6b568f31bc623759d24f3a5fbf6..3428a6cb77e976e52d182a16b05978088cf4497d 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-Bundle.md +++ b/zh-cn/application-dev/reference/apis/js-apis-Bundle.md @@ -158,7 +158,7 @@ SystemCapability.BundleManager.BundleFramework | 名称 | 类型 | 必填 | 描述 | | ----------- | ------ | ---- | ------------------------------------------------------------ | | bundleName | string | 是 | 要查询的包名。 | -| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:参考[BundleFlag说明](#bundleflag)中包信息相关flag。 | +| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:参考[BundleFlag说明](#bundleflag)中应用信息相关flag。 | | userId | number | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 | **返回值:** @@ -196,7 +196,7 @@ SystemCapability.BundleManager.BundleFramework | 名称 | 类型 | 必填 | 描述 | | ----------- | ------ | ---- | ------------------------------------------------------------ | | bundleName | string | 是 | 要查询的包名。 | -| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:参考[BundleFlag说明](#bundleflag)中包信息相关flag。 | +| bundleFlags | number | 是 | 用于指定返回的应用信息对象中包含信息的标记。默认值:0,取值范围:参考[BundleFlag说明](#bundleflag)中应用信息相关flag。 | **返回值:** @@ -448,7 +448,7 @@ bundle.getBundleInfo(bundleName, bundleFlags, options, (err, data) => { getBundleInfoSync(bundleName: string, bundleFlags: number, options: BundleOptions): BundleInfo; -以同步方法根据给定的包名获取ApplicationInfo,返回BundleInfo对象。 +以同步方法根据给定的包名获取BundleInfo,返回BundleInfo对象。 **需要权限:** @@ -488,7 +488,7 @@ console.info('Operation successful. Name:' + bundleInfo.name); getBundleInfoSync(bundleName: string, bundleFlags: number): BundleInfo; -以同步方法根据给定的包名获取ApplicationInfo,返回BundleInfo对象。 +以同步方法根据给定的包名获取BundleInfo,返回BundleInfo对象。 **需要权限:** diff --git a/zh-cn/application-dev/reference/apis/js-apis-image.md b/zh-cn/application-dev/reference/apis/js-apis-image.md index b7f42d3cb42f864862daa408324f22fe9692107a..63b3f9d07263b3e5fbfd92b499210c31b9c4929b 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-image.md +++ b/zh-cn/application-dev/reference/apis/js-apis-image.md @@ -169,7 +169,12 @@ readPixels(area: PositionArea): Promise\ **示例:** ```js -const area = new ArrayBuffer(400); +const area = { + pixels: new ArrayBuffer(8), + offset: 0, + stride: 8, + region: { size: { height: 1, width: 2 }, x: 0, y: 0 } +} pixelmap.readPixels(area).then(() => { console.log('Succeeded in reading the image data in the area.'); //符合条件则进入 }).catch(error => { diff --git a/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md b/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md index 1d6db241ef0070ab2f48b4890b5b708314bce895..2fdcde2330a51f4feb1d8ca0041e5c2d300b6da2 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md +++ b/zh-cn/application-dev/reference/apis/js-apis-medialibrary.md @@ -94,23 +94,42 @@ getFileAssets(options: MediaFetchOptions, callback: AsyncCallback<FetchFileRe ```js let fileKeyObj = mediaLibrary.FileKey; let imageType = mediaLibrary.MediaType.IMAGE; -let imagesfetchOp = { +let imagesFetchOp = { selections: fileKeyObj.MEDIA_TYPE + '= ?', selectionArgs: [imageType.toString()], }; -media.getFileAssets(imagesfetchOp, (error, fetchFileResult) => { - if (fetchFileResult != undefined) { - console.info('mediaLibraryTest : ASSET_CALLBACK fetchFileResult success'); - for (let i = 0; i < fetchFileResult.getCount(); i++) { +media.getFileAssets(imagesFetchOp, (error, fetchFileResult) => { + if (fetchFileResult == undefined) { + console.error('Failed to get fetchFileResult: ' + error); + return; + } + const count = fetchFileResult.getCount(); + if (count < 0) { + console.error('Failed to get count from fetchFileResult: count: ' + count); + return; + } + if (count == 0) { + console.info('The count of fetchFileResult is zero'); + return; + } + + console.info('Get fetchFileResult success, count: ' + count); + fetchFileResult.getFirstObject((err, fileAsset) => { + if (fileAsset == undefined) { + console.error('Failed to get first object: ' + err); + return; + } + console.log('fileAsset.displayName ' + ': ' + fileAsset.displayName); + for (let i = 1; i < count; i++) { fetchFileResult.getNextObject((err, fileAsset) => { - if (err) { - console.error('Failed '); - return; - } - console.log('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); + if (fileAsset == undefined) { + console.error('Failed to get next object: ' + err); + return; + } + console.log('fileAsset.displayName ' + i + ': ' + fileAsset.displayName); }) - } - } + } + }); }); ``` ### getFileAssets7+ @@ -140,14 +159,35 @@ getFileAssets(options: MediaFetchOptions): Promise<FetchFileResult> ```js let fileKeyObj = mediaLibrary.FileKey; let imageType = mediaLibrary.MediaType.IMAGE; -let imagesfetchOp = { +let imagesFetchOp = { selections: fileKeyObj.MEDIA_TYPE + '= ?', selectionArgs: [imageType.toString()], }; -media.getFileAssets(imagesfetchOp).then(function(fetchFileResult){ - console.info("getFileAssets successfully: image number is "+ fetchFileResult.getCount()); +media.getFileAssets(imagesFetchOp).then(function(fetchFileResult) { + const count = fetchFileResult.getCount(); + if (count < 0) { + console.error('Failed to get count from fetchFileResult: count: ' + count); + return; + } + if (count == 0) { + console.info('The count of fetchFileResult is zero'); + return; + } + console.info('Get fetchFileResult success, count: ' + count); + fetchFileResult.getFirstObject().then(function(fileAsset) { + console.log('fileAsset.displayName ' + ': ' + fileAsset.displayName); + for (let i = 1; i < count; i++) { + fetchFileResult.getNextObject().then(function(fileAsset) { + console.log('fileAsset.displayName ' + ': ' + fileAsset.displayName); + }).catch(function(err) { + console.error('Failed to get next object: ' + err); + }) + } + }).catch(function(err) { + console.error('Failed to get first object: ' + err); + }); }).catch(function(err){ - console.info("getFileAssets failed with error:"+ err); + console.error("Failed to get file assets: " + err); }); ``` @@ -763,13 +803,11 @@ startMediaSelect(option: MediaSelectOption, callback: AsyncCallback<Array< **示例:** ```js -let fileKeyObj = mediaLibrary.FileKey; -let imageType = mediaLibrary.MediaType.IMAGE; -let imagesfetchOp = { - selections: fileKeyObj.MEDIA_TYPE + '= ?', - selectionArgs: [imageType.toString()], +let option : mediaLibrary.MediaSelectOption = { + type : "media", + count : 2 }; -mediaLibrary.getMediaLibrary().startMediaSelect(imagesfetchOp, (err, value) => { +mediaLibrary.getMediaLibrary().startMediaSelect(option, (err, value) => { if (err) { console.log("An error occurred when selecting media resources."); return; @@ -805,13 +843,11 @@ startMediaSelect(option: MediaSelectOption): Promise<Array<string>> **示例:** ```js -let fileKeyObj = mediaLibrary.FileKey; -let imageType = mediaLibrary.MediaType.IMAGE; -let imagesfetchOp = { - selections: fileKeyObj.MEDIA_TYPE + '= ?', - selectionArgs: [imageType.toString()], +let option : mediaLibrary.MediaSelectOption = { + type : "media", + count : 2 }; -mediaLibrary.getMediaLibrary().startMediaSelect(imagesfetchOp).then((value) => { +mediaLibrary.getMediaLibrary().startMediaSelect(option).then((value) => { console.log("Media resources selected."); // Obtain the media selection value. }).catch((err) => { @@ -1724,18 +1760,13 @@ async function example() { }; const fetchFileResult = await media.getFileAssets(getImageOp); const asset = await fetchFileResult.getFirstObject(); - asset.isTrash(isTrashCallBack); - function isTrashCallBack(err, isTrash) { - if (isTrash == true) { - console.info('mediaLibraryTest : ASSET_CALLBACK ASSET_CALLBACK isTrash = ' + isTrash); - asset.trash(true, isTrashCallBack); - - } else { - console.info('mediaLibraryTest : ASSET_CALLBACK isTrash Unsuccessfull = ' + err); - console.info('mediaLibraryTest : ASSET_CALLBACK isTrash : FAIL'); - - } - } + asset.isTrash((err, isTrash) => { + if (isTrash == undefined) { + console.error('Failed to get trash state: ' + err); + return; + } + console.info('Get trash state success: ' + isTrash); + }); } ``` @@ -1765,14 +1796,13 @@ async function example() { selections: fileKeyObj.MEDIA_TYPE + '= ?', selectionArgs: [imageType.toString()], order: fileKeyObj.DATE_ADDED + " DESC", - extendArgs: "", }; const fetchFileResult = await media.getFileAssets(getImageOp); const asset = await fetchFileResult.getFirstObject(); asset.isTrash().then(function(isTrash){ - console.info("isTrash result:"+ isTrash); + console.info("isTrash result: " + isTrash); }).catch(function(err){ - console.info("isTrash failed with error:"+ err); + console.error("isTrash failed with error: " + err); }); } ``` @@ -2557,4 +2587,3 @@ async function example() { | type | string | 是 | 媒体类型,包括:image, video, media,当前仅支持media类型 | | count | number | 是 | 媒体选择,count = 1表示单选,count大于1表示多选。 | - diff --git a/zh-cn/application-dev/reference/apis/js-apis-process.md b/zh-cn/application-dev/reference/apis/js-apis-process.md index 2027c27caf16a6162c1d20cd0696ee08bb246160..ad7b968f48c81dc0bff95a88cf6f57127b188f0d 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-process.md +++ b/zh-cn/application-dev/reference/apis/js-apis-process.md @@ -63,8 +63,8 @@ wait(): Promise<number> **示例:** ```js -var child = process.runCmd('ls'); -var result = child.wait(); +let child = process.runCmd('ls'); +let result = child.wait(); result.then(val=>{ console.log("result = " + val); }) @@ -90,8 +90,8 @@ getOutput(): Promise<Uint8Array> **示例:** ```js -var child = process.runCmd('ls'); -var result = child.wait(); +let child = process.runCmd('ls'); +let result = child.wait(); child.getOutput().then(val=>{ console.log("child.getOutput = " + val); }) @@ -117,8 +117,8 @@ getErrorOutput(): Promise<Uint8Array> **示例:** ```js -var child = process.runCmd('madir test.text'); -var result = child.wait(); +let child = process.runCmd('madir test.text'); +let result = child.wait(); child.getErrorOutput().then(val=>{ console.log("child.getErrorOutput= " + val); }) @@ -138,7 +138,7 @@ close(): void **示例:** ```js -var child = process.runCmd('sleep 5; ls'); +let child = process.runCmd('sleep 5; ls'); child.close(); ``` @@ -162,7 +162,7 @@ kill(signal: number | string): void **示例:** ```js -var child = process.runCmd('sleep 5; ls'); +let child = process.runCmd('sleep 5; ls'); child.kill(9); ``` @@ -184,7 +184,7 @@ isIsolatedProcess(): boolean **示例:** ```js -var result = process.isIsolatedProcess(); +let result = process.isIsolatedProcess(); ``` @@ -211,7 +211,7 @@ isAppUid(v: number): boolean **示例:** ```js -var result = process.isAppUid(688); +let result = process.isAppUid(688); ``` @@ -232,7 +232,7 @@ is64Bit(): boolean **示例:** ```js -var result = process.is64Bit(); +let result = process.is64Bit(); ``` @@ -259,7 +259,7 @@ getUidForName(v: string): number **示例:** ```js -var pres = process.getUidForName("tool") +let pres = process.getUidForName("tool") ``` @@ -286,8 +286,8 @@ getThreadPriority(v: number): number **示例:** ```js -var tid = process.tid; -var pres = process.getThreadPriority(tid); +let tid = process.tid; +let pres = process.getThreadPriority(tid); ``` @@ -308,7 +308,7 @@ getStartRealtime(): number **示例:** ```js -var realtime = process.getStartRealtime(); +let realtime = process.getStartRealtime(); ``` ## process.getPastCpuTime8+ @@ -328,7 +328,7 @@ getPastCpuTime(): number **示例:** ```js -var result = process.getPastCpuTime() ; +let result = process.getPastCpuTime() ; ``` @@ -355,8 +355,8 @@ getSystemConfig(name: number): number **示例:** ```js -var _SC_ARG_MAX = 0 -var pres = process.getSystemConfig(_SC_ARG_MAX) +let _SC_ARG_MAX = 0 +let pres = process.getSystemConfig(_SC_ARG_MAX) ``` @@ -383,7 +383,7 @@ getEnvironmentVar(name: string): string **示例:** ```js -var pres = process.getEnvironmentVar("PATH") +let pres = process.getEnvironmentVar("PATH") ``` @@ -421,8 +421,8 @@ runCmd(command: string, options?: { timeout?: number, killSignal?: number | stri **示例:** ```js -var child = process.runCmd('ls', { maxBuffer : 2 }); -var result = child.wait(); +let child = process.runCmd('ls', { maxBuffer : 2 }); +let result = child.wait(); child.getOutput.then(val=>{ console.log("child.getOutput = " + val); }) @@ -504,7 +504,7 @@ off(type: string): boolean process.on("data", (e)=>{ console.log("data callback"); }) -var result = process.off("data"); +let result = process.off("data"); ``` @@ -544,7 +544,7 @@ cwd(): string **示例:** ```js -var path = process.cwd(); +let path = process.cwd(); ``` @@ -588,7 +588,7 @@ uptime(): number **示例:** ```js -var time = process.uptime(); +let time = process.uptime(); ``` @@ -616,6 +616,6 @@ kill(signal: number, pid: number): boolean **示例:** ```js -var pres = process.pid -var result = process.kill(28, pres) +let pres = process.pid +let result = process.kill(28, pres) ``` diff --git a/zh-cn/application-dev/reference/apis/js-apis-uri.md b/zh-cn/application-dev/reference/apis/js-apis-uri.md index b5a432841036c20a98e6cc6f160320847a7165fc..f14cab80f246d22f68b0012e9c3026447f92e776 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-uri.md +++ b/zh-cn/application-dev/reference/apis/js-apis-uri.md @@ -46,7 +46,7 @@ constructor是URI的构造函数。 **示例:** ```js -var mm = 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment'; +let mm = 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment'; new uri.URI(mm); // Output 'http://username:password@host:8080/directory/file?foo=1&bar=2#fragment'; ``` ```js 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 f7a30ab9b74c73fc034b9d8f37d69ff1337a21f2..98ab0ef71610ee027b01ba22207150685b31e313 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-url.md +++ b/zh-cn/application-dev/reference/apis/js-apis-url.md @@ -30,11 +30,11 @@ URLSearchParams的构造函数。 **示例:** ```js -var objectParams = new Url.URLSearchParams([ ['user1', 'abc1'], ['query2', 'first2'], ['query3', 'second3'] ]); -var objectParams1 = new Url.URLSearchParams({"fod" : '1' , "bard" : '2'}); -var objectParams2 = new Url.URLSearchParams('?fod=1&bard=2'); -var urlObject = new Url.URL('https://developer.mozilla.org/?fod=1&bard=2'); -var params = new Url.URLSearchParams(urlObject.search); +let objectParams = new Url.URLSearchParams([ ['user1', 'abc1'], ['query2', 'first2'], ['query3', 'second3'] ]); +let objectParams1 = new Url.URLSearchParams({"fod" : '1' , "bard" : '2'}); +let objectParams2 = new Url.URLSearchParams('?fod=1&bard=2'); +let urlObject = new Url.URL('https://developer.mozilla.org/?fod=1&bard=2'); +let params = new Url.URLSearchParams(urlObject.search); ``` @@ -132,7 +132,7 @@ entries(): IterableIterator<[string, string]> **示例:** ```js -var searchParamsObject = new Url.URLSearchParams("keyName1=valueName1&keyName2=valueName2"); +let searchParamsObject = new Url.URLSearchParams("keyName1=valueName1&keyName2=valueName2"); for (var pair of searchParamsObject .entries()) { // Show keyName/valueName pairs console.log(pair[0]+ ', '+ pair[1]); } @@ -196,9 +196,9 @@ get(name: string): string | null **示例:** ```js -var paramsOject = new Url.URLSearchParams('name=Jonathan&age=18'); -var name = paramsOject.get("name"); // is the string "Jonathan" -var age = parseInt(paramsOject.get("age"), 10); // is the number 18 +let paramsOject = new Url.URLSearchParams('name=Jonathan&age=18'); +let name = paramsOject.get("name"); // is the string "Jonathan" +let age = parseInt(paramsOject.get("age"), 10); // is the number 18 ``` @@ -266,7 +266,7 @@ sort(): void **示例:** ```js -var searchParamsObject = new Url.URLSearchParams("c=3&a=9&b=4&d=2"); // Create a test URLSearchParams object +let searchParamsObject = new Url.URLSearchParams("c=3&a=9&b=4&d=2"); // Create a test URLSearchParams object searchParamsObject.sort(); // Sort the key/value pairs console.log(searchParamsObject.toString()); // Display the sorted query string // Output a=9&b=2&c=3&d=4 ``` @@ -289,7 +289,7 @@ keys(): IterableIterator<string> **示例:** ```js -var searchParamsObject = new Url.URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing +let searchParamsObject = new Url.URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing for (var key of searchParamsObject .keys()) { // Output key-value pairs console.log(key); } @@ -313,8 +313,8 @@ values(): IterableIterator<string> **示例:** ```js -var searchParams = new Url.URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing -for (var value of searchParams.values()) { +let searchParams = new Url.URLSearchParams("key1=value1&key2=value2"); // Create a URLSearchParamsObject object for testing +for (var value of searchParams.values()) { console.log(value); } ``` @@ -338,7 +338,7 @@ for (var value of searchParams.values()) { ```js const paramsObject = new Url.URLSearchParams('fod=bay&edg=bap'); -for (const [name, value] of paramsObject) { +for (const [name, value] of paramsObject) { console.log(name, value); } ``` @@ -408,11 +408,11 @@ URL的构造函数。 **示例:** ```js -var mm = 'http://username:password@host:8080'; -var a = new Url.URL("/", mm); // Output 'http://username:password@host:8080/'; -var b = new Url.URL(mm); // Output 'http://username:password@host:8080/'; +let mm = 'http://username:password@host:8080'; +let a = new Url.URL("/", mm); // Output 'http://username:password@host:8080/'; +let b = new Url.URL(mm); // Output 'http://username:password@host:8080/'; new Url.URL('path/path1', b); // Output 'http://username:password@host:8080/path/path1'; -var c = new Url.URL('/path/path1', b); // Output 'http://username:password@host:8080/path/path1'; +let c = new Url.URL('/path/path1', b); // Output 'http://username:password@host:8080/path/path1'; new Url.URL('/path/path1', c); // Output 'http://username:password@host:8080/path/path1'; new Url.URL('/path/path1', a); // Output 'http://username:password@host:8080/path/path1'; new Url.URL('/path/path1', "https://www.exampleUrl/fr-FR/toto"); // Output https://www.exampleUrl/path/path1 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 365ec57f81c410e79a2ab56b57fcb692f758f501..2cf3ccd9b48d2be1e88edb0455dd904f0ce655a2 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-util.md +++ b/zh-cn/application-dev/reference/apis/js-apis-util.md @@ -37,7 +37,7 @@ printf(format: string, ...args: Object[]): string **示例:** ```js - var res = util.printf("%s", "hello world!"); + let res = util.printf("%s", "hello world!"); console.log(res); ``` @@ -64,8 +64,8 @@ getErrorString(errno: number): string **示例:** ```js - var errnum = 10; // 10 : a system error number - var result = util.getErrorString(errnum); + let errnum = 10; // 10 : a system error number + let result = util.getErrorString(errnum); console.log("result = " + result); ``` @@ -95,8 +95,8 @@ callbackWrapper(original: Function): (err: Object, value: Object )=>void async function promiseFn() { return Promise.reject('value'); } - var err = "type err"; - var cb = util.callbackWrapper(promiseFn); + let err = "type err"; + let cb = util.callbackWrapper(promiseFn); cb((err, ret) => { console.log(err); console.log(ret); @@ -283,7 +283,7 @@ TextDecoder的构造函数。 **示例:** ```js - var textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); + let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); ``` @@ -316,8 +316,8 @@ decode(input: Uint8Array, options?: { stream?: false }): string **示例:** ```js - var textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); - var result = new Uint8Array(6); + let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); + let result = new Uint8Array(6); result[0] = 0xEF; result[1] = 0xBB; result[2] = 0xBF; @@ -325,7 +325,7 @@ decode(input: Uint8Array, options?: { stream?: false }): string result[4] = 0x62; result[5] = 0x63; console.log("input num:"); - var retStr = textDecoder.decode( result , {stream: false}); + let retStr = textDecoder.decode( result , {stream: false}); console.log("retStr = " + retStr); ``` @@ -359,8 +359,8 @@ decodeWithStream(input: Uint8Array, options?: { stream?: boolean }): string **示例:** ```js - var textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); - var result = new Uint8Array(6); + let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); + let result = new Uint8Array(6); result[0] = 0xEF; result[1] = 0xBB; result[2] = 0xBF; @@ -368,7 +368,7 @@ decodeWithStream(input: Uint8Array, options?: { stream?: boolean }): string result[4] = 0x62; result[5] = 0x63; console.log("input num:"); - var retStr = textDecoder.decodeWithStream( result , {stream: false}); + let retStr = textDecoder.decodeWithStream( result , {stream: false}); console.log("retStr = " + retStr); ``` @@ -394,7 +394,7 @@ TextEncoder的构造函数。 **示例:** ```js - var textEncoder = new util.TextEncoder(); + let textEncoder = new util.TextEncoder(); ``` @@ -420,9 +420,9 @@ encode(input?: string): Uint8Array **示例:** ```js - var textEncoder = new util.TextEncoder(); - var buffer = new ArrayBuffer(20); - var result = new Uint8Array(buffer); + let textEncoder = new util.TextEncoder(); + let buffer = new ArrayBuffer(20); + let result = new Uint8Array(buffer); result = textEncoder.encode("\uD800¥¥"); ``` @@ -450,10 +450,10 @@ encodeInto(input: string, dest: Uint8Array, ): { read: number; written: number } **示例:** ```js - var that = new util.TextEncoder() - var buffer = new ArrayBuffer(4) - var dest = new Uint8Array(buffer) - var result = new Object() + let that = new util.TextEncoder() + let buffer = new ArrayBuffer(4) + let dest = new Uint8Array(buffer) + let result = new Object() result = that.encodeInto('abcd', dest) ``` @@ -477,7 +477,7 @@ RationalNumber的构造函数。 **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); + let rationalNumber = new util.RationalNumber(1,2); ``` @@ -503,8 +503,8 @@ static createRationalFromString​(rationalString: string): RationalNumber​ **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); - var rational = util.RationalNumber.createRationalFromString("3/4"); + let rationalNumber = new util.RationalNumber(1,2); + let rational = util.RationalNumber.createRationalFromString("3/4"); ``` @@ -530,9 +530,9 @@ compareTo​(another: RationalNumber): number​ **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); - var rational = util.RationalNumber.createRationalFromString("3/4"); - var result = rationalNumber.compareTo(rational); + let rationalNumber = new util.RationalNumber(1,2); + let rational = util.RationalNumber.createRationalFromString("3/4"); + let result = rationalNumber.compareTo(rational); ``` @@ -552,8 +552,8 @@ valueOf(): number **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); - var result = rationalNumber.valueOf(); + let rationalNumber = new util.RationalNumber(1,2); + let result = rationalNumber.valueOf(); ``` @@ -579,9 +579,9 @@ equals​(obj: Object): boolean **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); - var rational = util.RationalNumber.createRationalFromString("3/4"); - var result = rationalNumber.equals(rational); + let rationalNumber = new util.RationalNumber(1,2); + let rational = util.RationalNumber.createRationalFromString("3/4"); + let result = rationalNumber.equals(rational); ``` @@ -608,8 +608,8 @@ static getCommonDivisor​(number1: number,number2: number): number **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); - var result = util.RationalNumber.getCommonDivisor(4,6); + let rationalNumber = new util.RationalNumber(1,2); + let result = util.RationalNumber.getCommonDivisor(4,6); ``` @@ -629,8 +629,8 @@ getNumerator​(): number **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); - var result = rationalNumber.getNumerator(); + let rationalNumber = new util.RationalNumber(1,2); + let result = rationalNumber.getNumerator(); ``` @@ -650,8 +650,8 @@ getDenominator​(): number **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); - var result = rationalNumber.getDenominator(); + let rationalNumber = new util.RationalNumber(1,2); + let result = rationalNumber.getDenominator(); ``` @@ -671,8 +671,8 @@ isZero​():boolean **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); - var result = rationalNumber.isZero(); + let rationalNumber = new util.RationalNumber(1,2); + let result = rationalNumber.isZero(); ``` @@ -692,8 +692,8 @@ isNaN​(): boolean **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); - var result = rationalNumber.isNaN(); + let rationalNumber = new util.RationalNumber(1,2); + let result = rationalNumber.isNaN(); ``` @@ -713,8 +713,8 @@ isFinite​():boolean **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); - var result = rationalNumber.isFinite(); + let rationalNumber = new util.RationalNumber(1,2); + let result = rationalNumber.isFinite(); ``` @@ -734,8 +734,8 @@ toString​(): string **示例:** ```js - var rationalNumber = new util.RationalNumber(1,2); - var result = rationalNumber.toString(); + let rationalNumber = new util.RationalNumber(1,2); + let result = rationalNumber.toString(); ``` ## LruBuffer8+ @@ -750,10 +750,10 @@ toString​(): string **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); pro.put(1,8); - var result = pro.length; + let result = pro.length; ``` @@ -773,7 +773,7 @@ constructor(capacity?: number) **示例:** ```js - var lrubuffer= new util.LruBuffer(); + let lrubuffer= new util.LruBuffer(); ``` @@ -793,8 +793,8 @@ updateCapacity(newCapacity: number): void **示例:** ```js - var pro = new util.LruBuffer(); - var result = pro.updateCapacity(100); + let pro = new util.LruBuffer(); + let result = pro.updateCapacity(100); ``` @@ -814,11 +814,11 @@ toString(): string **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); pro.get(2); pro.remove(20); - var result = pro.toString(); + let result = pro.toString(); ``` @@ -838,8 +838,8 @@ getCapacity(): number **示例:** ```js - var pro = new util.LruBuffer(); - var result = pro.getCapacity(); + let pro = new util.LruBuffer(); + let result = pro.getCapacity(); ``` @@ -853,9 +853,9 @@ clear(): void **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); - var result = pro.length; + let result = pro.length; pro.clear(); ``` @@ -876,9 +876,9 @@ getCreateCount(): number **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(1,8); - var result = pro.getCreateCount(); + let result = pro.getCreateCount(); ``` @@ -898,10 +898,10 @@ getMissCount(): number **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); pro.get(2); - var result = pro.getMissCount(); + let result = pro.getMissCount(); ``` @@ -921,11 +921,11 @@ getRemovalCount(): number **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); pro.updateCapacity(2); pro.put(50,22); - var result = pro.getRemovalCount(); + let result = pro.getRemovalCount(); ``` @@ -945,10 +945,10 @@ getMatchCount(): number **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); pro.get(2); - var result = pro.getMatchCount(); + let result = pro.getMatchCount(); ``` @@ -968,9 +968,9 @@ getPutCount(): number **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); - var result = pro.getPutCount(); + let result = pro.getPutCount(); ``` @@ -990,9 +990,9 @@ isEmpty(): boolean **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); - var result = pro.isEmpty(); + let result = pro.isEmpty(); ``` @@ -1018,9 +1018,9 @@ get(key: K): V | undefined **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); - var result = pro.get(2); + let result = pro.get(2); ``` @@ -1047,8 +1047,8 @@ put(key: K,value: V): V **示例:** ```js - var pro = new util.LruBuffer(); - var result = pro.put(2,10); + let pro = new util.LruBuffer(); + let result = pro.put(2,10); ``` ### values8+ @@ -1067,11 +1067,11 @@ values(): V[] **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); pro.put(2,"anhu"); pro.put("afaf","grfb"); - var result = pro.values(); + let result = pro.values(); ``` @@ -1091,9 +1091,9 @@ keys(): K[] **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); - var result = pro.keys(); + let result = pro.keys(); ``` @@ -1119,9 +1119,9 @@ remove(key: K): V | undefined **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); - var result = pro.remove(20); + let result = pro.remove(20); ``` @@ -1144,7 +1144,7 @@ afterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void **示例:** ```js - var arr = []; + let arr = []; class ChildLruBuffer extends util.LruBuffer { constructor() @@ -1159,7 +1159,7 @@ afterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void } } } - var lru = new ChildLruBuffer(); + let lru = new ChildLruBuffer(); lru.afterRemoval(false,10,30,null); ``` @@ -1186,9 +1186,9 @@ contains(key: K): boolean **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); - var result = pro.contains(20); + let result = pro.contains(20); ``` @@ -1214,8 +1214,8 @@ createDefault(key: K): V **示例:** ```js - var pro = new util.LruBuffer(); - var result = pro.createDefault(50); + let pro = new util.LruBuffer(); + let result = pro.createDefault(50); ``` @@ -1235,9 +1235,9 @@ entries(): IterableIterator<[K,V]> **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); - var result = pro.entries(); + let result = pro.entries(); ``` @@ -1257,9 +1257,9 @@ entries(): IterableIterator<[K,V]> **示例:** ```js - var pro = new util.LruBuffer(); + let pro = new util.LruBuffer(); pro.put(2,10); - var result = pro[Symbol.iterator](); + let result = pro[Symbol.iterator](); ``` @@ -1320,9 +1320,9 @@ constructor(lowerObj: ScopeType, upperObj: ScopeType) **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var range = new util.Scope(tempLower, tempUpper); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let range = new util.Scope(tempLower, tempUpper); ``` @@ -1342,10 +1342,10 @@ toString(): string **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var range = new util.Scope(tempLower, tempUpper); - var result = range.toString(); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let range = new util.Scope(tempLower, tempUpper); + let result = range.toString(); ``` @@ -1371,12 +1371,12 @@ intersect(range: Scope): Scope **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var range = new util.Scope(tempLower, tempUpper); - var tempMiDF = new Temperature(35); - var tempMidS = new Temperature(39); - var rangeFir = new util.Scope(tempMiDF, tempMidS); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let range = new util.Scope(tempLower, tempUpper); + let tempMiDF = new Temperature(35); + let tempMidS = new Temperature(39); + let rangeFir = new util.Scope(tempMiDF, tempMidS); range.intersect(rangeFir ); ``` @@ -1404,12 +1404,12 @@ intersect(lowerObj:ScopeType,upperObj:ScopeType):Scope **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var tempMiDF = new Temperature(35); - var tempMidS = new Temperature(39); - var range = new util.Scope(tempLower, tempUpper); - var result = range.intersect(tempMiDF, tempMidS); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let tempMiDF = new Temperature(35); + let tempMidS = new Temperature(39); + let range = new util.Scope(tempLower, tempUpper); + let result = range.intersect(tempMiDF, tempMidS); ``` @@ -1429,10 +1429,10 @@ getUpper(): ScopeType **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var range = new util.Scope(tempLower, tempUpper); - var result = range.getUpper(); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let range = new util.Scope(tempLower, tempUpper); + let result = range.getUpper(); ``` @@ -1452,10 +1452,10 @@ getLower(): ScopeType **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var range = new util.Scope(tempLower, tempUpper); - var result = range.getLower(); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let range = new util.Scope(tempLower, tempUpper); + let result = range.getLower(); ``` @@ -1483,12 +1483,12 @@ expand(lowerObj: ScopeType,upperObj: ScopeType): Scope **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var tempMiDF = new Temperature(35); - var tempMidS = new Temperature(39); - var range = new util.Scope(tempLower, tempUpper); - var result = range.expand(tempMiDF, tempMidS); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let tempMiDF = new Temperature(35); + let tempMidS = new Temperature(39); + let range = new util.Scope(tempLower, tempUpper); + let result = range.expand(tempMiDF, tempMidS); ``` @@ -1514,13 +1514,13 @@ expand(range: Scope): Scope **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var tempMiDF = new Temperature(35); - var tempMidS = new Temperature(39); - var range = new util.Scope(tempLower, tempUpper); - var rangeFir = new util.Scope(tempMiDF, tempMidS); - var result = range.expand(rangeFir); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let tempMiDF = new Temperature(35); + let tempMidS = new Temperature(39); + let range = new util.Scope(tempLower, tempUpper); + let rangeFir = new util.Scope(tempMiDF, tempMidS); + let result = range.expand(rangeFir); ``` @@ -1546,11 +1546,11 @@ expand(value: ScopeType): Scope **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var tempMiDF = new Temperature(35); - var range = new util.Scope(tempLower, tempUpper); - var result = range.expand(tempMiDF); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let tempMiDF = new Temperature(35); + let range = new util.Scope(tempLower, tempUpper); + let result = range.expand(tempMiDF); ``` @@ -1576,10 +1576,10 @@ contains(value: ScopeType): boolean **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var tempMiDF = new Temperature(35); - var range = new util.Scope(tempLower, tempUpper); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let tempMiDF = new Temperature(35); + let range = new util.Scope(tempLower, tempUpper); range.contains(tempMiDF); ``` @@ -1606,13 +1606,13 @@ contains(range: Scope): boolean **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var range = new util.Scope(tempLower, tempUpper); - var tempLess = new Temperature(20); - var tempMore = new Temperature(45); - var rangeSec = new util.Scope(tempLess, tempMore); - var result = range.contains(rangeSec); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let range = new util.Scope(tempLower, tempUpper); + let tempLess = new Temperature(20); + let tempMore = new Temperature(45); + let rangeSec = new util.Scope(tempLess, tempMore); + let result = range.contains(rangeSec); ``` @@ -1638,11 +1638,11 @@ clamp(value: ScopeType): ScopeType **示例:** ```js - var tempLower = new Temperature(30); - var tempUpper = new Temperature(40); - var tempMiDF = new Temperature(35); - var range = new util.Scope(tempLower, tempUpper); - var result = range.clamp(tempMiDF); + let tempLower = new Temperature(30); + let tempUpper = new Temperature(40); + let tempMiDF = new Temperature(35); + let range = new util.Scope(tempLower, tempUpper); + let result = range.clamp(tempMiDF); ``` @@ -1659,7 +1659,7 @@ Base64的构造函数。 **示例:** ```js - var base64 = new util.Base64(); + let base64 = new util.Base64(); ``` @@ -1685,9 +1685,9 @@ encodeSync(src: Uint8Array): Uint8Array **示例:** ```js - var that = new util.Base64(); - var array = new Uint8Array([115,49,51]); - var result = that.encodeSync(array); + let that = new util.Base64(); + let array = new Uint8Array([115,49,51]); + let result = that.encodeSync(array); ``` @@ -1713,9 +1713,9 @@ encodeToStringSync(src: Uint8Array): string **示例:** ```js - var that = new util.Base64(); - var array = new Uint8Array([115,49,51]); - var result = that.encodeToStringSync(array); + let that = new util.Base64(); + let array = new Uint8Array([115,49,51]); + let result = that.encodeToStringSync(array); ``` @@ -1741,9 +1741,9 @@ decodeSync(src: Uint8Array | string): Uint8Array **示例:** ```js - var that = new util.Base64(); - var buff = 'czEz'; - var result = that.decodeSync(buff); + let that = new util.Base64(); + let buff = 'czEz'; + let result = that.decodeSync(buff); ``` @@ -1769,9 +1769,9 @@ encode(src: Uint8Array): Promise<Uint8Array> **示例:** ```js - var that = new util.Base64(); - var array = new Uint8Array([115,49,51]); - var rarray = new Uint8Array([99,122,69,122]); + let that = new util.Base64(); + let array = new Uint8Array([115,49,51]); + let rarray = new Uint8Array([99,122,69,122]); that.encode(array).then(val=>{ for (var i = 0; i < rarray.length; i++) { console.log(val[i].toString()) @@ -1802,8 +1802,8 @@ encodeToString(src: Uint8Array): Promise<string> **示例:** ```js - var that = new util.Base64(); - var array = new Uint8Array([115,49,51]); + let that = new util.Base64(); + let array = new Uint8Array([115,49,51]); that.encodeToString(array).then(val=>{ console.log(val) }) @@ -1832,9 +1832,9 @@ decode(src: Uint8Array | string): Promise<Uint8Array> **示例:** ```js - var that = new util.Base64(); - var array = new Uint8Array([99,122,69,122]); - var rarray = new Uint8Array([115,49,51]); + let that = new util.Base64(); + let array = new Uint8Array([99,122,69,122]); + let rarray = new Uint8Array([115,49,51]); that.decode(array).then(val=>{ for (var i = 0; i < rarray.length; i++) { console.log(val[i].toString()) @@ -1856,7 +1856,7 @@ Types的构造函数。 **示例:** ```js - var type = new util.types(); + let type = new util.types(); ``` @@ -1882,8 +1882,8 @@ isAnyArrayBuffer(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isAnyArrayBuffer(new ArrayBuffer(0)); + let that = new util.types(); + let result = that.isAnyArrayBuffer(new ArrayBuffer(0)); ``` @@ -1911,8 +1911,8 @@ ArrayBufferView辅助类型包括:Int8Array、Int16Array、Int32Array、Uint8A **示例:** ```js - var that = new util.types(); - var result = that.isArrayBufferView(new Int8Array([])); + let that = new util.types(); + let result = that.isArrayBufferView(new Int8Array([])); ``` @@ -1938,11 +1938,11 @@ isArgumentsObject(value: Object): boolean **示例:** ```js - var that = new util.types(); + let that = new util.types(); function foo() { var result = that.isArgumentsObject(arguments); } - var f = foo(); + let f = foo(); ``` @@ -1968,8 +1968,8 @@ isArrayBuffer(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isArrayBuffer(new ArrayBuffer(0)); + let that = new util.types(); + let result = that.isArrayBuffer(new ArrayBuffer(0)); ``` @@ -1995,8 +1995,8 @@ isAsyncFunction(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isAsyncFunction(async function foo() {}); + let that = new util.types(); + let result = that.isAsyncFunction(async function foo() {}); ``` @@ -2022,8 +2022,8 @@ isBooleanObject(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isBooleanObject(new Boolean(true)); + let that = new util.types(); + let result = that.isBooleanObject(new Boolean(true)); ``` @@ -2049,8 +2049,8 @@ isBoxedPrimitive(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isBoxedPrimitive(new Boolean(false)); + let that = new util.types(); + let result = that.isBoxedPrimitive(new Boolean(false)); ``` @@ -2076,9 +2076,9 @@ isDataView(value: Object): boolean **示例:** ```js - var that = new util.types(); + let that = new util.types(); const ab = new ArrayBuffer(20); - var result = that.isDataView(new DataView(ab)); + let result = that.isDataView(new DataView(ab)); ``` @@ -2104,8 +2104,8 @@ isDate(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isDate(new Date()); + let that = new util.types(); + let result = that.isDate(new Date()); ``` @@ -2131,8 +2131,8 @@ isExternal(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isExternal(true); + let that = new util.types(); + let result = that.isExternal(true); ``` @@ -2158,8 +2158,8 @@ isFloat32Array(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isFloat32Array(new Float32Array()); + let that = new util.types(); + let result = that.isFloat32Array(new Float32Array()); ``` @@ -2185,8 +2185,8 @@ isFloat64Array(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isFloat64Array(new Float64Array()); + let that = new util.types(); + let result = that.isFloat64Array(new Float64Array()); ``` @@ -2212,8 +2212,8 @@ isGeneratorFunction(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isGeneratorFunction(function* foo() {}); + let that = new util.types(); + let result = that.isGeneratorFunction(function* foo() {}); ``` @@ -2239,10 +2239,10 @@ isGeneratorObject(value: Object): boolean **示例:** ```js - var that = new util.types(); + let that = new util.types(); function* foo() {} const generator = foo(); - var result = that.isGeneratorObject(generator); + let result = that.isGeneratorObject(generator); ``` @@ -2268,8 +2268,8 @@ isInt8Array(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isInt8Array(new Int8Array([])); + let that = new util.types(); + let result = that.isInt8Array(new Int8Array([])); ``` @@ -2295,8 +2295,8 @@ isInt16Array(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isInt16Array(new Int16Array([])); + let that = new util.types(); + let result = that.isInt16Array(new Int16Array([])); ``` @@ -2322,8 +2322,8 @@ isInt32Array(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isInt32Array(new Int32Array([])); + let that = new util.types(); + let result = that.isInt32Array(new Int32Array([])); ``` @@ -2349,8 +2349,8 @@ isMap(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isMap(new Map()); + let that = new util.types(); + let result = that.isMap(new Map()); ``` @@ -2376,9 +2376,9 @@ isMapIterator(value: Object): boolean **示例:** ```js - var that = new util.types(); + let that = new util.types(); const map = new Map(); - var result = that.isMapIterator(map.keys()); + let result = that.isMapIterator(map.keys()); ``` @@ -2404,8 +2404,8 @@ isNativeError(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isNativeError(new TypeError()); + let that = new util.types(); + let result = that.isNativeError(new TypeError()); ``` @@ -2431,8 +2431,8 @@ isNumberObject(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isNumberObject(new Number(0)); + let that = new util.types(); + let result = that.isNumberObject(new Number(0)); ``` @@ -2458,8 +2458,8 @@ isPromise(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isPromise(Promise.resolve(1)); + let that = new util.types(); + let result = that.isPromise(Promise.resolve(1)); ``` @@ -2485,10 +2485,10 @@ isProxy(value: Object): boolean **示例:** ```js - var that = new util.types(); + let that = new util.types(); const target = {}; const proxy = new Proxy(target, {}); - var result = that.isProxy(proxy); + let result = that.isProxy(proxy); ``` @@ -2514,8 +2514,8 @@ isRegExp(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isRegExp(new RegExp('abc')); + let that = new util.types(); + let result = that.isRegExp(new RegExp('abc')); ``` @@ -2541,8 +2541,8 @@ isSet(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isSet(new Set()); + let that = new util.types(); + let result = that.isSet(new Set()); ``` @@ -2568,9 +2568,9 @@ isSetIterator(value: Object): boolean **示例:** ```js - var that = new util.types(); + let that = new util.types(); const set = new Set(); - var result = that.isSetIterator(set.keys()); + let result = that.isSetIterator(set.keys()); ``` @@ -2596,8 +2596,8 @@ isStringObject(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isStringObject(new String('foo')); + let that = new util.types(); + let result = that.isStringObject(new String('foo')); ``` @@ -2623,9 +2623,9 @@ isSymbolObject(value: Object): boolean **示例:** ```js - var that = new util.types(); + let that = new util.types(); const symbols = Symbol('foo'); - var result = that.isSymbolObject(Object(symbols)); + let result = that.isSymbolObject(Object(symbols)); ``` @@ -2653,8 +2653,8 @@ TypedArray类型的辅助类型,包括Int8Array、Int16Array、Int32Array、Ui **示例:** ```js - var that = new util.types(); - var result = that.isTypedArray(new Float64Array([])); + let that = new util.types(); + let result = that.isTypedArray(new Float64Array([])); ``` @@ -2680,8 +2680,8 @@ isUint8Array(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isUint8Array(new Uint8Array([])); + let that = new util.types(); + let result = that.isUint8Array(new Uint8Array([])); ``` @@ -2707,8 +2707,8 @@ isUint8ClampedArray(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isUint8ClampedArray(new Uint8ClampedArray([])); + let that = new util.types(); + let result = that.isUint8ClampedArray(new Uint8ClampedArray([])); ``` @@ -2734,8 +2734,8 @@ isUint16Array(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isUint16Array(new Uint16Array([])); + let that = new util.types(); + let result = that.isUint16Array(new Uint16Array([])); ``` @@ -2761,8 +2761,8 @@ isUint32Array(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isUint32Array(new Uint32Array([])); + let that = new util.types(); + let result = that.isUint32Array(new Uint32Array([])); ``` @@ -2788,8 +2788,8 @@ isWeakMap(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isWeakMap(new WeakMap()); + let that = new util.types(); + let result = that.isWeakMap(new WeakMap()); ``` @@ -2815,8 +2815,8 @@ isWeakSet(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isWeakSet(new WeakSet()); + let that = new util.types(); + let result = that.isWeakSet(new WeakSet()); ``` @@ -2842,8 +2842,8 @@ isBigInt64Array(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isBigInt64Array(new BigInt64Array([])); + let that = new util.types(); + let result = that.isBigInt64Array(new BigInt64Array([])); ``` @@ -2869,8 +2869,8 @@ isBigUint64Array(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isBigUint64Array(new BigUint64Array([])); + let that = new util.types(); + let result = that.isBigUint64Array(new BigUint64Array([])); ``` @@ -2897,8 +2897,8 @@ isModuleNamespaceObject(value: Object): boolean **示例:** ```js import url from '@ohos.url' - var that = new util.types(); - var result = that.isModuleNamespaceObject(url); + let that = new util.types(); + let result = that.isModuleNamespaceObject(url); ``` @@ -2924,6 +2924,6 @@ isSharedArrayBuffer(value: Object): boolean **示例:** ```js - var that = new util.types(); - var result = that.isSharedArrayBuffer(new SharedArrayBuffer(0)); + let that = new util.types(); + let result = that.isSharedArrayBuffer(new SharedArrayBuffer(0)); ``` \ No newline at end of file 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 7d573cf82dd1203054dc4aaec9465ebfd003971f..1e17a2ecff74754a1ef1a086777d7118b7161175 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-xml.md +++ b/zh-cn/application-dev/reference/apis/js-apis-xml.md @@ -31,9 +31,9 @@ XmlSerializer的构造函数。 **示例:** ```js -var arrayBuffer = new ArrayBuffer(1024); -var bufView = new DataView(arrayBuffer); -var thatSer = new xml.XmlSerializer(bufView); +let arrayBuffer = new ArrayBuffer(1024); +let bufView = new DataView(arrayBuffer); +let thatSer = new xml.XmlSerializer(bufView); ``` @@ -55,9 +55,9 @@ setAttributes(name: string, value: string): void **示例:** ```js -var arrayBuffer = new ArrayBuffer(1024); -var bufView = new DataView(arrayBuffer); -var thatSer = new xml.XmlSerializer(bufView); +let arrayBuffer = new ArrayBuffer(1024); +let bufView = new DataView(arrayBuffer); +let thatSer = new xml.XmlSerializer(bufView); thatSer.setAttributes("importance", "high"); ``` @@ -79,9 +79,9 @@ addEmptyElement(name: string): void **示例:** ```js -var arrayBuffer = new ArrayBuffer(1024); -var bufView = new DataView(arrayBuffer); -var thatSer = new xml.XmlSerializer(bufView); +let arrayBuffer = new ArrayBuffer(1024); +let bufView = new DataView(arrayBuffer); +let thatSer = new xml.XmlSerializer(bufView); thatSer.addEmptyElement("b"); // => ``` @@ -97,9 +97,9 @@ setDeclaration(): void **示例:** ```js -var arrayBuffer = new ArrayBuffer(1024); -var bufView = new DataView(arrayBuffer); -var thatSer = new xml.XmlSerializer(bufView); +let arrayBuffer = new ArrayBuffer(1024); +let bufView = new DataView(arrayBuffer); +let thatSer = new xml.XmlSerializer(bufView); thatSer.setDeclaration() // => ; ``` @@ -121,8 +121,8 @@ startElement(name: string): void **示例:** ```js -var arrayBuffer = new ArrayBuffer(1024); -var thatSer = new xml.XmlSerializer(arrayBuffer); +let arrayBuffer = new ArrayBuffer(1024); +let thatSer = new xml.XmlSerializer(arrayBuffer); thatSer.startElement("notel"); thatSer.endElement();// => ''; ``` @@ -139,9 +139,9 @@ endElement(): void **示例:** ```js -var arrayBuffer = new ArrayBuffer(1024); -var bufView = new DataView(arrayBuffer); -var thatSer = new xml.XmlSerializer(bufView); +let arrayBuffer = new ArrayBuffer(1024); +let bufView = new DataView(arrayBuffer); +let thatSer = new xml.XmlSerializer(bufView); thatSer.setNamespace("h", "http://www.w3.org/TR/html4/"); thatSer.startElement("table"); thatSer.setAttributes("importance", "high"); @@ -168,8 +168,8 @@ setNamespace(prefix: string, namespace: string): void **示例:** ```js -var arrayBuffer = new ArrayBuffer(1024); -var thatSer = new xml.XmlSerializer(arrayBuffer); +let arrayBuffer = new ArrayBuffer(1024); +let thatSer = new xml.XmlSerializer(arrayBuffer); thatSer.setDeclaration(); thatSer.setNamespace("h", "http://www.w3.org/TR/html4/"); thatSer.startElement("note"); @@ -193,8 +193,8 @@ setComment(text: string): void **示例:** ```js -var arrayBuffer = new ArrayBuffer(1024); -var thatSer = new xml.XmlSerializer(arrayBuffer); +let arrayBuffer = new ArrayBuffer(1024); +let thatSer = new xml.XmlSerializer(arrayBuffer); thatSer.startElement("note"); thatSer.setComment("Hi!"); thatSer.endElement(); // => '\r\n \r\n'; @@ -218,8 +218,8 @@ setCDATA(text: string): void **示例:** ```js -var arrayBuffer = new ArrayBuffer(1028); -var thatSer = new xml.XmlSerializer(arrayBuffer); +let arrayBuffer = new ArrayBuffer(1028); +let thatSer = new xml.XmlSerializer(arrayBuffer); thatSer.setCDATA('root SYSTEM') // => ''; ``` @@ -241,8 +241,8 @@ setText(text: string): void **示例:** ```js -var arrayBuffer = new ArrayBuffer(1024); -var thatSer = new xml.XmlSerializer(arrayBuffer); +let arrayBuffer = new ArrayBuffer(1024); +let thatSer = new xml.XmlSerializer(arrayBuffer); thatSer.startElement("note"); thatSer.setAttributes("importance", "high"); thatSer.setText("Happy1"); @@ -267,8 +267,8 @@ setDocType(text: string): void **示例:** ```js -var arrayBuffer = new ArrayBuffer(1024); -var thatSer = new xml.XmlSerializer(arrayBuffer); +let arrayBuffer = new ArrayBuffer(1024); +let thatSer = new xml.XmlSerializer(arrayBuffer); thatSer.setDocType('root SYSTEM'); // => ''; ``` @@ -294,20 +294,20 @@ constructor(buffer: ArrayBuffer | DataView, encoding?: string) **示例:** ```js -var strXml = +let strXml = '' + '' + ' Happy' + ' Work' + ' Play' + ''; -var arrayBuffer = new ArrayBuffer(strXml.length); -var bufView = new Uint8Array(arrayBuffer); -var strLen = strXml.length; +let arrayBuffer = new ArrayBuffer(strXml.length); +let bufView = new Uint8Array(arrayBuffer); +let strLen = strXml.length; for (var i = 0; i < strLen; ++i) { bufView[i] = strXml.charCodeAt(i);//设置arraybuffer方式 } -var that = new xml.XmlPullParser(arrayBuffer); +let that = new xml.XmlPullParser(arrayBuffer); ``` @@ -328,30 +328,30 @@ parse(option: ParseOptions): void **示例:** ```js -var strXml = +let strXml = '' + '' + ' Happy' + ' Work' + ' Play' + ''; -var arrayBuffer = new ArrayBuffer(strXml.length); -var bufView = new Uint8Array(arrayBuffer); -var strLen = strXml.length; +let arrayBuffer = new ArrayBuffer(strXml.length); +let bufView = new Uint8Array(arrayBuffer); +let strLen = strXml.length; for (var i = 0; i < strLen; ++i) { bufView[i] = strXml.charCodeAt(i); } -var that = new xml.XmlPullParser(arrayBuffer); -var arrTag = {}; -var str = ""; -var i = 0; +let that = new xml.XmlPullParser(arrayBuffer); +let arrTag = {}; +let str = ""; +let i = 0; function func(key, value){ arrTag[i] = 'key:'+key+' value:'+ value.getDepth(); str += arrTag[i]; i++; return true; // Determines whether to continuely parse, which is used to continue or terminate parsing. } -var options = {supportDoctype:true, ignoreNameSpace:true, tokenValueCallbackFunction:func} +let options = {supportDoctype:true, ignoreNameSpace:true, tokenValueCallbackFunction:func} that.parse(options); console.log(str); // 输出: diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-marquee.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-marquee.md index eae2b01713e67271edcb927b13e7c00ae770e0a0..e1bb411247a8294c28d38942e88233195671fbab 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-marquee.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-marquee.md @@ -22,7 +22,7 @@ Marquee(value: { start: boolean, step?: number, loop?: number, fromStart?: boole | 参数名 | 参数类型 | 必填 | 参数描述 | | -------- | -------- | -------- | -------- | | start | boolean | 是 | 控制跑马灯是否进入播放状态。 | -| step | number | 否 | 滚动动画文本滚动步长。
默认值:6vp | +| step | number | 否 | 滚动动画文本滚动步长。
默认值:6,单位vp | | loop | number | 否 | 设置重复滚动的次数,小于等于零时无限循环。
默认值:-1 | | fromStart | boolean | 否 | 设置文本从头开始滚动或反向滚动。
默认值:true | | src | string | 是 | 需要滚动的文本。 | @@ -84,7 +84,7 @@ struct MarqueeExample { Button('start') .onClick(() => { this.start = true - }) + }) .width(200) .height(60) .margin({bottom:20}) diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-basic-gestures-tapgesture.md b/zh-cn/application-dev/reference/arkui-ts/ts-basic-gestures-tapgesture.md index 83f769f07188777f1a2f0775cb40f07ef7a53394..68b27342c2b9fcc3cd267988c9b9fb6f601c05cf 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-basic-gestures-tapgesture.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-basic-gestures-tapgesture.md @@ -23,7 +23,7 @@ TapGesture(value?: { count?: number, fingers?: number }) | 名称 | 功能描述 | | -------- | -------- | -| onAction(event: (event?: GestureEvent) => void) | Tap手势识别成功回调。 | +| onAction(event: (event?: [GestureEvent](ts-gesture-settings.md)) => void) | Tap手势识别成功回调。 | ## 示例 diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-container-badge.md b/zh-cn/application-dev/reference/arkui-ts/ts-container-badge.md index 8f2a910b2c9d77290d39fd9ab8cea07acd445b09..1e68ee635c0ec903f556bbf68342ca5a57438b07 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-container-badge.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-container-badge.md @@ -23,12 +23,12 @@ 创建数字标记组件。 **参数:** - | 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | - | -------- | -------- | -------- | -------- | -------- | - | count | number | 是 | - | 设置提醒消息数。 | - | position | BadgePosition | 否 | BadgePosition.RightTop | 设置提示点显示位置。 | - | maxCount | number | 否 | 99 | 最大消息数,超过最大消息时仅显示maxCount+。 | - | style | BadgeStyle | 是 | - | Badge组件可设置样式,支持设置文本颜色、尺寸、圆点颜色和尺寸。 | +| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | +| -------- | -------- | -------- | -------- | -------- | +| count | number | 是 | - | 设置提醒消息数。 | +| position | BadgePosition | 否 | BadgePosition.RightTop | 设置提示点显示位置。 | +| maxCount | number | 否 | 99 | 最大消息数,超过最大消息时仅显示maxCount+。 | +| style | BadgeStyle | 是 | - | Badge组件可设置样式,支持设置文本颜色、尺寸、圆点颜色和尺寸。 | 方法2: Badge(value: {value: string, position?: BadgePosition, style: BadgeStyle}) @@ -92,7 +92,7 @@ struct BadgeExample { Badge({ value: ' ', - position: 1, + position: BadgePosition.Right, style: { badgeSize: 6, badgeColor: Color.Red } }) { Text('message') diff --git a/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-gradient-color.md b/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-gradient-color.md index 69a874ba84308f42b672311959575cffadf31155..abc458e88813ddd0fe6fa2f68364c765d00f5cf7 100644 --- a/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-gradient-color.md +++ b/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-gradient-color.md @@ -17,9 +17,9 @@ | 名称 | 参数类型 | 默认值 | 描述 | | -------- | -------- | -------- | -------- | -| linearGradient | {
angle?: number \| string,
direction?: [GradientDirection](ts-appendix-enums.md#gradientdirection),
colors: Array<[ColorStop](ts-types.md)>
, repeating?: boolean
} | - | 线性渐变。
angle: 线性渐变的角度。
direction: 线性渐变的方向,设置angle后不生效。
colors: 为渐变的颜色描述。
repeating: 为渐变的颜色重复着色。 | -| sweepGradient | {
center: Point,
start?: number \| string,
end?: number \| string,
colors: Array<[ColorStop](ts-types.md)>
, repeating?: boolean
} | - | 角度渐变。
center:为角度渐变的中心点。
start:角度渐变的起点。
end:角度渐变的终点。
colors: 为渐变的颜色描述。
repeating: 为渐变的颜色重复着色。 | -| radialGradient | {
center: Point,
radius: number \| string,
colors: Array<[ColorStop](ts-types.md)>
, repeating: boolean
} | - | 径向渐变。
center:径向渐变的中心点。
radius:径向渐变的半径。
colors: 为渐变的颜色描述。
repeating: 为渐变的颜色重复着色。 | +| linearGradient | {
angle?: number \| string,
direction?: [GradientDirection](ts-appendix-enums.md#gradientdirection),
colors: Array<[ColorStop](ts-basic-components-gauge.md#colorstop)>,
repeating?: boolean
} | - | 线性渐变。
angle: 线性渐变的角度。
direction: 线性渐变的方向,设置angle后不生效。
colors: 为渐变的颜色描述。
repeating: 为渐变的颜色重复着色。 | +| sweepGradient | {
center: Point,
start?: number \| string,
end?: number \| string,
rotation?: number\|string,
colors: Array<[ColorStop](ts-basic-components-gauge.md#colorstop)>,
repeating?: boolean
} | - | 角度渐变。
center:为角度渐变的中心点。
start:角度渐变的起点。
end:角度渐变的终点。
rotation: 角度渐变的旋转角度。
colors: 为渐变的颜色描述。
repeating: 为渐变的颜色重复着色。 | +| radialGradient | {
center: Point,
radius: number \| string,
colors: Array<[ColorStop](ts-basic-components-gauge.md#colorstop)>,
repeating?: boolean
} | - | 径向渐变。
center:径向渐变的中心点。
radius:径向渐变的半径。
colors: 为渐变的颜色描述。
repeating: 为渐变的颜色重复着色。 | ## 示例 diff --git a/zh-cn/application-dev/ui/ui-ts-layout-grid-container.md b/zh-cn/application-dev/ui/ui-ts-layout-grid-container.md index f704864a0d06017cd72fd67752caa776ef2145f6..e2cb433592b7c5e3c6240bcce1dbae9d4c6564bf 100644 --- a/zh-cn/application-dev/ui/ui-ts-layout-grid-container.md +++ b/zh-cn/application-dev/ui/ui-ts-layout-grid-container.md @@ -70,7 +70,7 @@ Text('1') .useSizeType({ xs: { span: 2, offset: 0 }, - sm: { span: 2, offset: 0 }, + sm: { span: 3, offset: 0 }, md: { span: 6, offset: 2 }, lg: { span: 8, offset: 2 }, }) @@ -90,7 +90,7 @@ GridContainer() { Text('1') .useSizeType({ xs: { span: 2, offset: 0 }, - sm: { span: 0, offset: 0 }, + sm: { span: 2, offset: 0 }, md: { span: 6, offset: 2 }, lg: { span: 8, offset: 2 }, }) diff --git a/zh-cn/contribute/template/ts-template.md b/zh-cn/contribute/template/ts-template.md index 0eb2d04107f5c2ce0d250cc2cc2866b232d6f8df..bd2076bc45b2f23fc98729df97c4a9415099ddc4 100644 --- a/zh-cn/contribute/template/ts-template.md +++ b/zh-cn/contribute/template/ts-template.md @@ -15,9 +15,9 @@ | 9 | 权限说明 | 以二级标题的形式,标题名为“需要权限”
1. 如果仅系统应用可申请,格式:
ohos.permission.xxxx,仅系统应用可用。
2. 如果该权限所有应用可申请,格式:
ohos.permission.xxxx
3. 如果该接口涉及多个权限,则采用“和、或”进行分割,格式:
ohos.permission.A 和 ohos.permission.B
ohos.permission.A 或 ohos.permission.B | | 10 | @system api | 1. 如果某个模块全部接口均为system api,则在模块开头的版本说明下一行,增加:
- 本模块接口为系统接口。
2. 如果某个接口为system api,仅供OEM厂商使用,则需要在描述中增加:
**系统接口:** 此接口为系统接口。 | | 11 | 示例代码语言 | 所有的示例代码采用代码块的样式,并标记开发语言为ts,且在示例代码最开始添加注释`// xxx.ets` | -| 12 | 链接写法 | 格式:[链接文字]\(链接内容)
跨文件夹链接:[指南]\(\.\./../xxx/xxx.md),一个`../`表示上移一层文件夹。
页面内链接:[接口A7+]\(#xxxa7),页面内链接和需要链接到的标题保持一致,全小写无特殊符号无标签。 | +| 12 | 链接写法 | 格式:[链接文字]\(链接内容)
跨文件夹链接:[指南]\(\.\./../xxx/xxx.md),一个`../`表示上移一层文件夹。
页面内链接:[接口A7+]\(#xxxa7),页面内链接和需要链接到的标题保持一致,全小写无特殊符号(-除外)无标签。 | -下面进入具体每个API的写作。 +下面进入具体每个组件接口的写作。 *** @@ -25,7 +25,7 @@ > *写作说明* > -> 1. **文档标题**:作为文档标题,要求使用中文短语概括本组件功能;但如果部分概念使用英文更便于开发者理解,可以直接使用。如Button、Silder等。 +> 1. **文档标题**:作为文档标题,要求使用中文短语概括本组件功能;但如果部分概念使用英文更便于开发者理解,可以直接使用。如Button、Slider等。 > 2. **标题层级**:文档标题为一级标题,使用`# `;其他字段如function、class、interface、enum、type为二级标题,使用`## `;class下的属性、function为三级标题,使用`### `。 > 3. **起始版本说明**:使用markdown的引用语法“>”对接口的起始版本进行说明,说明后需要换行。
版本说明统一放在模块描述之后。一个模块只会有一个起始版本。
采用标准句式:“本模块首批接口从API version x开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。”x需要修改为对应的版本号。 @@ -43,7 +43,7 @@ **举例1**:Marquee -跑马灯组件,用于滚动展示一段单行文本,仅当文本内容宽度朝国跑马灯组件宽度时滚动。 +跑马灯组件,用于滚动展示一段单行文本,仅当文本内容宽度超过跑马灯组件宽度时滚动。 **举例2**:SideBarContainer diff --git a/zh-cn/design/hdi-design-specifications.md b/zh-cn/design/hdi-design-specifications.md index 03d9969594a2482bbb2e4c44fb7608309e4f6c51..5b20dd0799214d46a45197f8a4eb3b87b6628c3c 100644 --- a/zh-cn/design/hdi-design-specifications.md +++ b/zh-cn/design/hdi-design-specifications.md @@ -14,11 +14,11 @@ **用词约定:** -规则:必须遵守的约定 +规则:必须遵守的约定。 -建议:需要加以考虑的约定 +建议:需要加以考虑的约定。 -说明:对此规则或建议进行相应的解释 +说明:对此规则或建议进行相应的解释。 **文档变更说明:** | 版本 | 变更说明 | @@ -132,7 +132,7 @@ Table 1 接口评审&管控角色 - 对废弃接口增加标识废弃标记。 - - 废弃HDI至少保留4个OpenHarmony API版本 + - 废弃HDI至少保留4个OpenHarmony API版本。 ## 接口设计约束 @@ -158,7 +158,7 @@ Table 1 接口评审&管控角色 int (*OpenLayer)(uint32_t devId, const LayerInfo *layerInfo, uint32_t *layerId); ``` -在调用OpenLayer接口时,根据入参layerInfo创建图层数据内存,并返回layerId +在调用OpenLayer接口时,根据入参layerInfo创建图层数据内存,并返回layerId; ```cpp int (*CloseLayer)(uint32_t devId, uint32_t layerId); @@ -216,14 +216,14 @@ void WriteReady(); #### 【规则】类、结构体、接口方法、参数等采用驼峰命名风格 __驼峰风格(CamelCase)__ 大小写字母混用,单词连在一起,不同单词间通过单词首字母大写来分开。 -按连接后的首字母是否大写,又分: 大驼峰(UpperCamelCase)和小驼峰(lowerCamelCase) +按连接后的首字母是否大写,又分: 大驼峰(UpperCamelCase)和小驼峰(lowerCamelCase)。 | 类型 | 命名风格 | | ---------------------------------------- | --------- | | 接口类型,接口方法,结构体类型,枚举类型,联合体类型等类型定义 | 大驼峰 | | 函数参数,结构体和联合体中的成员变量 | 小驼峰 | -| 常量,枚举值 | 全大写,下划线分割 | +| 常量,枚举值 | 全大写,以下划线分割 | #### 【规则】接口文件应与接口类同名且使用'.idl'文件后缀 - 每个接口类应定义在独立的接口文件中,并使文件命名与接口类保持一致(大驼峰命名),并以`.idl`后缀结尾。 diff --git a/zh-cn/device-dev/quick-start/quickstart-ide-standard-running-rk3568-burning.md b/zh-cn/device-dev/quick-start/quickstart-ide-standard-running-rk3568-burning.md index 83a47bd474a7cd364e8365801c87c9c8cc54bd10..52365db0887c7792c76fee7de2a14f0da820279a 100644 --- a/zh-cn/device-dev/quick-start/quickstart-ide-standard-running-rk3568-burning.md +++ b/zh-cn/device-dev/quick-start/quickstart-ide-standard-running-rk3568-burning.md @@ -3,7 +3,7 @@ 烧录是指将编译后的程序文件下载到芯片开发板上的动作,为后续的程序调试提供基础。DevEco Device Tool提供一键烧录功能,操作简单,能快捷、高效的完成程序烧录,提升烧录的效率。 -RK3568的镜像烧录通过Winodow环境进行烧录,开发者启动烧录操作后,DevEco Device Tool通过Remote远程模式,将Ubuntu环境下编译生成的带烧录程序文件拷贝至Windows目录下,然后通过Windows的烧录工具将程序文件烧录至开发板中。 +RK3568的镜像烧录通过Windows环境进行烧录,开发者启动烧录操作后,DevEco Device Tool通过Remote远程模式,将Ubuntu环境下编译生成的带烧录程序文件拷贝至Windows目录下,然后通过Windows的烧录工具将程序文件烧录至开发板中。 1. [下载](https://gitee.com/hihope_iot/docs/blob/master/HiHope_DAYU200/%E7%83%A7%E5%86%99%E5%B7%A5%E5%85%B7%E5%8F%8A%E6%8C%87%E5%8D%97/windows/DriverAssitant_v5.1.1.zip)并安装驱动DriverInstall.exe。 diff --git "a/zh-cn/readme/AI\344\270\232\345\212\241\345\255\220\347\263\273\347\273\237.md" "b/zh-cn/readme/AI\344\270\232\345\212\241\345\255\220\347\263\273\347\273\237.md" index 8e062d1450bace80dad9f071044b54c3a64b94a4..8f34ff92d49e53bc40e7ba54fa86a5adb5301271 100644 --- "a/zh-cn/readme/AI\344\270\232\345\212\241\345\255\220\347\263\273\347\273\237.md" +++ "b/zh-cn/readme/AI\344\270\232\345\212\241\345\255\220\347\263\273\347\273\237.md" @@ -420,7 +420,7 @@ AI业务子系统是OpenHarmony提供原生的分布式AI能力的子系统。 [ai_engine](https://gitee.com/openharmony/ai_engine) -依赖仓: +## 依赖仓: [build\_lite](https://gitee.com/openharmony/build_lite/blob/master/README_zh.md) @@ -430,4 +430,4 @@ AI业务子系统是OpenHarmony提供原生的分布式AI能力的子系统。 ## AI引擎开发导航 -[《AI插件开发指南》](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-aiframework-guide.md) \ No newline at end of file +[《AI插件开发指南》](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-ai-aiframework-devguide.md) \ No newline at end of file diff --git "a/zh-cn/readme/\347\224\250\346\210\267IAM\345\255\220\347\263\273\347\273\237.md" "b/zh-cn/readme/\347\224\250\346\210\267IAM\345\255\220\347\263\273\347\273\237.md" index f7f7393731dfdea1b4a5252b72e12ab9a6425964..2a5c008647203981e2da766e24c29bb14173d476 100644 --- "a/zh-cn/readme/\347\224\250\346\210\267IAM\345\255\220\347\263\273\347\273\237.md" +++ "b/zh-cn/readme/\347\224\250\346\210\267IAM\345\255\220\347\263\273\347\273\237.md" @@ -10,7 +10,7 @@ ## 简介 -用户身份和访问管理子系统,下称用户IAM(Identity and Access Management),旨在为OpenHarmony提供的统一用户身份凭据信息管理和用户身份认证框架能力,支持多用户分别设置认证凭据信息,并根据用户设置的认证凭据信息提供用户身份认证功能,支撑锁屏等安全场景。同时,用户IAM子系统也提供API,支持三方开发者调用系统提供的身份认证能力来实现业务对用户的访问控制要求。 +用户身份和访问管理子系统,下称用户IAM(Identity and Access Management),旨在为OpenHarmony提供统一用户身份凭据信息管理和用户身份认证框架能力,支持多用户分别设置认证凭据信息,并根据用户设置的认证凭据信息提供用户身份认证功能,支撑锁屏等安全场景。同时,用户IAM子系统也提供API,支持三方开发者调用系统提供的身份认证能力来实现业务对用户的访问控制要求。 **图1** 子系统架构图 diff --git "a/zh-cn/readme/\347\263\273\347\273\237\346\234\215\345\212\241\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237.md" "b/zh-cn/readme/\347\263\273\347\273\237\346\234\215\345\212\241\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237.md" index 26b7704d75d1c3ebfba4954a3cb01540528f5e66..5ea0532010f044a487917f4a50bcfd66e8a11152 100755 --- "a/zh-cn/readme/\347\263\273\347\273\237\346\234\215\345\212\241\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237.md" +++ "b/zh-cn/readme/\347\263\273\347\273\237\346\234\215\345\212\241\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237.md" @@ -1,23 +1,36 @@ # 系统服务管理子系统 -- [系统服务管理子系统](#系统服务管理子系统) - - [简介](#简介) - - [系统架构](#系统架构) - - [目录](#目录) - - [相关仓](#相关仓) - ## 简介 系统服务管理子系统实现系统服务框架,提供系统服务的启动、注册、查询功能,提供查询跨设备的分布式系统服务。 - ## 系统架构 +系统服务管理子系统架构如下图所示。 + **图 1** 子系统架构图 ![](figures/samgr-architecture.png) +系统服务管理子系统主要包含四个组件: + +- safwk组件 + + 在系统服务管理子系统中safwk组件定义OpenHarmony中SystemAbility的实现方法,并提供启动、注册等接口实现。 + +- samgr组件 + + OpenHarmony的核心组件,提供OpenHarmony系统服务启动、注册、查询等功能。 + +- safwk_lite组件 + + 轻量foundation进程实现,负责提供基础服务运行的空进程。 + +- samgr_lite组件 + + 轻量系统服务管理模块,主要提供服务的注册与发现能力。 + ## 目录 ``` diff --git a/zh-cn/website.md b/zh-cn/website.md index 590555164ab73554048b57c2f42db2963af800f8..6171cc9bfc7fba331873424b1f86b7adade5f129 100644 --- a/zh-cn/website.md +++ b/zh-cn/website.md @@ -30,7 +30,7 @@ - API差异报告 - - OpenHamrony 3.2 Beta2 + - OpenHarmony 3.2 Beta2 - JS API差异报告 - [元能力](release-notes/api-change/v3.2-beta2/js-apidiff-ability.md) - [无障碍](release-notes/api-change/v3.2-beta2/js-apidiff-accessibility.md)