From 43c6cd571fbf950daac2e54c1b0183161c1e4da6 Mon Sep 17 00:00:00 2001 From: guojin31 Date: Thu, 24 Aug 2023 20:27:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BE=93=E5=85=A5=E6=B3=95=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=90=8C=E6=AD=A5=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E7=9A=84=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: guojin31 --- .../apis/js-apis-inputmethodengine.md | 362 +++++++++++++++++- .../OpenHarmony_4.0.10.1/changelogs-imf.md | 26 ++ 2 files changed, 384 insertions(+), 4 deletions(-) create mode 100644 zh-cn/release-notes/changelogs/OpenHarmony_4.0.10.1/changelogs-imf.md diff --git a/zh-cn/application-dev/reference/apis/js-apis-inputmethodengine.md b/zh-cn/application-dev/reference/apis/js-apis-inputmethodengine.md index d3d4cbb5b2..80aa95ce58 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-inputmethodengine.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inputmethodengine.md @@ -1811,6 +1811,47 @@ try { } ``` +### getForwardSync10+ + +getForwardSync(length:number): string + +获取光标前固定长度的文本。 + +**系统能力:** SystemCapability.MiscServices.InputMethodFramework + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ---------- | +| length | number | 是 | 文本长度。 | + +**返回值:** + +| 类型 | 说明 | +| ------ | -------------------------- | +| string | 返回光标前固定长度的文本。 | + +**错误码:** + +以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 + +| 错误码ID | 错误信息 | +| -------- | ------------------------------ | +| 12800003 | input method client error. | +| 12800006 | input method controller error. | + +**示例:** + +```js +let length = 1; +try { + let text = inputClient.getForwardSync(length); + console.log(`Succeeded in getting forward, text: ${text}`); +} catch (err) { + console.error(`Failed to getForwardSync: ${JSON.stringify(err)}`); +} +``` + ### getBackward9+ getBackward(length:number, callback: AsyncCallback<string>): void @@ -1896,6 +1937,47 @@ try { } ``` +### getBackwardSync10+ + +getBackwardSync(length:number): string + +获取光标后固定长度的文本。 + +**系统能力:** SystemCapability.MiscServices.InputMethodFramework + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ---------- | +| length | number | 是 | 文本长度。 | + +**返回值:** + +| 类型 | 说明 | +| ------ | -------------------------- | +| string | 返回光标后固定长度的文本。 | + +**错误码:** + +以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 + +| 错误码ID | 错误信息 | +| -------- | ------------------------------ | +| 12800003 | input method client error. | +| 12800006 | input method controller error. | + +**示例:** + +```js +let length = 1; +try { + let text = inputClient.getBackwardSync(length); + console.log(`Succeeded in getting backward, text: ${text}`); +} catch (err) { + console.error(`Failed to getBackwardSync: ${JSON.stringify(err)}`); +} +``` + ### deleteForward9+ deleteForward(length:number, callback: AsyncCallback<boolean>): void @@ -1989,6 +2071,41 @@ try { } ``` +### deleteForwardSync10+ + +deleteForwardSync(length:number): void + +删除光标前固定长度的文本。 + +**系统能力:** SystemCapability.MiscServices.InputMethodFramework + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ---------- | +| length | number | 是 | 文本长度。 | + +**错误码:** + +以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 + +| 错误码ID | 错误信息 | +| -------- | -------------------------- | +| 12800002 | input method engine error. | +| 12800003 | input method client error. | + +**示例:** + +```js +let length = 1; +try { + inputClient.deleteForwardSync(length); + console.log('Succeeded in deleting forward.'); +} catch (err) { + console.error('deleteForwardSync err: ' + JSON.stringify(err)); +} +``` + ### deleteBackward9+ deleteBackward(length:number, callback: AsyncCallback<boolean>): void @@ -2078,6 +2195,41 @@ inputClient.deleteBackward(length).then((result) => { }); ``` +### deleteBackwardSync10+ + +deleteBackwardSync(length:number): void + +删除光标后固定长度的文本。 + +**系统能力:** SystemCapability.MiscServices.InputMethodFramework + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ---------- | +| length | number | 是 | 文本长度。 | + +**错误码:** + +以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 + +| 错误码ID | 错误信息 | +| -------- | -------------------------- | +| 12800002 | input method engine error. | +| 12800003 | input method client error. | + +**示例:** + +```js +let length = 1; +try { + inputClient.deleteBackwardSync(length); + console.log('Succeeded in deleting backward.'); +} catch (err) { + console.error('deleteBackwardSync err: ' + JSON.stringify(err)); +} +``` + ### insertText9+ insertText(text:string, callback: AsyncCallback<boolean>): void @@ -2165,6 +2317,40 @@ try { } ``` +### insertTextSync10+ + +insertTextSync(text: string): void + +插入文本。 + +**系统能力:** SystemCapability.MiscServices.InputMethodFramework + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ---------- | +| text | string | 是 | 文本内容。 | + +**错误码:** + +以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 + +| 错误码ID | 错误信息 | +| -------- | -------------------------- | +| 12800002 | input method engine error. | +| 12800003 | input method client error. | + +**示例:** + +```js +try { + inputClient.insertTextSync('test'); + console.log('Succeeded in inserting text.'); +} catch (err) { + console.error(`Failed to insertTextSync: ${JSON.stringify(err)}`); +} +``` + ### getEditorAttribute9+ getEditorAttribute(callback: AsyncCallback<EditorAttribute>): void @@ -2233,6 +2419,39 @@ inputClient.getEditorAttribute().then((editorAttribute) => { }); ``` +### getEditorAttributeSync10+ + +getEditorAttributeSync(): EditorAttribute + +获取编辑框属性值。 + +**系统能力:** SystemCapability.MiscServices.InputMethodFramework + +**返回值:** + +| 类型 | 说明 | +| ----------------------------------- | -------------- | +| [EditorAttribute](#editorattribute) | 编辑框属性对象 | + +**错误码:** + +以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 + +| 错误码ID | 错误信息 | +| -------- | -------------------------- | +| 12800003 | input method client error. | + +**示例:** + +```js +try { + let editorAttribute = inputClient.getEditorAttributeSync(); + console.log(`Succeeded in getEditorAttributeSync, editorAttribute = ${JSON.stringify(editorAttribute)}`); +} catch (err) { + console.error(`Failed to getEditorAttributeSync: ${JSON.stringify(err)}`); +} +``` + ### moveCursor9+ moveCursor(direction: number, callback: AsyncCallback<void>): void @@ -2245,7 +2464,7 @@ moveCursor(direction: number, callback: AsyncCallback<void>): void | 参数名 | 类型 | 必填 | 说明 | | --------- | ------------------------- | ---- | -------------- | -| direction | number | 是 | 光标移动方向。 | +| direction | number | 是 | 光标移动方向。
- 当值为1时,表示向上。
- 当值为2时,表示向下。
- 当值为3时,表示向左。
- 当值为4时,表示向右。 | | callback | AsyncCallback<void> | 是 | 回调函数。当光标移动成功,err为undefined,否则为错误对象。 | **错误码:** @@ -2282,9 +2501,9 @@ moveCursor(direction: number): Promise<void> **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| --------- | ------ | ---- | -------------- | -| direction | number | 是 | 光标移动方向。 | +| 参数名 | 类型 | 必填 | 说明 | +| --------- | ------ | ---- | ------------------------------------------------------------ | +| direction | number | 是 | 光标移动方向。
- 当值为1时,表示向上。
- 当值为2时,表示向下。
- 当值为3时,表示向左。
- 当值为4时,表示向右。 | **返回值:** @@ -2314,6 +2533,39 @@ try { } ``` +### moveCursorSync10+ + +moveCursorSync(direction: number): void + +移动光标。 + +**系统能力:** SystemCapability.MiscServices.InputMethodFramework + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| --------- | ------ | ---- | ------------------------------------------------------------ | +| direction | number | 是 | 光标移动方向。
- 当值为1时,表示向上。
- 当值为2时,表示向下。
- 当值为3时,表示向左。
- 当值为4时,表示向右。 | + +**错误码:** + +以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 + +| 错误码ID | 错误信息 | +| -------- | -------------------------- | +| 12800003 | input method client error. | + +**示例:** + +```js +try { + inputClient.moveCursorSync(inputMethodEngine.Direction.CURSOR_UP); + console.log('Succeeded in moving cursor.'); +} catch (err) { + console.error(`Failed to moveCursorSync: ${JSON.stringify(err)}`); +} +``` + ### selectByRange10+ selectByRange(range: Range, callback: AsyncCallback<void>): void @@ -2397,6 +2649,40 @@ try { } ``` +### selectByRangeSync10+ + +selectByRangeSync(range: Range): void + +根据索引范围选中文本。 + +**系统能力:** SystemCapability.MiscServices.InputMethodFramework + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ----------------- | ---- | ---------------- | +| range | [Range](#range10) | 是 | 选中文本的范围。 | + +**错误码:** + +以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 + +| 错误码ID | 错误信息 | +| -------- | -------------------------- | +| 401 | parameter error. | +| 12800003 | input method client error. | + +**示例:** + +```js +try { + inputClient.selectByRangeSync({start: 0, end: 1}); + console.log('Succeeded in selecting by range.'); +} catch (err) { + console.error(`Failed to selectByRangeSync: ${JSON.stringify(err)}`); +} +``` + ### selectByMovement10+ selectByMovement(movement: Movement, callback: AsyncCallback<void>): void @@ -2480,6 +2766,40 @@ try { } ``` +### selectByMovementSync10+ + +selectByMovementSync(movement: Movement): void + +根据光标移动方向选中文本。 + +**系统能力:** SystemCapability.MiscServices.InputMethodFramework + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------- | ---- | ---------------------- | +| movement | [Movement](#movement10) | 是 | 选中时光标移动的方向。 | + +**错误码:** + +以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 + +| 错误码ID | 错误信息 | +| -------- | -------------------------- | +| 401 | parameter error. | +| 12800003 | input method client error. | + +**示例:** + +```js +try { + inputClient.selectByMovementSync({direction: 1}); + console.log('Succeeded in selecting by movement.'); +} catch (err) { + console.error(`Failed to selectByMovement: ${JSON.stringify(err)}`); +} +``` + ### getTextIndexAtCursor10+ getTextIndexAtCursor(callback: AsyncCallback<number>): void @@ -2548,6 +2868,40 @@ inputClient.getTextIndexAtCursor().then((index) => { }); ``` +### getTextIndexAtCursorSync10+ + +getTextIndexAtCursorSync(): number + +获取光标所在处的文本索引。 + +**系统能力:** SystemCapability.MiscServices.InputMethodFramework + +**返回值:** + +| 类型 | 说明 | +| ------ | -------------------------- | +| number | 返回光标所在处的文本索引。 | + +**错误码:** + +以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)。 + +| 错误码ID | 错误信息 | +| -------- | ------------------------------ | +| 12800003 | input method client error. | +| 12800006 | Input method controller error. | + +**示例:** + +```js +try{ + let index = inputClient.getTextIndexAtCursorSync(); + console.log(`Succeeded in getTextIndexAtCursorSync, index: ${index}`); +} catch (err) { + console.error(`Failed to getTextIndexAtCursorSync: ${JSON.stringify(err)}`); +} +``` + ### sendExtendAction10+ sendExtendAction(action: ExtendAction, callback: AsyncCallback<void>): void diff --git a/zh-cn/release-notes/changelogs/OpenHarmony_4.0.10.1/changelogs-imf.md b/zh-cn/release-notes/changelogs/OpenHarmony_4.0.10.1/changelogs-imf.md new file mode 100644 index 0000000000..1541a2d048 --- /dev/null +++ b/zh-cn/release-notes/changelogs/OpenHarmony_4.0.10.1/changelogs-imf.md @@ -0,0 +1,26 @@ +# 输入法框架子系统-输入法框架ChangeLog + +## cl.imf.1 @ohos.InputMethodEngine中,InputClient新增同步接口 + +新增同步接口如下: + +| 接口 | 说明 | +| ---------------------------------------------- | ------------------------ | +| getForwardSync(length:number): string | 获取光标前固定长度的文本 | +| getBackwardSync(length:number): string | 获取光标后固定长度的文本 | +| deleteForwardSync(length:number): void | 删除光标前固定长度的文本 | +| deleteBackwardSync(length:number): void | 删除光标后固定长度的文本 | +| insertTextSync(text: string): void | 插入文本 | +| getEditorAttributeSync(): EditorAttribute | 获取编辑框属性值 | +| moveCursorSync(direction: number): void | 移动光标 | +| selectByRangeSync(range: Range): void | 根据索引范围选中文本 | +| selectByMovementSync(movement: Movement): void | 根据光标移动方向选中文本 | +| getTextIndexAtCursorSync(): number | 获取光标所在处的文本索引 | + +**变更影响** + +以上接口的调用,均为同步接口。 + +**适配指导** + +请参考接口说明:[@ohos.inputMethodEngine.d.ts](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-inputmethodengine.md) -- GitLab