diff --git a/zh-cn/application-dev/dfx/hiappevent-overview.md b/zh-cn/application-dev/dfx/hiappevent-overview.md index 2075f94f3c37e3d2fe5619676dfc5eb472fb589a..eae75265f51d03ee3c72d3b551a974a8c4366b67 100644 --- a/zh-cn/application-dev/dfx/hiappevent-overview.md +++ b/zh-cn/application-dev/dfx/hiappevent-overview.md @@ -4,7 +4,7 @@ HiAppEvent提供了应用事件打点接口,为应用提供事件打点的功 ## 基本概念 -OpenHarmony系统HiAppEvent模块支持应用事件业务的开发,提供应用事件相关的功能,主要包括应用事件落盘、查询历史应用事件数据等功能。 +HiAppEvent模块支持应用事件业务的开发,提供应用事件相关的功能,主要包括应用事件落盘、查询历史应用事件数据等功能。 - **打点** diff --git a/zh-cn/application-dev/media/audio-management.md b/zh-cn/application-dev/media/audio-management.md index 32846506db59fb5daa9f0e13307dfcef80323f01..8e084efb8116238ae125bd09e231b304420b03e1 100644 --- a/zh-cn/application-dev/media/audio-management.md +++ b/zh-cn/application-dev/media/audio-management.md @@ -1,9 +1,5 @@ # 音频管理开发指导 -- [场景介绍](#场景介绍) -- [接口说明](#接口说明) -- [开发步骤](#开发步骤) - ## 场景介绍 音频管理的主要工作是音量调节与音量查询,以及输入/输出设备查询。 diff --git a/zh-cn/application-dev/media/audio-overview.md b/zh-cn/application-dev/media/audio-overview.md index 0ed6864c602c4d88b9abe7f7dceb7abb673a43da..0665cb5c58b3e948e1eb171b1fdbc1608bdc7518 100644 --- a/zh-cn/application-dev/media/audio-overview.md +++ b/zh-cn/application-dev/media/audio-overview.md @@ -1,8 +1,6 @@ # 音频开发概述 -- [基本概念](#基本概念) - -OpenHarmony音频模块支持音频业务的开发,提供音频相关的功能,主要包括音频播放、音量管理等。 +音频模块支持音频业务的开发,提供音频相关的功能,主要包括音频播放、音量管理等。 ## 基本概念 diff --git a/zh-cn/application-dev/media/audio.md b/zh-cn/application-dev/media/audio.md deleted file mode 100644 index 4ac8b0a4fe3cca49e37cd66a0e617a32a743607a..0000000000000000000000000000000000000000 --- a/zh-cn/application-dev/media/audio.md +++ /dev/null @@ -1,10 +0,0 @@ -# 音频 - - -- **[音频开发概述](audio-overview.md)** - -- **[音频播放开发指导](audio-playback.md)** - -- **[音频管理开发指导](audio-management.md)** - -- **[音频录制开发指导](audio-recorder.md)** \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis/js-apis-sensor.md b/zh-cn/application-dev/reference/apis/js-apis-sensor.md index 838641fb4ee7d5f08e671f789e9000f31f602164..660c64edcd258e76548e2299655ad61f6f7ac9b5 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-sensor.md +++ b/zh-cn/application-dev/reference/apis/js-apis-sensor.md @@ -1172,9 +1172,72 @@ off(type: SensorType, callback?: AsyncCallback<void>): void console.info("Succeeded in unsubscribing from acceleration sensor data."); } ); - ``` +## sensor.transformCoordinateSystem + +transformCoordinateSystem(inRotationVector: Array<number>, coordinates: CoordinatesOptions, callback: AsyncCallback<Array<number>>): void + +旋转提供的旋转矩阵,使其可以以不同的方式表示坐标系。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | ---------------- | ----------------------------------------- | ---- | ---------------------- | + | inRotationVector | Array<number> | 是 | 表示旋转矩阵。 | + | coordinates | [CoordinatesOptions](#coordinatesoptions) | 是 | 表示坐标系方向。 | + | callback | AsyncCallback<Array<number>> | 是 | 返回转换后的旋转矩阵。 | + +- 示例 + + ``` + sensor.transformCoordinateSystem([1, 0, 0, 0, 1, 0, 0, 0, 1], {'axisX':2, 'axisY':3}, function(err, data) { + if (err) { + console.error("Operation failed. Error code: " + err.code + ", message: " + err.message); + return; + } + console.info("Operation successed. Data obtained: " + data.x); + for (var i=0; i < data.length; i++) { + console.info("transformCoordinateSystem data[ " + i + "] = " + data[i]); + } + }) + ``` + +## sensor.transformCoordinateSystem + +transformCoordinateSystem(inRotationVector: Array<number>, coordinates: CoordinatesOptions): Promise<Array<number>> + +旋转提供的旋转矩阵,使其可以以不同的方式表示坐标系。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | ---------------- | ----------------------------------------- | ---- | ---------------- | + | inRotationVector | Array<number> | 是 | 表示旋转矩阵。 | + | coordinates | [CoordinatesOptions](#coordinatesoptions) | 是 | 表示坐标系方向。 | + +- 返回值 + + | 类型 | 说明 | + | ---------------------------------- | ---------------------- | + | Promise<Array<number>> | 返回转换后的旋转矩阵。 | + +- 示例 + + ``` + const promise = sensor.transformCoordinateSystem([1, 0, 0, 0, 1, 0, 0, 0, 1], {'axisX':2, 'axisY':3}); + promise.then((data) => { + console.info("Operation successed."); + for (var i=0; i < data.length; i++) { + console.info("transformCoordinateSystem data[ " + i + "] = " + data[i]); + } + }).catch((err) => { + console.info("Operation failed"); + }) + ``` + + + ## sensor.getGeomagneticField @@ -1232,6 +1295,437 @@ getGeomagneticField(locationOptions: LocationOptions, timeMillis: number): Promi }) ``` +## sensor.getAltitude + +getAltitude(seaPressure: number, currentPressure: number, callback: AsyncCallback<number>): void + +根据气压值获取设备所在的海拔高度。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | --------------- | --------------------------- | ---- | ------------------------------------- | + | seaPressure | number | 是 | 表示海平面气压值,单位为hPa。 | + | currentPressure | number | 是 | 表示设备所在高度的气压值,单位为hPa。 | + | callback | AsyncCallback<number> | 是 | 返回设备所在的海拔高度,单位为米。 | + +- 示例 + + ``` + sensor.getAltitude(0, 200, function(err, data) { + if (err) { + console.error( + "Operation failed. Error code: " + err.code + ", message: " + err.message); + return; + } + console.info("Successed to get getAltitude interface get data: " + data); + }); + ``` + +## sensor.getAltitude + +getAltitude(seaPressure: number, currentPressure: number): Promise<number> + +根据气压值获取设备所在的海拔高度。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | --------------- | ------ | ---- | ------------------------------------- | + | seaPressure | number | 是 | 表示海平面气压值,单位为hPa。 | + | currentPressure | number | 是 | 表示设备所在高度的气压值,单位为hPa。 | + +- 返回值 + + | 类型 | 说明 | + | --------------------- | ------------------------------------ | + | Promise<number> | 返回设备所在的海拔高度(单位:米)。 | + +- 示例 + + ``` + const promise = sensor.getAltitude(0, 200); + promise.then((data) => { + console.info(' sensor_getAltitude_Promise success', data); + }).catch((err) => { + console.error("Operation failed"); + }) + ``` + + +## sensor.getGeomagneticDip + +getGeomagneticDip(inclinationMatrix: Array<number>, callback: AsyncCallback<number>): void + +根据倾斜矩阵计算地磁倾斜角。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | ----------------- | --------------------------- | ---- | ---------------------------- | + | inclinationMatrix | Array<number> | 是 | 表示倾斜矩阵。 | + | callback | AsyncCallback<number> | 是 | 返回地磁倾斜角,单位为弧度。 | + +- 示例 + + ``` + sensor.getGeomagneticDip([1, 0, 0, 0, 1, 0, 0, 0, 1], function(err, data) { + if (err) { + console.error(LABEL + 'SensorJsAPI--->Failed to register data, error code is: ' + err.code + ', message: ' + + err.message); + return; + } + console.info(Successed to get getGeomagneticDip interface get data: " + data); + }) + ``` + +## sensor.getGeomagneticDip + +getGeomagneticDip(inclinationMatrix: Array<number>): Promise<number> + +根据倾斜矩阵计算地磁倾斜角。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | ----------------- | ------------------- | ---- | -------------- | + | inclinationMatrix | Array<number> | 是 | 表示倾斜矩阵。 | + +- 返回值 + + | 类型 | 说明 | + | --------------------- | ---------------------------- | + | Promise<number> | 返回地磁倾斜角,单位为弧度。 | + +- 示例 + + ``` + const promise = sensor.getGeomagneticDip([1, 0, 0, 0, 1, 0, 0, 0, 1]); + promise.then((data) => { + console.info(' getGeomagneticDip_promise successed', data); + }).catch((err) => { + console.error("Operation failed"); + }) + ``` + +## sensor. getAngleModify + +getAngleModify(currentRotationMatrix: Array<number>, preRotationMatrix: Array<number>,callback: AsyncCallback<Array<number>>): void + +获取两个旋转矩阵之间的角度变化。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | --------------------- | ---------------------------------------- | ---- | --------------------------------- | + | currentRotationMatrix | Array<number> | 是 | 表示当前旋转矩阵。 | + | preRotationMatrix | Array<number> | 是 | 表示旋转矩阵。 | + | callback | AsyncCallback<Array<number>> | 是 | 返回z、x、y轴方向的旋转角度变化。 | + +- 示例 + + ``` + sensor. getAngleModify([1,0,0,0,1,0,0,0,1], [1, 0, 0, 0, 0.87, -0.50, 0, 0.50, 0.87], function(err, data) { + if (err) { + console.error(LABEL + 'Failed to register data, error code is: ' + err.code + ', message: ' + + err.message); + return; + } + console.info("SensorJsAPI--->Successed to get getAngleModifiy interface get data: " + data.x); + for (var i=0; i < data.length; i++) { + console.info(LABEL + "data[" + i + "]: " + data[i]); + } + }) + ``` + + +## sensor. getAngleModify + +getAngleModify(currentRotationMatrix: Array<number>, preRotationMatrix: Array<number>): Promise<Array<number>> + +获取两个旋转矩阵之间的角度变化。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | --------------------- | ------------------- | ---- | ------------------ | + | currentRotationMatrix | Array<number> | 是 | 表示当前旋转矩阵。 | + | preRotationMatrix | Array<number> | 是 | 表示当前旋转矩阵。 | + +- 返回值 + + | 类型 | 说明 | + | ---------------------------------- | --------------------------------- | + | Promise<Array<number>> | 返回z、x、y轴方向的旋转角度变化。 | + +- 示例 + + ``` + const promise = sensor.getAngleModify([1,0,0,0,1,0,0,0,1], [1,0,0,0,0.87,-0.50,0,0.50,0.87]); + promise.then((data) => { + console.info(LABEL + 'getAngleModifiy_promise success'); + for (var i=0; i < data.length; i++) { + console.info(LABEL + "data[" + i + "]: " + data[i]); + } + }).catch((reason) => { + console.info(LABEL + "promise::catch", reason); + }) + ``` + + +## sensor.createRotationMatrix + +createRotationMatrix(rotationVector: Array<number>, callback: AsyncCallback<Array<number>>): void + +将旋转矢量转换为旋转矩阵。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | -------------- | ---------------------------------------- | ---- | -------------- | + | rotationVector | Array<number> | 是 | 表示旋转矢量。 | + | callback | AsyncCallback<Array<number>> | 是 | 返回旋转矩阵。 | + +- 示例 + + ``` + sensor.createRotationMatrix([0.20046076, 0.21907, 0.73978853, 0.60376877], function(err, data) { + if (err) { + console.error(LABEL + 'SensorJsAPI--->Failed to register data, error code is: ' + err.code + ', message: ' + + err.message); + return; + } + console.info("SensorJsAPI--->Successed to get createRotationMatrix interface get data: " + data.x); + for (var i=0; i < data.length; i++) { + console.info(LABEL + "data[" + i + "]: " + data[i]); + } + }) + ``` + + +## sensor.createRotationMatrix + +createRotationMatrix(rotationVector: Array<number>): Promise<Array<number>> + +将旋转矢量转换为旋转矩阵。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | -------------- | ------------------- | ---- | -------------- | + | rotationVector | Array<number> | 是 | 表示旋转矢量。 | + +- 返回值 + + | 类型 | 说明 | + | ---------------------------------- | -------------- | + | Promise<Array<number>> | 返回旋转矩阵。 | + +- 示例 + + ``` + const promise = sensor.createRotationMatrix([0.20046076, 0.21907, 0.73978853, 0.60376877]); + promise.then((data) => { + console.info(LABEL + 'createRotationMatrix_promise success'); + for (var i=0; i < data.length; i++) { + console.info(LABEL + "data[" + i + "]: " + data[i]); + } + }).catch((reason) => { + console.info(LABEL + "promise::catch", reason); + }) + ``` + + +## sensor.createQuaternion + +createQuaternion(rotationVector: Array<number>, callback: AsyncCallback<Array<number>>): void + +将旋转矢量转换为四元数。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | -------------- | ---------------------------------------- | ---- | -------------- | + | rotationVector | Array<number> | 是 | 表示旋转矢量。 | + | callback | AsyncCallback<Array<number>> | 是 | 返回四元数。 | + +- 示例 + + ``` + sensor.createQuaternion([0.20046076, 0.21907, 0.73978853, 0.60376877], function(err, data) { + if (err) { + console.error(LABEL + 'SensorJsAPI--->Failed to register data, error code is: ' + err.code + ', message: ' + + err.message); + return; + } + console.info("SensorJsAPI--->Successed to get createQuaternion interface get data: " + data.x); + for (var i=0; i < data.length; i++) { + console.info(LABEL + "data[" + i + "]: " + data[i]); + } + }) + ``` + + +## sensor.createQuaternion + +createQuaternion(rotationVector: Array<number>): Promise<Array<number>> + +将旋转矢量转换为四元数。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | -------------- | ------------------- | ---- | -------------- | + | rotationVector | Array<number> | 是 | 表示旋转矢量。 | + +- 返回值 + + | 类型 | 说明 | + | ---------------------------------- | ------------ | + | Promise<Array<number>> | 返回四元数。 | + +- 示例 + + ``` + const promise = sensor.createQuaternion([0.20046076, 0.21907, 0.73978853, 0.60376877]); + promise.then((data) => { + console.info('createQuaternion_promise successed'); + for (var i=0; i < data.length; i++) { + console.info(LABEL + "data[" + i + "]: " + data[i]); + } + }).catch((err) => { + console.info('promise failed'); + }) + ``` + + +## sensor.getDirection + +getDirection(rotationMatrix: Array<number>, callback: AsyncCallback<Array<number>>): void + +根据旋转矩阵计算设备的方向。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | -------------- | ---------------------------------------- | ---- | --------------------------------- | + | rotationMatrix | Array<number> | 是 | 表示旋转矩阵。 | + | callback | AsyncCallback<Array<number>> | 是 | 返回围绕z、x、y轴方向的旋转角度。 | + +- 示例 + + ``` + sensor.getDirection([1, 0, 0, 0, 1, 0, 0, 0, 1], function(err, data) { + if (err) { + console.error(LABEL + 'SensorJsAPI--->Failed to register data, error code is: ' + err.code + ', message: ' + + err.message); + return; + } + console.info(LABEL + "SensorJsAPI--->Successed to get getDirection interface get data: " + data.x); + for (var i = 1; i < data.length; i++) { + console.info(TAG +"sensor_getDirection_callback" + data[i]); + } + }) + ``` + + +## sensor.getDirection + +getDirection(rotationMatrix: Array<number>): Promise<Array<number>> + +根据旋转矩阵计算设备的方向。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | -------------- | ------------------- | ---- | -------------- | + | rotationMatrix | Array<number> | 是 | 表示旋转矩阵。 | + +- 返回值 + + | 类型 | 说明 | + | ---------------------------------- | --------------------------------- | + | Promise<Array<number>> | 返回围绕z、x、y轴方向的旋转角度。 | + +- 示例 + + ``` + const promise = sensor.getDirection([1, 0, 0, 0, 1, 0, 0, 0, 1]); + promise.then((data) => { + console.info(' sensor_getAltitude_Promise success', data.x); + for (var i = 1; i < data.length; i++) { + console.info(TAG +"sensor_getDirection_promise" + data[i]); + } + }).catch((err) => { + console.info('promise failed'); + }) + ``` + + +## sensor.createRotationMatrix + +createRotationMatrix(gravity: Array<number>, geomagnetic: Array<number>, callback: AsyncCallback<RotationMatrixResponse>): void + +根据重力矢量和地磁矢量计算旋转矩阵。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | ----------- | ------------------------------------------------------------ | ---- | -------------- | + | gravity | Array<number> | 是 | 表示重力向量。 | + | geomagnetic | Array<number> | 是 | 表示地磁矢量。 | + | callback | AsyncCallback<[RotationMatrixResponse](#rotationmatrixresponse)> | 是 | 返回旋转矩阵。 | + +- 示例 + + ``` + sensor.createRotationMatrix([-0.27775216, 0.5351276, 9.788099], [210.87253, -78.6096, -111.44444], function(err, data) { + if (err) { + console.error(LABEL + 'SensorJsAPI--->Failed to register data, error code is: ' + err.code + ', message: ' + + err.message); + return; + } + console.info("SensorJsAPI--->Successed to get createRotationMatrix interface get data: " + data.x); + for (var i=0; i < data.length; i++) { + console.info(LABEL + "data[" + i + "]: " + data[i]) + } + }) + ``` + + +## sensor.createRotationMatrix + +createRotationMatrix(gravity: Array<number>, geomagnetic: Array<number>,): Promise<RotationMatrixResponse> + +根据重力矢量和地磁矢量计算旋转矩阵。 + +- 参数 + + | 参数名 | 类型 | 必填 | 说明 | + | ----------- | ------------------- | ---- | -------------- | + | gravity | Array<number> | 是 | 表示重力向量。 | + | geomagnetic | Array<number> | 是 | 表示地磁矢量。 | + +- 返回值 + + | 类型 | 说明 | + | ------------------------------------------------------------ | -------------- | + | Promise<[RotationMatrixResponse](#rotationmatrixresponse)> | 返回旋转矩阵。 | + +- 示例 + + ``` + const promise = sensor.createRotationMatrix([-0.27775216, 0.5351276, 9.788099], [210.87253, -78.6096, -111.44444]); + promise.then((data) => { + console.info(LABEL + 'createRotationMatrix_promise successed'); + for (var i=0; i < data.length; i++) { + console.info(LABEL + "data[" + i + "]: " + data[i]); + } + }).catch((err) => { + console.info(LABEL + 'promise failed'); + }) + ``` + ## SensorType @@ -1519,6 +2013,25 @@ getGeomagneticField(locationOptions: LocationOptions, timeMillis: number): Promi | -------- | -------- | -------- | | interval | number | 表示传感器的上报频率,默认值为200000000ns。 | +## RotationMatrixResponse + +设置旋转矩阵响应对象 + +| 名称 | 参数类型 | 可读 | 可写 | 说明 | +| ----------- | ------------------- | ---- | ---- | ---------- | +| rotation | Array<number> | 是 | 是 | 旋转矩阵。 | +| inclination | Array<number> | 是 | 是 | 倾斜矩阵。 | + + +## CoordinatesOptions + +设置坐标选项对象 + +| 名称 | 参数类型 | 可读 | 可写 | 说明 | +| ---- | -------- | ---- | ---- | ----------- | +| x | number | 是 | 是 | x坐标方向。 | +| y | number | 是 | 是 | y坐标方向。 | + ## GeomagneticResponse diff --git a/zh-cn/application-dev/reference/apis/js-apis-useriam-userauth.md b/zh-cn/application-dev/reference/apis/js-apis-useriam-userauth.md index d987947a56bfcb067b2fd0afc6acc9f5157be5f2..e4ca517bc9dc9d799c0428b954458e59887dce49 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-useriam-userauth.md +++ b/zh-cn/application-dev/reference/apis/js-apis-useriam-userauth.md @@ -338,10 +338,10 @@ off(type: "tip", callback?: Callback<Tip>) : void; | FACE_AUTH_TIP_TOO_DARK | 2 | 光线太暗,获取的图像太暗。 | | FACE_AUTH_TIP_TOO_CLOSE | 3 | 人脸距离设备过近。 | | FACE_AUTH_TIP_TOO_FAR | 4 | 人脸距离设备过远。 | -| FACE_AUTH_TIP_TOO_HIGH | 5 | 设备太高,仅获取到的人脸上部。 | -| FACE_AUTH_TIP_TOO_LOW | 6 | 设备太低,仅获取到的人脸下部。 | -| FACE_AUTH_TIP_TOO_RIGHT | 7 | 设备太靠右,仅获取到的人脸右部。 | -| FACE_AUTH_TIP_TOO_LEFT | 8 | 设备太靠左,仅获取到的人脸左部。 | +| FACE_AUTH_TIP_TOO_HIGH | 5 | 设备太高,仅获取到人脸上部。 | +| FACE_AUTH_TIP_TOO_LOW | 6 | 设备太低,仅获取到人脸下部。 | +| FACE_AUTH_TIP_TOO_RIGHT | 7 | 设备太靠右,仅获取到人脸右部。 | +| FACE_AUTH_TIP_TOO_LEFT | 8 | 设备太靠左,仅获取到人脸左部。 | | FACE_AUTH_TIP_TOO_MUCH_MOTION | 9 | 在图像采集过程中,用户人脸移动太快。 | | FACE_AUTH_TIP_POOR_GAZE | 10 | 没有正视摄像头。 | | FACE_AUTH_TIP_NOT_DETECTED | 11 | 没有检测到人脸信息。 | diff --git a/zh-cn/application-dev/security/hapsigntool_guidelines.md b/zh-cn/application-dev/security/hapsigntool-guidelines.md similarity index 100% rename from zh-cn/application-dev/security/hapsigntool_guidelines.md rename to zh-cn/application-dev/security/hapsigntool-guidelines.md