30 Commits

Author SHA1 Message Date
  xuzhihao666 773519e342
!121449 merge master into master 1 day ago
  zhanghangkai10241 d7d6901635
!120673 merge master into master 1 day ago
  yuanlin94 fcb4ea2312
!121309 merge zdl121201 into master 1 day ago
  catherinecheung bf02ee4f5d
!121170 merge contentSizeDoc1211 into master 1 day ago
  carnivore233 24f72beb9e
!121572 merge richeditorCodeOwner into master 1 day ago
  carnivore233 665e2001b8
!121213 merge getSelection into master 1 day ago
  wangxiuxiu f3b81d9c43
!120837 merge 1210 into master 1 day ago
  lichaochen_huawei 8e6a7a4536
!121671 merge master into master 1 day ago
  liuyongkai2 dbbc83bcff
!120249 merge 2dswiper into master 1 day ago
  enjoy_sunshine 7a6b2c45e7
!121613 merge master into master 1 day ago
  liuyongkai2 3cb8b2b908
!121564 merge image into master 1 day ago
  liuzhijie2 e90493cc9d
!120872 merge master into master 1 day ago
  chijunwen 0570ffa654
!120567 merge toggle_color_docs into master 1 day ago
  zhenghui25 de674c0438
!121130 merge master into master 1 day ago
  lichaochen_huawei b64416ac90 示例代码格式化 1 day ago
  hui 1c6aab343f 1215蓝牙资料优化 1 day ago
  wangxiuxiu 686b124bf2 customKeyboard 用例补充 1 day ago
  carnivore233 f1a828667d 【RichEditor】修改富文本文档CodeOwner 1 day ago
  liuyongkai2 6fd8670ef9 修改目录命名规范 1 day ago
  carnivore233 e7ac8815fe 【RichEditor】补充getSelection接口说明 4 days ago
  chijunwen addd39ae34 Modify toggle unSelectedColor doc 1 week ago
  zhanghang 6fdb29694d 滚动组件获取内容总大小资料优化 5 days ago
  xuzhihao 6a871652fe Bugfix: 修复废弃接口描述,示例代码格式化问题 3 days ago
  yuanlin94 7be0bc1d24 废弃接口规范性修改 4 days ago
  liuyongkai2 9222883f3c 2dswiper资料修改 1 week ago
  zhenghui25 ed5dafd35b 描述及格式问题修复 5 days ago
  zhanghangkai 369781b265 调整AccessibilityOptions接口版本 6 days ago
  liuzhijie2 a4dd1359b0 Merge branch 'master' of https://gitcode.com/liuzhijie2/docs 5 days ago
  liuzhijie2 e20db913ea api 23 to 22 5 days ago
  liuzhijie2 2e7229cc9e api 23 to 22 5 days ago
37 changed files with 475 additions and 319 deletions
Split View
  1. +3
    -3
      CODEOWNERS
  2. +1
    -1
      zh-cn/application-dev/connectivity/terminology.md
  3. +4
    -4
      zh-cn/application-dev/reference/apis-ability-kit/js-apis-ability-particleAbility.md
  4. +14
    -8
      zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-insightIntentContext.md
  5. +20
    -10
      zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-insightIntentProvider.md
  6. +19
    -19
      zh-cn/application-dev/reference/apis-arkui/arkui-js-lite/js-lite-components-basic-image-animator.md
  7. BIN
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/searchCustomKeyboard-1.gif
  8. BIN
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/searchCustomKeyboard.png
  9. BIN
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/textAreaCustomKeyboard.png
  10. BIN
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/textAreaCustomKeyboard1.gif
  11. BIN
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/textInputCustomKeyboard.png
  12. BIN
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/textInputCustomKeyboard1.gif
  13. +1
    -1
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-richeditor.md
  14. +53
    -26
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-search.md
  15. +53
    -26
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-textarea.md
  16. +53
    -26
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-textinput.md
  17. +1
    -1
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-toggle.md
  18. +11
    -4
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-grid.md
  19. +13
    -5
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-list.md
  20. +21
    -11
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-scroll.md
  21. +16
    -14
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-swiper.md
  22. +11
    -4
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-waterflow.md
  23. +5
    -7
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-types.md
  24. +1
    -1
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-attributes-accessibility.md
  25. +2
    -2
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-events-click.md
  26. +10
    -2
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-events-drag-drop.md
  27. +2
    -2
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-events-touch.md
  28. +2
    -2
      zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-mouse-key.md
  29. +11
    -11
      zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-componentSnapshot.md
  30. +4
    -4
      zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-dragController.md
  31. +107
    -107
      zh-cn/application-dev/reference/apis-arkweb/arkts-apis-webview-WebCookieManager.md
  32. +1
    -1
      zh-cn/application-dev/reference/apis-arkweb/capi-native-interface-arkweb-h.md
  33. +4
    -4
      zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-appAccount.md
  34. +2
    -2
      zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-osAccount.md
  35. +6
    -6
      zh-cn/application-dev/reference/apis-connectivity-kit/js-apis-bluetoothManager-sys.md
  36. +23
    -4
      zh-cn/application-dev/security/CryptoArchitectureKit/crypto-generate-asym-key-pair-from-key-spec.md
  37. +1
    -1
      zh-cn/application-dev/web/web-cookie-and-data-storage-mgmt.md

+ 3
- 3
CODEOWNERS View File

@@ -277,7 +277,7 @@ zh-cn/application-dev/ui/arkts-common-components-button.md @liyi0309 @lxl007 @Br
zh-cn/application-dev/ui/arkts-common-components-custom-dialog.md @houguobiao @lxl007 @Brilliantry_Rui
zh-cn/application-dev/ui/arkts-common-components-progress-indicator.md @weixin_52725220 @xiong0104 @Brilliantry_Ru
zh-cn/application-dev/ui/arkts-common-components-radio-button.md @houguobiao @lxl007 @Brilliantry_Rui
zh-cn/application-dev/ui/arkts-common-components-richeditor.md @pssea @mateng_Holtens @Brilliantry_Rui
zh-cn/application-dev/ui/arkts-common-components-richeditor.md @carnivore233 @mateng_Holtens @Brilliantry_Rui
zh-cn/application-dev/ui/arkts-common-components-switch.md @houguobiao @lxl007 @Brilliantry_Rui
zh-cn/application-dev/ui/arkts-common-components-symbol.md @pssea @jiaoaozihao @Brilliantry_Rui
zh-cn/application-dev/ui/arkts-common-components-text-display.md @pssea @jiaoaozihao @Brilliantry_Rui
@@ -1493,8 +1493,8 @@ zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-progress
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-qrcode.md @weixin_52725220 @xiong0104 @Brilliantry_Rui
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-radio.md @houguobiao @lxl007 @Brilliantry_Rui
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-rating.md @liyi0309 @lxl007 @Brilliantry_Rui
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-richeditor-sys.md @pssea @mateng_Holtens @Brilliantry_Rui
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-richeditor.md @pssea @mateng_Holtens @Brilliantry_Rui
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-richeditor-sys.md @carnivore233 @mateng_Holtens @Brilliantry_Rui
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-richeditor.md @carnivore233 @mateng_Holtens @Brilliantry_Rui
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-scrollbar.md @yylong @rongShao-Z @songyanhong @Brilliantry_Rui
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-search.md @pssea @jiaoaozihao @Brilliantry_Rui
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-select.md @zhanghaibo0 @lxl007 @Brilliantry_Rui


+ 1
- 1
zh-cn/application-dev/connectivity/terminology.md View File

@@ -49,7 +49,7 @@ Human Interface Device Profile,即人机接口协议,为传统蓝牙设计
### HID Host
[HID](#hid)主机设备,负责处理和接收[HID Device](#hid-device)的输入数据,并执行对应操作。典型设备如:手机、平板等。
### HOGP
HID over GATT Profile,基于低功耗蓝牙的GATT协议实现的HID规范,将传统HID功能移植到BLE设备上复用,兼容键盘、鼠标、自拍杆等BLE设备的HID交互逻辑。
HID over GATT Profile,基于低功耗蓝牙的GATT协议实现的[HID](#hid)规范,将传统[HID](#hid)功能移植到[BLE](#ble)设备上复用,兼容键盘、鼠标、自拍杆等[BLE](#ble)设备的[HID](#hid)交互逻辑。
## L
### L2CAP
Logical Link Control and Adaptation Protocal,即逻辑链路控制和适配协议。可支持上层协议和应用的多种传输需求,提供面向连接和无连接的数据服务,并提供多路复用,分段和重组操作。


+ 4
- 4
zh-cn/application-dev/reference/apis-ability-kit/js-apis-ability-particleAbility.md View File

@@ -227,7 +227,7 @@ startBackgroundRunning(id: number, request: NotificationRequest, callback: Async

> **说明:**
>
> 从API version 9开始不再维护,建议使用[backgroundTaskManager.startBackgroundRunning](../apis-backgroundtasks-kit/js-apis-resourceschedule-backgroundTaskManager.md#backgroundtaskmanagerstartbackgroundrunning)替代。
> 从API version 7开始支持,从API version 9开始废弃,建议使用[backgroundTaskManager.startBackgroundRunning](../apis-backgroundtasks-kit/js-apis-resourceschedule-backgroundTaskManager.md#backgroundtaskmanagerstartbackgroundrunning)替代。

**参数:**

@@ -294,7 +294,7 @@ startBackgroundRunning(id: number, request: NotificationRequest): Promise<voi

> **说明:**
>
> 从API version 9开始不再维护,建议使用[backgroundTaskManager.startBackgroundRunning](../apis-backgroundtasks-kit/js-apis-resourceschedule-backgroundTaskManager.md#backgroundtaskmanagerstartbackgroundrunning-1)替代。
> 从API version 7开始支持,从API version 9开始废弃,建议使用[backgroundTaskManager.startBackgroundRunning](../apis-backgroundtasks-kit/js-apis-resourceschedule-backgroundTaskManager.md#backgroundtaskmanagerstartbackgroundrunning-1)替代。

**参数:**

@@ -360,7 +360,7 @@ cancelBackgroundRunning(callback: AsyncCallback<void>): void

> **说明:**
>
> 从API version 9开始不再维护,建议使用[backgroundTaskManager.stopBackgroundRunning](../apis-backgroundtasks-kit/js-apis-resourceschedule-backgroundTaskManager.md#backgroundtaskmanagerstopbackgroundrunning)替代。
> 从API version 7开始支持,从API version 9开始废弃,建议使用[backgroundTaskManager.stopBackgroundRunning](../apis-backgroundtasks-kit/js-apis-resourceschedule-backgroundTaskManager.md#backgroundtaskmanagerstopbackgroundrunning)替代。

**参数:**

@@ -396,7 +396,7 @@ cancelBackgroundRunning(): Promise<void>

> **说明:**
>
> 从API version 9开始不再维护,建议使用[backgroundTaskManager.stopBackgroundRunning](../apis-backgroundtasks-kit/js-apis-resourceschedule-backgroundTaskManager.md#backgroundtaskmanagerstopbackgroundrunning-1)替代。
> 从API version 7开始支持,从API version 9开始废弃,建议使用[backgroundTaskManager.stopBackgroundRunning](../apis-backgroundtasks-kit/js-apis-resourceschedule-backgroundTaskManager.md#backgroundtaskmanagerstopbackgroundrunning-1)替代。

**返回值:**



+ 14
- 8
zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-insightIntentContext.md View File

@@ -57,12 +57,12 @@ import { InsightIntentContext } from '@kit.AbilityKit';
console.info('testTag setExecuteResult success');
})
.catch((error: BusinessError) => {
console.error('testTag setExecuteResult fail1, error code: ${JSON.stringify(error)}');
console.error(`testTag setExecuteResult fail1, error code: ${JSON.stringify(error)}`);
});
} catch (e) {
let code = (e as BusinessError).code;
let msg = (e as BusinessError).message;
console.error('testTag setExecuteResult fail2, error code: ${JSON.stringify(code)}, error msg: ${JSON.stringify(msg)}');
console.error(`testTag setExecuteResult fail2, error code: ${JSON.stringify(code)}, error msg: ${JSON.stringify(msg)}`);
}
return result;
}
@@ -261,7 +261,7 @@ setReturnModeForUIAbilityForeground(returnMode: insightIntent.ReturnMode): void
import { InsightIntentExecutor, insightIntent } from '@kit.AbilityKit';
import { window } from '@kit.ArkUI';
import { hilog } from '@kit.PerformanceAnalysisKit';
export default class InsightIntentExecutorUI extends InsightIntentExecutor {
onExecuteInUIAbilityForegroundMode(name: string, param: Record<string, Object>,
pageLoader: window.WindowStage): insightIntent.ExecuteResult {
@@ -273,13 +273,15 @@ setReturnModeForUIAbilityForeground(returnMode: insightIntent.ReturnMode): void
message: 'Unsupported insight intent.',
},
};
try {
this.context.setReturnModeForUIAbilityForeground(insightIntent.ReturnMode.FUNCTION);
} catch (error) {
console.error('testTag setReturnModeForUIAbilityForeground fail, error code: ${JSON.stringify(error)}');
let code = (error as BusinessError).code;
let msg = (error as BusinessError).message;
console.error(`testTag setReturnModeForUIAbilityForeground fail, error code: ${code}, err msg: ${msg}.`);
}
let localStorageData: Record<string, number> = {
'insightId': this.context.instanceId,
};
@@ -342,7 +344,9 @@ setReturnModeForUIExtensionAbility(returnMode: insightIntent.ReturnMode): void
try {
this.context.setReturnModeForUIExtensionAbility(insightIntent.ReturnMode.FUNCTION)
} catch (error) {
console.error('testTag setReturnModeForUIExtensionAbility fail, error code: ${JSON.stringify(error)}');
let code = (error as BusinessError).code;
let msg = (error as BusinessError).message;
console.error(`testTag setReturnModeForUIExtensionAbility fail, error code: ${code}, error msg: ${msg}.`);
}

try {
@@ -353,7 +357,9 @@ setReturnModeForUIExtensionAbility(returnMode: insightIntent.ReturnMode): void
storage.setOrCreate('session', pageLoader);
pageLoader.loadContent('pages/UiextensionPage', storage);
} catch (err) {
console.log('testTag loadContent error: ' + JSON.stringify(err));
let code = (err as BusinessError).code;
let msg = (err as BusinessError).message;
console.log(`testTag loadContent error code: ${code}, error msg: ${msg}.`);
}
return result;
}


+ 20
- 10
zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-insightIntentProvider.md View File

@@ -76,7 +76,9 @@ export default class InsightIntentExecutorUI extends InsightIntentExecutor {
//设置意图执行结果的返回形式为延迟返回
this.context.setReturnModeForUIAbilityForeground(insightIntent.ReturnMode.FUNCTION);
} catch (error) {
console.error('testTag setReturnModeForUIExtensionAbility fail, error code: ${JSON.stringify(error)}');
let code = (error as BusinessError).code;
let msg = (error as BusinessError).message;
console.error(`testTag setReturnModeForUIExtensionAbility fail, error code: ${code}, error msg: ${msg}.`);
}
//将意图实例的id通过localStorage传入目标页面中
let localStorageData: Record<string, number> = {
@@ -105,7 +107,8 @@ import { insightIntent, insightIntentProvider } from '@kit.AbilityKit';
@Component
struct Index {
storage: LocalStorage | undefined = this.getUIContext().getSharedLocalStorage();
insightId: number | undefined = this.storage?.get<number>('insightId');
insightId: number | undefined = this.storage?.get<number>('insightId');

build() {
Column() {
//通过sendExecuteResult接口主动返回意图执行结果
@@ -124,12 +127,12 @@ struct Index {
console.info('testTag setExecuteResult success');
})
.catch((error: BusinessError) => {
console.error('testTag setExecuteResult fail1, error code: ${JSON.stringify(error)}');
console.error(`testTag setExecuteResult fail1, error code: ${error.code}, error msg: ${error.message}.`);
});
} catch (e) {
let code = (e as BusinessError).code;
let msg = (e as BusinessError).message;
console.error('testTag setExecuteResult fail2, error code: ${JSON.stringify(code)}, error msg: ${JSON.stringify(msg)}');
console.error(`testTag setExecuteResult fail2, error code: ${code}, error msg: ${msg}`);
}
})
}
@@ -221,7 +224,9 @@ export default class PlayVideo extends InsightIntentEntryExecutor<PlayVideoResul
this.context.setReturnModeForUIAbilityForeground(insightIntent.ReturnMode.FUNCTION);
console.info('testTag: setReturnModeForUIAbilityForeground success');
} catch (error) {
console.error('testTag: setReturnModeForUIAbilityForeground faild,error:', JSON.stringify(error));
let code = (error as BusinessError).code;
let msg = (error as BusinessError).message;
console.error(`testTag: setReturnModeForUIAbilityForeground faild,error code: ${code}, error msg: ${msg}.`);
}

try {
@@ -234,7 +239,9 @@ export default class PlayVideo extends InsightIntentEntryExecutor<PlayVideoResul
this.windowStage?.loadContent('pages/Index', storage);
console.log('testTag', 'Succeeded in loading the content1')
} catch (err) {
console.log('testTag loadContent error: ' + JSON.stringify(err));
let code = (err as BusinessError).code;
let msg = (err as BusinessError).message;
console.log(`testTag loadContent error code: ${code}, error msg: ${msg}.`);
}
return Promise.resolve(result);
}
@@ -244,7 +251,7 @@ export default class PlayVideo extends InsightIntentEntryExecutor<PlayVideoResul
主动发送意图执行结果示例:
```ts
import { BusinessError } from '@kit.BasicServicesKit';
import { insightIntent , insightIntentProvider} from '@kit.AbilityKit';
import { insightIntent, insightIntentProvider } from '@kit.AbilityKit';

class PlayVideoResultDef {
resultCode: number = 0;
@@ -257,7 +264,8 @@ class PlayVideoResultDef {
@Component
struct Index {
storage: LocalStorage | undefined = this.getUIContext().getSharedLocalStorage();
insightId: number | undefined = this.storage?.get<number>('insightId');
insightId: number | undefined = this.storage?.get<number>('insightId');

build() {
Column() {
//通过sendExecuteResult接口主动返回意图执行结果
@@ -278,10 +286,12 @@ struct Index {
console.info('testTag sendIntentResult success');
})
.catch((error: BusinessError) => {
console.error('testTag sendIntentResult error, error code: ${JSON.stringify(error)}');
console.error(`testTag sendIntentResult error, error code: ${error.code}, error msg: ${error.message}.`);
});
} catch (error) {
console.error('testTag sendIntentResult fail, error code: ${JSON.stringify(error)}');
let code = (error as BusinessError).code;
let msg = (error as BusinessError).message;
console.error(`testTag sendIntentResult fail, error code: ${code}, error msg: ${msg}.`);
}
})
}


+ 19
- 19
zh-cn/application-dev/reference/apis-arkui/arkui-js-lite/js-lite-components-basic-image-animator.md View File

@@ -137,61 +137,61 @@ export default {
data: {
frames: [
{
src: "/common/asserts/heart78.png",
src: "/common/assets/heart78.png",
},
{
src: "/common/asserts/heart79.png",
src: "/common/assets/heart79.png",
},
{
src: "/common/asserts/heart80.png",
src: "/common/assets/heart80.png",
},
{
src: "/common/asserts/heart81.png",
src: "/common/assets/heart81.png",
},
{
src: "/common/asserts/heart82.png",
src: "/common/assets/heart82.png",
},
{
src: "/common/asserts/heart83.png",
src: "/common/assets/heart83.png",
},
{
src: "/common/asserts/heart84.png",
src: "/common/assets/heart84.png",
},
{
src: "/common/asserts/heart85.png",
src: "/common/assets/heart85.png",
},
{
src: "/common/asserts/heart86.png",
src: "/common/assets/heart86.png",
},
{
src: "/common/asserts/heart87.png",
src: "/common/assets/heart87.png",
},
{
src: "/common/asserts/heart88.png",
src: "/common/assets/heart88.png",
},
{
src: "/common/asserts/heart89.png",
src: "/common/assets/heart89.png",
},
{
src: "/common/asserts/heart90.png",
src: "/common/assets/heart90.png",
},
{
src: "/common/asserts/heart91.png",
src: "/common/assets/heart91.png",
},
{
src: "/common/asserts/heart92.png",
src: "/common/assets/heart92.png",
},
{
src: "/common/asserts/heart93.png",
src: "/common/assets/heart93.png",
},
{
src: "/common/asserts/heart94.png",
src: "/common/assets/heart94.png",
},
{
src: "/common/asserts/heart95.png",
src: "/common/assets/heart95.png",
},
{
src: "/common/asserts/heart96.png",
src: "/common/assets/heart96.png",
},
],
},


BIN
zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/searchCustomKeyboard-1.gif View File

Before After
Width: 267  |  Height: 561  |  Size: 285 KiB

BIN
zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/searchCustomKeyboard.png View File

Before After
Width: 309  |  Height: 612  |  Size: 60 KiB

BIN
zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/textAreaCustomKeyboard.png View File

Before After
Width: 311  |  Height: 616  |  Size: 59 KiB

BIN
zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/textAreaCustomKeyboard1.gif View File

Before After
Width: 267  |  Height: 561  |  Size: 285 KiB

BIN
zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/textInputCustomKeyboard.png View File

Before After
Width: 348  |  Height: 761  |  Size: 50 KiB

BIN
zh-cn/application-dev/reference/apis-arkui/arkui-ts/figures/textInputCustomKeyboard1.gif View File

Before After
Width: 267  |  Height: 561  |  Size: 285 KiB

+ 1
- 1
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-richeditor.md View File

@@ -1571,7 +1571,7 @@ getParagraphs(value?: RichEditorRange): Array\<RichEditorParagraphResult>

getSelection(): RichEditorSelection

获取选中内容。未选中时,返回光标所在span信息。
获取选中内容的范围和span信息。未选中时,返回光标所在span信息。

**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。



+ 53
- 26
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-search.md View File

@@ -303,7 +303,7 @@ customKeyboard(value: CustomBuilder | ComponentContent | undefined, options?: Ke

| 参数名 | 类型 | 必填 | 说明 |
| --------------------- | ------------------------------------------- | ---- | -------------------------------- |
| value | [CustomBuilder](ts-types.md#custombuilder8) \| [ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1)<sup>22+</sup> \| undefined<sup>22+</sup> | 是 | 自定义键盘。 |
| value | [CustomBuilder](ts-types.md#custombuilder8) \| [ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1)<sup>22+</sup> \| undefined<sup>22+</sup> | 是 | 自定义键盘。设定值为undefined时,关闭自定义键盘。 |
| options<sup>12+</sup> | [KeyboardOptions](ts-basic-components-richeditor.md#keyboardoptions12) | 否 | 设置自定义键盘是否支持避让功能。 |

### type<sup>11+</sup>
@@ -1358,47 +1358,74 @@ struct SearchExample {

### 示例3(设置自定义键盘)

该示例通过[customKeyboard](#customkeyboard10)(从API version 10开始)属性实现了自定义键盘的功能。
该示例通过[customKeyboard](#customkeyboard10)(从API version 10开始)属性分别将value中的入参类型设置为[CustomBuilder](ts-types.md#custombuilder8)和[ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1),实现了自定义键盘的功能。

从API version 22开始[customKeyboard](#customkeyboard10)属性新增了入参类型[ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1)。

```ts
// xxx.ets
import { ComponentContent } from '@kit.ArkUI';
class BuilderParams {
inputValue: string;
controller: SearchController;

constructor(inputValue: string, controller: SearchController) {
this.inputValue = inputValue;
this.controller = controller;
}
}
@Builder
function CustomKeyboardBuilder(builderParams: BuilderParams) {
Column() {
Row() {
Button('x').onClick(() => {
// 关闭自定义键盘
builderParams.controller.stopEditing();
}).margin(10)
}

Grid() {
ForEach([1, 2, 3, 4, 5, 6, 7, 8, 9, '*', 0, '#'], (item: number | string) => {
GridItem() {
Button(item + "")
.width(110).onClick(() => {
builderParams.inputValue += item;
})
}
})
}.maxCount(3).columnsGap(10).rowsGap(10).padding(5)
}.backgroundColor(Color.Gray)
}
@Entry
@Component
struct SearchExample {
controller: SearchController = new SearchController();
@State inputValue: string = "";
@State componentContent ?: ComponentContent<BuilderParams> = undefined;
@State builderParam: BuilderParams = new BuilderParams(this.inputValue, this.controller);
@State supportAvoidance: boolean = true;

// 自定义键盘组件
@Builder CustomKeyboardBuilder() {
Column() {
Button('x').onClick(() => {
// 关闭自定义键盘
this.controller.stopEditing();
})
Grid() {
ForEach([1, 2, 3, 4, 5, 6, 7, 8, 9, '*', 0, '#'], (item: number | string) => {
GridItem() {
Button(item + "")
.width(110).onClick(() => {
this.inputValue += item;
})
}
})
}.maxCount(3).columnsGap(10).rowsGap(10).padding(5)
}.backgroundColor(Color.Gray)
aboutToAppear(): void {
// 创建ComponentContent
this.componentContent = new ComponentContent(this.getUIContext(), wrapBuilder(CustomKeyboardBuilder), this.builderParam);
}

build() {
build(){
Column() {
Search({ controller: this.controller, value: this.inputValue})
// 绑定自定义键盘
.customKeyboard(this.CustomKeyboardBuilder()).margin(10).border({ width: 1 })
Text('Builder').margin(10).border({ width: 1 })
Search({ controller: this.builderParam.controller, text: this.builderParam.inputValue })
.customKeyboard(this.componentContent, { supportAvoidance: this.supportAvoidance })
.margin(10).border({ width: 1 }).height('48vp')

Text('ComponentContent').margin(10).border({ width: 1 })
Search({ controller: this.builderParam.controller, text: this.builderParam.inputValue })
.customKeyboard(CustomKeyboardBuilder(this.builderParam), { supportAvoidance: this.supportAvoidance })
.margin(10).border({ width: 1 }).height('48vp')
}
}
}
```

![customKeyboard](figures/searchCustomKeyboard.png)
![customKeyboard](figures/searchCustomKeyboard-1.gif)

### 示例4(设置输入法回车键类型)



+ 53
- 26
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-textarea.md View File

@@ -453,7 +453,7 @@ customKeyboard(value: CustomBuilder | ComponentContent | undefined, options?: Ke

| 参数名 | 类型 | 必填 | 说明 |
| --------------------- | ------------------------------------------- | ---- | ------------------------------------------------------------ |
| value |[CustomBuilder](ts-types.md#custombuilder8) \| [ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1)<sup>22+</sup> \| undefined<sup>22+</sup> | 是 | 自定义键盘。 |
| value |[CustomBuilder](ts-types.md#custombuilder8) \| [ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1)<sup>22+</sup> \| undefined<sup>22+</sup> | 是 | 自定义键盘。设定值为undefined时,关闭自定义键盘。 |
| options<sup>12+</sup> | [KeyboardOptions](ts-basic-components-richeditor.md#keyboardoptions12) | 否 | 设置自定义键盘是否支持避让功能。 |

### type<sup>11+</sup>
@@ -1605,47 +1605,74 @@ struct TextAreaExample {

### 示例3(设置自定义键盘)

从API version 10开始,该示例通过[customKeyboard](#customkeyboard10)属性实现了自定义键盘的功能。
该示例通过[customKeyboard](#customkeyboard10)(从API version 10开始)属性分别将value中的入参类型设置为[CustomBuilder](ts-types.md#custombuilder8)和[ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1),实现了自定义键盘的功能。

从API version 22开始[customKeyboard](#customkeyboard10)属性新增了入参类型[ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1)。

```ts
// xxx.ets
import { ComponentContent } from '@kit.ArkUI';
class BuilderParams {
inputValue: string;
controller: TextAreaController;

constructor(inputValue: string, controller: TextAreaController) {
this.inputValue = inputValue;
this.controller = controller;
}
}
@Builder
function CustomKeyboardBuilder(builderParams: BuilderParams) {
Column() {
Row() {
Button('x').onClick(() => {
// 关闭自定义键盘
builderParams.controller.stopEditing();
}).margin(10)
}

Grid() {
ForEach([1, 2, 3, 4, 5, 6, 7, 8, 9, '*', 0, '#'], (item: number | string) => {
GridItem() {
Button(item + "")
.width(110).onClick(() => {
builderParams.inputValue += item;
})
}
})
}.maxCount(3).columnsGap(10).rowsGap(10).padding(5)
}.backgroundColor(Color.Gray)
}
@Entry
@Component
struct TextAreaExample {
controller: TextAreaController = new TextAreaController();
@State inputValue: string = "";
@State componentContent ?: ComponentContent<BuilderParams> = undefined;
@State builderParam: BuilderParams = new BuilderParams(this.inputValue, this.controller);
@State supportAvoidance: boolean = true;

// 自定义键盘组件
@Builder CustomKeyboardBuilder() {
Column() {
Button('x').onClick(() => {
// 关闭自定义键盘
this.controller.stopEditing();
})
Grid() {
ForEach([1, 2, 3, 4, 5, 6, 7, 8, 9, '*', 0, '#'], (item: number | string) => {
GridItem() {
Button(item + "")
.width(110).onClick(() => {
this.inputValue += item;
})
}
})
}.maxCount(3).columnsGap(10).rowsGap(10).padding(5)
}.backgroundColor(Color.Gray)
aboutToAppear(): void {
// 创建ComponentContent
this.componentContent = new ComponentContent(this.getUIContext(), wrapBuilder(CustomKeyboardBuilder), this.builderParam);
}

build() {
build(){
Column() {
TextArea({ controller: this.controller, text: this.inputValue })
.customKeyboard(this.CustomKeyboardBuilder()).margin(10).border({ width: 1 })// 绑定自定义键盘
.height(200)
Text('Builder').margin(10).border({ width: 1 })
TextArea({ controller: this.builderParam.controller, text: this.builderParam.inputValue })
.customKeyboard(this.componentContent, { supportAvoidance: this.supportAvoidance })
.margin(10).border({ width: 1 }).height('48vp')

Text('ComponentContent').margin(10).border({ width: 1 })
TextArea({ controller: this.builderParam.controller, text: this.builderParam.inputValue })
.customKeyboard(CustomKeyboardBuilder(this.builderParam), { supportAvoidance: this.supportAvoidance })
.margin(10).border({ width: 1 }).height('48vp')
}
}
}
```

![customKeyboard](figures/textAreaCustomKeyboard.png)
![customKeyboard](figures/textAreaCustomKeyboard1.gif)

### 示例4(设置输入法回车键类型)



+ 53
- 26
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-textinput.md View File

@@ -578,7 +578,7 @@ customKeyboard(value: CustomBuilder | ComponentContent | undefined, options?: Ke

| 参数名 | 类型 | 必填 | 说明 |
| --------------------- | ------------------------------------------- | ---- | ------------------------------------------------------------ |
| value | [CustomBuilder](ts-types.md#custombuilder8) \| [ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1)<sup>22+</sup> \| undefined<sup>22+</sup> | 是 | 自定义键盘。 |
| value | [CustomBuilder](ts-types.md#custombuilder8) \| [ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1)<sup>22+</sup> \| undefined<sup>22+</sup> | 是 | 自定义键盘。设定值为undefined时,关闭自定义键盘。 |
| options<sup>12+</sup> | [KeyboardOptions](ts-basic-components-richeditor.md#keyboardoptions12) | 否 | 设置自定义键盘是否支持避让功能。 |

### enableAutoFill<sup>11+</sup>
@@ -2051,47 +2051,74 @@ struct TextInputExample {

### 示例3(设置自定义键盘)

从API version 10开始,该示例通过[customKeyboard](#customkeyboard10)属性实现了自定义键盘的功能。
该示例通过[customKeyboard](#customkeyboard10)(从API version 10开始)属性分别将value中的入参类型设置为[CustomBuilder](ts-types.md#custombuilder8)和[ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1),实现了自定义键盘的功能。

从API version 22开始[customKeyboard](#customkeyboard10)属性新增了入参类型[ComponentContent](../js-apis-arkui-ComponentContent.md#componentcontent-1)。

```ts
// xxx.ets
import { ComponentContent } from '@kit.ArkUI';
class BuilderParams {
inputValue: string;
controller: TextInputController;

constructor(inputValue: string, controller: TextInputController) {
this.inputValue = inputValue;
this.controller = controller;
}
}
@Builder
function CustomKeyboardBuilder(builderParams: BuilderParams) {
Column() {
Row() {
Button('x').onClick(() => {
// 关闭自定义键盘
builderParams.controller.stopEditing();
}).margin(10)
}

Grid() {
ForEach([1, 2, 3, 4, 5, 6, 7, 8, 9, '*', 0, '#'], (item: number | string) => {
GridItem() {
Button(item + "")
.width(110).onClick(() => {
builderParams.inputValue += item;
})
}
})
}.maxCount(3).columnsGap(10).rowsGap(10).padding(5)
}.backgroundColor(Color.Gray)
}
@Entry
@Component
struct TextInputExample {
controller: TextInputController = new TextInputController();
@State inputValue: string = "";
@State componentContent ?: ComponentContent<BuilderParams> = undefined;
@State builderParam: BuilderParams = new BuilderParams(this.inputValue, this.controller);
@State supportAvoidance: boolean = true;

// 自定义键盘组件
@Builder
CustomKeyboardBuilder() {
Column() {
Button('x').onClick(() => {
// 关闭自定义键盘
this.controller.stopEditing();
})
Grid() {
ForEach([1, 2, 3, 4, 5, 6, 7, 8, 9, '*', 0, '#'], (item: number | string) => {
GridItem() {
Button(item + "")
.width(110).onClick(() => {
this.inputValue += item;
})
}
})
}.maxCount(3).columnsGap(10).rowsGap(10).padding(5)
}.backgroundColor(Color.Gray)
aboutToAppear(): void {
// 创建ComponentContent
this.componentContent = new ComponentContent(this.getUIContext(), wrapBuilder(CustomKeyboardBuilder), this.builderParam);
}

build() {
build(){
Column() {
TextInput({ controller: this.controller, text: this.inputValue })// 绑定自定义键盘
.customKeyboard(this.CustomKeyboardBuilder()).margin(10).border({ width: 1 }).height('48vp')
Text('Builder').margin(10).border({ width: 1 })
TextInput({ controller: this.builderParam.controller, text: this.builderParam.inputValue })
.customKeyboard(this.componentContent, { supportAvoidance: this.supportAvoidance })
.margin(10).border({ width: 1 }).height('48vp')

Text('ComponentContent').margin(10).border({ width: 1 })
TextInput({ controller: this.builderParam.controller, text: this.builderParam.inputValue })
.customKeyboard(CustomKeyboardBuilder(this.builderParam), { supportAvoidance: this.supportAvoidance })
.margin(10).border({ width: 1 }).height('48vp')
}
}
}
```

![customKeyboard](figures/textInputCustomKeyboard.png)
![customKeyboard](figures/textInputCustomKeyboard1.gif)

### 示例4(设置右侧清除按钮样式)



+ 1
- 1
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-toggle.md View File

@@ -150,7 +150,7 @@ Switch类型的样式。
| 名称 | 类型 | 只读 | 可选 | 说明 |
| ----------------- | ------------------------------------------- | ---- | ---- | ------------------------------------------------------------ |
| pointRadius | number \| [Resource](ts-types.md#resource) | 否 | 是 | 设置Switch类型的圆形滑块半径,单位为vp。<br />**说明:**<br/>不支持百分比,设定值小于0时按照默认算法设置,设定值大于等于0时按照设定值设置。<br/>未设定此属性时,圆形滑块半径根据默认算法设置。<br/>默认算法:(组件高度(单位:vp) / 2) - (2vp * 组件高度(单位:vp) / 20vp)。 |
| unselectedColor | [ResourceColor](ts-types.md#resourcecolor) | 否 | 是 | 设置Switch类型关闭状态的背景颜色。<br />默认值:深色和浅色模式下均为0x337F7F7F。从API version 20开始,如果开启了[优化深浅色模式切换开销](../../../ui/ui-dark-light-color-adaptation.md#优化深浅色模式切换开销)能力,浅色模式下默认值为0x337F7F7F,深色模式下默认值为0x19000000。 |
| unselectedColor | [ResourceColor](ts-types.md#resourcecolor) | 否 | 是 | 设置Switch类型关闭状态的背景颜色。<br />默认值:深色和浅色模式下均为0x337F7F7F。从API version 20开始,如果开启了[优化深浅色模式切换开销](../../../ui/ui-dark-light-color-adaptation.md#优化深浅色模式切换开销)能力,浅色模式下默认值为0x19000000,表现效果为10%透明度的黑色;深色模式下默认值为0x19FFFFFF,表现效果为10%透明度的白色。 |
| pointColor | [ResourceColor](ts-types.md#resourcecolor) | 否 | 是 | 设置Switch类型的圆形滑块颜色。<br />默认值:$r('sys.color.ohos_id_color_foreground_contrary') |
| trackBorderRadius | number \| [Resource](ts-types.md#resource) | 否 | 是 | 设置Switch类型的滑轨的圆角,单位为vp。<br />**说明:**<br/>不支持百分比,设定值小于0时按照默认算法设置,设定值大于组件高度一半时按照组件高度一半设置,其他场合按照设定值设置。<br/>未设定此属性时,滑轨圆角根据默认算法设置。<br/>默认算法:组件高度(单位:vp) / 2。 |



+ 11
- 4
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-grid.md View File

@@ -2918,6 +2918,7 @@ GridDataSource说明及完整代码参考[示例2(可滚动Grid和滚动事件

```ts
import { GridDataSource } from './GridDataSource';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
@@ -2944,10 +2945,16 @@ struct GridExample {
// 点击按钮来调用contentSize函数获取内容尺寸
Button('GetContentSize')
.onClick(() => {
// 通过调用contentSize函数获取内容尺寸的宽度值
this.contentWidth = this.scroller.contentSize().width;
// 通过调用contentSize函数获取内容尺寸的高度值
this.contentHeight = this.scroller.contentSize().height;
// Scroller未绑定组件时会抛异常,需要加上try catch保护
try {
// 通过调用contentSize函数获取内容尺寸的宽度值
this.contentWidth = this.scroller.contentSize().width;
// 通过调用contentSize函数获取内容尺寸的高度值
this.contentHeight = this.scroller.contentSize().height;
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`Failed to get contentSize of the grid, code=${err.code}, message=${err.message}`);
}
})
// 将获取到的内容尺寸信息通过文本进行呈现
Text('Width:' + this.contentWidth + ',Height:' + this.contentHeight)


+ 13
- 5
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-list.md View File

@@ -1108,7 +1108,7 @@ List组件的滚动控制器,通过它控制List组件的滚动,仅支持一

### 导入对象

```
```ts
listScroller: ListScroller = new ListScroller();
```

@@ -2244,6 +2244,8 @@ List宽度属于lg及更大的断点区间时显示5列。

```ts
// xxx.ets
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct ListExample {
@@ -2266,10 +2268,16 @@ struct ListExample {
// 点击按钮来调用contentSize函数获取内容尺寸
Button('GetContentSize')
.onClick(()=> {
// 通过调用contentSize函数获取内容尺寸的宽度值
this.contentWidth=this.scrollerForList.contentSize().width;
// 通过调用contentSize函数获取内容尺寸的高度值
this.contentHeight=this.scrollerForList.contentSize().height;
// Scroller未绑定组件时会抛异常,需要加上try catch保护
try {
// 通过调用contentSize函数获取内容尺寸的宽度值
this.contentWidth=this.scrollerForList.contentSize().width;
// 通过调用contentSize函数获取内容尺寸的高度值
this.contentHeight=this.scrollerForList.contentSize().height;
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`Failed to get contentSize of the grid, code=${err.code}, message=${err.message}`);
}
})
// 将获取到的内容尺寸信息通过文本进行呈现
Text('Width:'+ this.contentWidth+',Height:'+ this.contentHeight)


+ 21
- 11
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-scroll.md View File

@@ -747,7 +747,7 @@ Scroll每帧缩放完成时触发的回调。

### 导入对象

```
```ts
scroller: Scroller = new Scroller();
```

@@ -1040,17 +1040,19 @@ contentSize(): SizeResult

获取滚动组件内容总大小。

> **说明:**
> **说明:**
>
> Grid、List、WaterFlow组件有懒加载机制,组件内容没有加载并布局完成时,内容总大小通过估算得到,估算结果可能会有误差。其中List组件可以通过childrenMainSize属性解决估算不准问题
> - Grid、List、WaterFlow和Scroll组件主轴方向内容大小为所有子组件布局后的总大小,交叉轴方向内容大小为组件自身交叉轴方向大小减去padding和border后的大小
>
> Grid、List、WaterFlow和Scroll组件主轴方向内容大小为所有子组件布局后的总大小,交叉轴方向内容大小为组件自身交叉轴方向大小减去padding和border后的大小
> - Grid、List、WaterFlow组件有懒加载机制,该接口依赖已布局的子节点进行估算。如果组件内容没有布局完成且子组件高度不一致,估算结果可能会有误差,需要开发者去适配,比如List组件可以通过childrenMainSize属性解决估算不准问题
>
> 当Scroll组件设置scrollable为ScrollDirection.FREE自由滚动模式时,获取到的内容总大小为子组件缩放后的总大小
> - 如果应用动态增删子节点,则需要应用动态获取内容总大小,来保证接口获取结果的即时性
>
> 当Scroll组件设置scrollable为ScrollDirection.None不可滚动时,获取到的内容总大小为0
> - 当Scroll组件设置scrollable为ScrollDirection.FREE自由滚动模式时,获取到的内容总大小为子组件缩放后的总大小
>
> 当Grid组件同时设置columnsTemplate和rowsTemplate,或columnsTemplate和rowsTemplate都不设置时即为不可滚动场景,此时获取到的内容总大小高度为0,宽度为Grid组件内容区宽度。
> - 当Scroll组件设置scrollable为ScrollDirection.None不可滚动时,获取到的内容总大小为0。
>
> - 当Grid组件同时设置columnsTemplate和rowsTemplate,或columnsTemplate和rowsTemplate都不设置时即为不可滚动场景,此时获取到的内容总大小高度为0,宽度为Grid组件内容区宽度。

**原子化服务API:** 从API version 22开始,该接口支持在原子化服务中使用。

@@ -1863,6 +1865,8 @@ struct ScrollZoomExample {

从API version 22 开始,该示例实现了获取内容总大小的功能。
```ts
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct ScrollExample1 {
@@ -1885,10 +1889,16 @@ struct ScrollExample1 {
// 点击按钮来调用contentSize函数获取内容尺寸
Button('GetContentSize')
.onClick(() => {
// 通过调用contentSize函数获取内容尺寸的宽度值
this.contentWidth = this.scroller.contentSize().width;
// 通过调用contentSize函数获取内容尺寸的高度值
this.contentHeight = this.scroller.contentSize().height;
// Scroller未绑定组件时会抛异常,需要加上try catch保护
try {
// 通过调用contentSize函数获取内容尺寸的宽度值
this.contentWidth = this.scroller.contentSize().width;
// 通过调用contentSize函数获取内容尺寸的高度值
this.contentHeight = this.scroller.contentSize().height;
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`Failed to get contentSize of the grid, code=${err.code}, message=${err.message}`);
}
})
// 将获取到的内容尺寸信息通过文本进行呈现
Text('Width:' + this.contentWidth + ',Height:' + this.contentHeight)


+ 16
- 14
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-swiper.md View File

@@ -63,7 +63,7 @@ Swiper(controller?: SwiperController)

index(value: number)

设置当前在容器中显示的子组件的索引值。设置小于0或大于等于子组件数量时,按照默认值0处理。
设置当前在容器中显示的子组件的索引值。

从API version 10开始,该属性支持[$$](../../../ui/state-management/arkts-two-way-sync.md)双向绑定变量。

@@ -97,7 +97,7 @@ autoPlay(value: boolean)

| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------- | ---- | -------------------------------------- |
| value | boolean | 是 | 子组件是否自动播放。<br/>默认值:false,不自动轮播。 |
| value | boolean | 是 | 子组件是否自动播放。<br/>true:自动播放;false:不自动播放。<br/>传入非法值时,按false处理。 |

### autoPlay<sup>18+</sup>

@@ -117,7 +117,7 @@ autoPlay(autoPlay: boolean, options: AutoPlayOptions)

| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------- | ---- | -------------------------------------- |
| autoPlay | boolean | 是 | 子组件是否自动播放。<br/>默认值:false,不自动轮播。 |
| autoPlay | boolean | 是 | 子组件是否自动播放。<br/>true:自动播放;false:不自动播放。<br/>传入非法值时,按false处理。 |
| options | [AutoPlayOptions](#autoplayoptions18对象说明)&nbsp; | 是 | 配置手指或者鼠标等按下屏幕时子组件是否停止自动播放。当stopWhenTouched设置为true时,多指按下场景中任意一个手指抬起后,将自动继续播放。<br/>默认值:{ stopWhenTouched: true },停止自动播放。 |

### indicator
@@ -202,7 +202,7 @@ loop(value: boolean)

effectMode(value: EdgeEffect)

设置边缘滑动效果,[loop](#loop) = false时生效。调用SwiperController.changeIndex()、SwiperController.showNext()和SwiperController.showPrevious()接口跳转至首尾页时不生效回弹。
设置边缘滑动效果,[loop](#loop) = false时生效。调用[SwiperController.changeIndex()](#changeindex12)[SwiperController.showNext()](#shownext)[SwiperController.showPrevious()](#showprevious)接口跳转至首尾页时不生效回弹。

**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。

@@ -232,7 +232,7 @@ interval(value: number)

| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------------------------------------------------- |
| value | number | 是 | 自动播放时播放的时间间隔。当小于[duration](#duration)属性值时,翻页完成后会立即开始下一次轮播。<br/>默认值:3000<br/>单位:毫秒<br/>取值范围:[0, +∞),设置小于0的值时,按照默认值处理。 |
| value | number | 是 | 自动播放时播放的时间间隔。当该值小于[duration](#duration)属性值时,翻页完成后会立即开始下一次轮播。<br/>默认值:3000<br/>单位:毫秒<br/>取值范围:[0, +∞),设置小于0的值时,按照默认值处理。 |

### duration

@@ -342,7 +342,7 @@ cachedCount(count: number, isShown: boolean)

> **说明:**
>
> - isShown属性为true,且设置的count过大时,如果前后预加载范围内可加载的节点不足,循环场景下同一个可加载节点只会布局在一侧。
> - isShown为true,且设置的count过大时,如果前后预加载范围内可加载的节点不足,循环场景下同一个可加载节点只会布局在一侧。

**卡片能力:** 从API version 15开始,该接口支持在ArkTS卡片中使用。

@@ -355,7 +355,7 @@ cachedCount(count: number, isShown: boolean)
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------------------- |
| count | number | 是 | 预加载子组件个数。<br/>默认值:1<br/>取值范围:[0, +∞),设置小于0的值时,按照默认值处理。 |
| isShown | boolean | 是 | 预加载范围内的节点是否进行绘制,不下渲染树。<br/>默认值:false,预加载范围内的节点不进行绘制。 |
| isShown | boolean | 是 | 预加载范围内的节点是否进行绘制,不下渲染树。<br/>true:预加载范围内的节点进行绘制;false:预加载范围内的节点不进行绘制。<br/>传入非法值时,按false处理。 |

### disableSwipe<sup>8+</sup>

@@ -391,7 +391,7 @@ displayCount(value: number | string | SwiperAutoFill, swipeByGroup?: boolean)
>
> - 按组进行翻页时,判定翻页的拖拽距离阈值将调整为Swiper宽度的50%(若按子元素翻页,该阈值为子元素宽度的50%)。若最后一组的子元素数量少于displayCount,将利用占位子元素进行填充,占位子元素仅用于布局定位,不显示任何内容,其位置将直接显示Swiper的背景样式。
>
> - displayCount设置为'auto',并且设置非循环时,选中导航点的位置与视窗内首个页面的位置保持一致。如果翻页完成后,视窗内首个页面仅部分显示在视窗内,选中导航点亦与页面的位置保持一致,位于两个未选中的导航点之间。在此情况下,建议开发者隐藏导航点。
> - displayCount设置为'auto',并且设置loop属性的值为false时,选中导航点的位置与视窗内首个页面的位置保持一致。如果翻页完成后,视窗内首个页面仅部分显示在视窗内,选中导航点亦与页面的位置保持一致,位于两个未选中的导航点之间。在此情况下,建议开发者隐藏导航点。
>
> - 导航点样式设定为圆形导航点,视窗内显示子元素数量等于1时(单页场景)或者 displayCount设置为'auto'时,显示导航点数量等于子元素数量。
>
@@ -942,7 +942,7 @@ start(value: LengthMetrics): T

| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| value | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 是 | 设置在RTL模式下为导航点距离Swiper组件右边的距离,在LTR模式下为导航点距离Swiper组件左边的距离。<br/>默认值:0<br/>单位:vp |
| value | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 是 | 设置在RTL模式下为导航点距离Swiper组件右边的距离,在LTR模式下为导航点距离Swiper组件左边的距离。<br/>默认值:0<br/>单位:vp<br/>取值范围:[0, Swiper宽度-导航点区域宽度],超出该范围时,取最近的边界值。 |

**返回值:**

@@ -966,7 +966,7 @@ end(value: LengthMetrics): T

| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------- | ---- | ---------------------------------------- |
| value | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 是 | 设置在RTL模式下为导航点距离Swiper组件左边的距离,在LTR模式下为导航点距离Swiper组件右边的距离。<br/>默认值:0<br/>单位:vp |
| value | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 是 | 设置在RTL模式下为导航点距离Swiper组件左边的距离,在LTR模式下为导航点距离Swiper组件右边的距离。<br/>默认值:0<br/>单位:vp<br/>取值范围:[0, Swiper宽度-导航点区域宽度],超出该范围时,取最近的边界值。 |

**返回值:**

@@ -1014,6 +1014,8 @@ static digit(): DigitIndicator

构造圆点指示器的样式,继承自[Indicator](#indicator10)。

**卡片能力:** 从API version 10开始,该接口支持在ArkTS卡片中使用。

**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。

**系统能力:** SystemCapability.ArkUI.ArkUI.Full
@@ -1052,7 +1054,7 @@ Swiper组件圆点导航指示器的宽,不支持设置百分比。

| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------- | ---- | ------------------------------------------------------------ |
| value | [Length](ts-types.md#length) | 是 | 设置Swiper组件圆点导航指示器的宽,不支持设置百分比。<br/>默认值:6<br/>单位:vp |
| value | [Length](ts-types.md#length) | 是 | 设置Swiper组件圆点导航指示器的宽,不支持设置百分比。<br/>默认值:6<br/>单位:vp<br/>取值范围:[0, +∞) |

**返回值:**

@@ -1076,7 +1078,7 @@ Swiper组件圆点导航指示器的高,不支持设置百分比。

| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------- | ---- | ------------------------------------------------------------ |
| value | [Length](ts-types.md#length) | 是 | 设置Swiper组件圆点导航指示器的高,不支持设置百分比。<br/>默认值:6<br/>单位:vp |
| value | [Length](ts-types.md#length) | 是 | 设置Swiper组件圆点导航指示器的高,不支持设置百分比。<br/>默认值:6<br/>单位:vp<br/>取值范围:[0, +∞) |

**返回值:**

@@ -1100,7 +1102,7 @@ selectedItemWidth(value: Length): DotIndicator

| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------- | ---- | ------------------------------------------------------------ |
| value | [Length](ts-types.md#length) | 是 | 设置选中Swiper组件圆点导航指示器的宽,不支持设置百分比。<br/>默认值:6<br/>单位:vp |
| value | [Length](ts-types.md#length) | 是 | 设置选中Swiper组件圆点导航指示器的宽,不支持设置百分比。<br/>默认值:6<br/>单位:vp<br/>取值范围:[0, +∞) |

**返回值:**

@@ -1124,7 +1126,7 @@ selectedItemHeight(value: Length): DotIndicator

| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------------- | ---- | ------------------------------------------------------------ |
| value | [Length](ts-types.md#length) | 是 | 设置选中Swiper组件圆点导航指示器的高,不支持设置百分比。<br/>默认值:6<br/>单位:vp |
| value | [Length](ts-types.md#length) | 是 | 设置选中Swiper组件圆点导航指示器的高,不支持设置百分比。<br/>默认值:6<br/>单位:vp<br/>取值范围:[0, +∞) |

**返回值:**



+ 11
- 4
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-waterflow.md View File

@@ -1949,6 +1949,7 @@ WaterFlowDataSource说明及完整代码参考[示例1使用基本瀑布流](#
```ts
// Index.ets
import { WaterFlowDataSource } from './WaterFlowDataSource';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
@@ -2000,10 +2001,16 @@ struct WaterFlowContentSizeDemo {
// 点击按钮来调用contentSize函数获取内容尺寸
Button('GetContentSize')
.onClick(() => {
// 通过调用contentSize函数获取内容尺寸的宽度值
this.contentWidth = this.scroller.contentSize().width;
// 通过调用contentSize函数获取内容尺寸的高度值
this.contentHeight = this.scroller.contentSize().height;
// Scroller未绑定组件时会抛异常,需要加上try catch保护
try {
// 通过调用contentSize函数获取内容尺寸的宽度值
this.contentWidth = this.scroller.contentSize().width;
// 通过调用contentSize函数获取内容尺寸的高度值
this.contentHeight = this.scroller.contentSize().height;
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`Failed to get contentSize of the grid, code=${err.code}, message=${err.message}`);
}
}).margin(5)
// 将获取到的内容尺寸信息通过文本进行呈现
Text('Width:' + this.contentWidth)


+ 5
- 7
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-types.md View File

@@ -775,17 +775,15 @@ Callback<T,V = void> = (data: T) => V;

## AccessibilityOptions<sup>14+</sup>对象说明

**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

| 名称 | 类型 | 只读 | 可选 | 说明 |
| ---------------------- | ------- | ---- | ---- | ------------------------------------------------------------ |
| accessibilityPreferred | boolean | 否 | 是 | 若accessibilityPreferred设置为true,则深度遍历每个子节点时优先选择该子节点的无障碍文本accessibilityText。<br/>若无障碍文本为空则选择本身Text文本,最终将拼接完成的文本设置给accessibilityText与Text都为空的父节点。<br/>若accessibilityPreferred设置为false,表示不启用此功能。<br/>默认值:false |
| stateControllerRoleType<sup>22+</sup> | [AccessibilityRoleType](ts-universal-attributes-accessibility.md#accessibilityroletype18枚举说明) | 否 | 是 | 指定特定类型的子组件。配置[accessibilityGroup](ts-universal-attributes-accessibility.md#accessibilitygroup14)的容器组件进行无障碍聚合后,会将该特定类型的子组件的选中状态和状态播报文本作为聚合组件的状态和播报文本。从而聚合屏幕朗读下的状态播报,避免需要对子组件单独进行聚焦。<br/>**说明:**<br/>如果聚合组件内有多个相同类型的子组件,则以组件树上该聚合组件下的第一个查找到的子组件为控制组件。<br/>不支持跨进程嵌入式组件内的特定类型,例如:卡片、EmbededUiextension。<br/>默认值:无指定组件 |
| stateControllerId<sup>22+</sup> | string | 否 | 是 | 指定特定[唯一标识ID](ts-universal-attributes-component-id.md#id)的子组件。配置[accessibilityGroup](ts-universal-attributes-accessibility.md#accessibilitygroup14)的容器组件进行无障碍聚合后,会将该特定标识的子组件的选中状态和状态播报文本作为聚合组件的状态和播报文本。从而聚合屏幕朗读下的状态播报,避免需要对子组件单独进行聚焦。<br/>**说明:**<br/>如果聚合组件内有多个相同类型的子组件,则以组件树上该聚合组件下的第一个查找到的子组件为控制组件。<br/>如果与stateControllerRoleType同时配置,则优先匹配ID一致的组件。<br/>不支持跨进程嵌入式组件内的特定类型,例如:卡片、EmbededUiextension。<br/>默认值:无指定组件 |
| actionControllerRoleType<sup>22+</sup> | [AccessibilityRoleType](ts-universal-attributes-accessibility.md#accessibilityroletype18枚举说明) | 否 | 是 | 指定特定类型的子组件。配置[accessibilityGroup](ts-universal-attributes-accessibility.md#accessibilitygroup14)的容器组件进行无障碍聚合后,如果触发无障碍的控制操作时,会将操作转发给该特定类型的子组件。从而聚合屏幕朗读下的点击事件,避免需要对子组件单独进行聚焦。<br/>**说明:**<br/>如果聚合组件内有多个相同类型的子组件,则以组件树上该聚合组件下的第一个查找到的子组件为控制组件。<br/>当前只支持无障碍点击操作。<br/>不支持跨进程嵌入式组件内的特定类型,例如:卡片、EmbededUiextension。<br/>默认值:无指定组件 |
| actionControllerId<sup>22+</sup> | string | 否 | 是 | 指定特定[唯一标识ID](ts-universal-attributes-component-id.md#id)的子组件。配置[accessibilityGroup](ts-universal-attributes-accessibility.md#accessibilitygroup14)的容器组件进行无障碍聚合后,如果触发无障碍的控制操作时,会将操作转发给该特定标识的子组件。从而聚合屏幕朗读下的点击事件,避免需要对子组件单独进行聚焦。<br/>**说明:**<br/>如果聚合组件内有多个相同类型的子组件,则以组件树上该聚合组件下的第一个查找到的子组件为控制组件。<br/>当前只支持无障碍点击操作。<br/>如果与actionControllerRoleType同时配置,则优先匹配ID一致的组件。<br/>不支持跨进程嵌入式组件内的特定类型,例如:卡片、EmbededUiextension。<br/>默认值:无指定组件 |
| accessibilityPreferred | boolean | 否 | 是 | 若accessibilityPreferred设置为true,则深度遍历每个子节点时优先选择该子节点的无障碍文本accessibilityText。<br/>若无障碍文本为空则选择本身Text文本,最终将拼接完成的文本设置给accessibilityText与Text都为空的父节点。<br/>若accessibilityPreferred设置为false,表示不启用此功能。<br/>默认值:false <br/>**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。|
| stateControllerRoleType<sup>23+</sup> | [AccessibilityRoleType](ts-universal-attributes-accessibility.md#accessibilityroletype18枚举说明) | 否 | 是 | 指定特定类型的子组件。配置[accessibilityGroup](ts-universal-attributes-accessibility.md#accessibilitygroup14)的容器组件进行无障碍聚合后,会将该特定类型的子组件的选中状态和状态播报文本作为聚合组件的状态和播报文本。从而聚合屏幕朗读下的状态播报,避免需要对子组件单独进行聚焦。<br/>**说明:**<br/>如果聚合组件内有多个相同类型的子组件,则以组件树上该聚合组件下的第一个查找到的子组件为控制组件。<br/>不支持跨进程嵌入式组件内的特定类型,例如:卡片、EmbededUiextension。<br/>默认值:无指定组件 <br/>**原子化服务API:** 从API version 23开始,该接口支持在原子化服务中使用。|
| stateControllerId<sup>23+</sup> | string | 否 | 是 | 指定特定[唯一标识ID](ts-universal-attributes-component-id.md#id)的子组件。配置[accessibilityGroup](ts-universal-attributes-accessibility.md#accessibilitygroup14)的容器组件进行无障碍聚合后,会将该特定标识的子组件的选中状态和状态播报文本作为聚合组件的状态和播报文本。从而聚合屏幕朗读下的状态播报,避免需要对子组件单独进行聚焦。<br/>**说明:**<br/>如果聚合组件内有多个相同类型的子组件,则以组件树上该聚合组件下的第一个查找到的子组件为控制组件。<br/>如果与stateControllerRoleType同时配置,则优先匹配ID一致的组件。<br/>不支持跨进程嵌入式组件内的特定类型,例如:卡片、EmbededUiextension。<br/>默认值:无指定组件 <br/>**原子化服务API:** 从API version 23开始,该接口支持在原子化服务中使用。|
| actionControllerRoleType<sup>23+</sup> | [AccessibilityRoleType](ts-universal-attributes-accessibility.md#accessibilityroletype18枚举说明) | 否 | 是 | 指定特定类型的子组件。配置[accessibilityGroup](ts-universal-attributes-accessibility.md#accessibilitygroup14)的容器组件进行无障碍聚合后,如果触发无障碍的控制操作时,会将操作转发给该特定类型的子组件。从而聚合屏幕朗读下的点击事件,避免需要对子组件单独进行聚焦。<br/>**说明:**<br/>如果聚合组件内有多个相同类型的子组件,则以组件树上该聚合组件下的第一个查找到的子组件为控制组件。<br/>当前只支持无障碍点击操作。<br/>不支持跨进程嵌入式组件内的特定类型,例如:卡片、EmbededUiextension。<br/>默认值:无指定组件 <br/>**原子化服务API:** 从API version 23开始,该接口支持在原子化服务中使用。|
| actionControllerId<sup>23+</sup> | string | 否 | 是 | 指定特定[唯一标识ID](ts-universal-attributes-component-id.md#id)的子组件。配置[accessibilityGroup](ts-universal-attributes-accessibility.md#accessibilitygroup14)的容器组件进行无障碍聚合后,如果触发无障碍的控制操作时,会将操作转发给该特定标识的子组件。从而聚合屏幕朗读下的点击事件,避免需要对子组件单独进行聚焦。<br/>**说明:**<br/>如果聚合组件内有多个相同类型的子组件,则以组件树上该聚合组件下的第一个查找到的子组件为控制组件。<br/>当前只支持无障碍点击操作。<br/>如果与actionControllerRoleType同时配置,则优先匹配ID一致的组件。<br/>不支持跨进程嵌入式组件内的特定类型,例如:卡片、EmbededUiextension。<br/>默认值:无指定组件 <br/>**原子化服务API:** 从API version 23开始,该接口支持在原子化服务中使用。|

## ScrollBarMargin<sup>20+</sup>对象说明



+ 1
- 1
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-attributes-accessibility.md View File

@@ -50,7 +50,7 @@ accessibilityGroup(isGroup: boolean, accessibilityOptions: AccessibilityOptions)

通过accessibilityPreferred启用优先拼接无障碍文本进行朗读后,将优先拼接其子组件的无障碍文本属性作为组件的合并文本。若某一子组件未设置无障碍文本,则继续拼接该子组件的通用文本属性,若该子组件没有通用文本属性,则忽略该子组件不进行拼接。

从API version 22开始,通过stateController和actionController参数,可以使用特定的子组件的状态信息和点击事件作为当前聚合组件的无障碍能力。
从API version 23开始,通过stateController和actionController参数,可以使用特定的子组件的状态信息和点击事件作为当前聚合组件的无障碍能力。

> **说明:**
>


+ 2
- 2
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-events-click.md View File

@@ -106,8 +106,8 @@ onClick(event: (event: ClickEvent) => void): T
| windowY<sup>10+</sup> | number | 否 | 否 | 点击位置相对于应用窗口左上角的Y坐标,onClick的distanceThreshold设置后,点击位置为抬手点。<br/>单位:vp<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
| displayX<sup>10+</sup> | number | 否 | 否 | 点击位置相对于应用屏幕左上角的X坐标。<br/>单位:vp<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
| displayY<sup>10+</sup> | number | 否 | 否 | 点击位置相对于应用屏幕左上角的Y坐标。<br/>单位:vp<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
| screenX<sup>(deprecated)</sup> | number | 否 | 否 | 点击位置相对于应用窗口左上角的X坐标。<br>单位:vp<br/>从API version 10开始不再维护,建议使用windowX代替。 |
| screenY<sup>(deprecated)</sup> | number | 否 | 否 | 点击位置相对于应用窗口左上角的Y坐标。<br>单位:vp<br/>从API version 10开始不再维护,建议使用windowY代替。 |
| screenX<sup>(deprecated)</sup> | number | 否 | 否 | 点击位置相对于应用窗口左上角的X坐标。<br>单位:vp<br/>**说明:** 从API version 7开始支持,从API version 10开始废弃,建议使用windowX替代。 |
| screenY<sup>(deprecated)</sup> | number | 否 | 否 | 点击位置相对于应用窗口左上角的Y坐标。<br>单位:vp<br/>**说明:** 从API version 7开始支持,从API version 10开始废弃,建议使用windowY替代。 |
| preventDefault<sup>12+</sup> | () => void | 否 | 否 | 阻止默认事件。<br/> **说明:**&nbsp;该接口仅支持部分组件使用,当前支持组件:RichEditor、Hyperlink,不支持的组件使用时会抛出异常。暂不支持异步调用和提供Modifier接口。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
| hand<sup>15+</sup> | [InteractionHand](./ts-appendix-enums.md#interactionhand15) | 否 | 是 | 表示事件是由左手点击还是右手点击触发。<br />**原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 |
| globalDisplayX<sup>20+</sup> | number | 否 | 是 | 点击位置相对于全局屏幕的左上角的X坐标。<br/>单位:vp<br/>取值范围:[0, +∞)<br/>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 |


+ 10
- 2
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-events-drag-drop.md View File

@@ -660,7 +660,11 @@ setDataLoadParams(dataLoadParams: DataLoadParams): void

getX(): number

当前拖拽点相对于窗口左上角的x轴坐标,单位为vp。从API version 10开始不再维护,建议使用[getWindowX()](#getwindowx10)代替。
当前拖拽点相对于窗口左上角的x轴坐标,单位为vp。

> **说明:**
>
> 从API version 7开始支持,从API version 10开始废弃,建议使用[getWindowX](#getwindowx10)替代。

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

@@ -674,7 +678,11 @@ getX(): number

getY(): number

当前拖拽点相对于窗口左上角的y轴坐标,单位为vp。从API version 10开始不再维护,建议使用[getWindowY()](#getwindowy10)代替。
当前拖拽点相对于窗口左上角的y轴坐标,单位为vp。

> **说明:**
>
> 从API version 7开始支持,从API version 10开始废弃,建议使用[getWindowY](#getwindowy10)替代。

**系统能力:** SystemCapability.ArkUI.ArkUI.Full



+ 2
- 2
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-events-touch.md View File

@@ -91,8 +91,8 @@ getHistoricalPoints(): Array&lt;HistoricalPoint&gt;
| windowY<sup>10+</sup> | number | 否 | 否 | 触摸点相对于应用窗口左上角的Y坐标。<br/>单位:vp<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
| displayX<sup>10+</sup> | number | 否 | 否 | 触摸点相对于应用屏幕左上角的X坐标。<br/>单位:vp<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
| displayY<sup>10+</sup> | number | 否 | 否 | 触摸点相对于应用屏幕左上角的Y坐标。<br/>单位:vp<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
| screenX<sup>(deprecated)</sup> | number | 否 | 否 | 触摸点相对于应用窗口左上角的X坐标。<br/>单位:vp <br>从API version 10开始不再维护,建议使用windowX代替。 |
| screenY<sup>(deprecated)</sup> | number | 否 | 否 | 触摸点相对于应用窗口左上角的Y坐标。<br/>单位:vp <br>从API version 10开始不再维护,建议使用windowY代替。 |
| screenX<sup>(deprecated)</sup> | number | 否 | 否 | 触摸点相对于应用窗口左上角的X坐标。<br/>单位:vp <br>**说明:** 从API version 7开始支持,从API version 10开始废弃,建议使用windowX替代。 |
| screenY<sup>(deprecated)</sup> | number | 否 | 否 | 触摸点相对于应用窗口左上角的Y坐标。<br/>单位:vp <br>**说明:** 从API version 7开始支持,从API version 10开始废弃,建议使用windowY替代。 |
| pressedTime<sup>15+</sup> | number | 否 | 是 | 当前手指按下的时间。<br>单位:ns<br />**原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 |
| pressure<sup>15+</sup> | number | 否 | 是 | 当前手指按压的压力值。<br/>取值范围:[0,65535),压力越大,值越大。<br />**原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 |
| width<sup>15+</sup> | number | 否 | 是 | 当前手指按压区域的宽度。<br />单位:vp<br/>**原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 |


+ 2
- 2
zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-universal-mouse-key.md View File

@@ -53,8 +53,8 @@ onMouse(event: (event: MouseEvent) => void): T
| windowY<sup>10+</sup> | number | 否 | 否 |鼠标位置相对于应用窗口左上角的y轴坐标。<br/>单位:vp<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
| displayX<sup>10+</sup> | number | 否 | 否 |鼠标位置相对于应用屏幕左上角的x轴坐标。<br/>单位:vp<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
| displayY<sup>10+</sup> | number | 否 | 否 |鼠标位置相对于应用屏幕左上角的y轴坐标。<br/>单位:vp<br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 |
| screenX<sup>(deprecated)</sup> | number | 否 | 否 |鼠标位置相对于应用窗口左上角的x轴坐标。<br>单位:vp<br/>从API version 10开始不再维护,建议使用windowX代替。 |
| screenY<sup>(deprecated)</sup> | number | 否 | 否 |鼠标位置相对于应用窗口左上角的y轴坐标。<br>单位:vp<br/>从API version 10开始不再维护,建议使用windowY代替。 |
| screenX<sup>(deprecated)</sup> | number | 否 | 否 |鼠标位置相对于应用窗口左上角的x轴坐标。<br>单位:vp<br/>**说明:** 从API version 8开始支持,从API version 10开始废弃,建议使用windowX替代。 |
| screenY<sup>(deprecated)</sup> | number | 否 | 否 |鼠标位置相对于应用窗口左上角的y轴坐标。<br>单位:vp<br/>**说明:** 从API version 8开始支持,从API version 10开始废弃,建议使用windowY替代。 |
| rawDeltaX<sup>15+</sup> | number | 否 | 是 |鼠标设备在二维平面X轴的移动增量。其数值为鼠标硬件的原始移动数据,使用物理世界中鼠标移动的距离单位进行表示。上报数值由硬件本身决定,并非屏幕的物理/逻辑像素。<br/>**原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 |
| rawDeltaY<sup>15+</sup> | number | 否 | 是 |鼠标设备在二维平面Y轴的移动增量。其数值为鼠标硬件的原始移动数据,使用物理世界中鼠标移动的距离单位进行表示。上报数值由硬件本身决定,并非屏幕的物理/逻辑像素。<br/>**原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 |
| pressedButtons<sup>15+</sup> | MouseButton[] | 否 | 是 |当前按下的鼠标按键集合。<br/>**原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。 |


+ 11
- 11
zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-componentSnapshot.md View File

@@ -38,11 +38,11 @@ get(id: string, callback: AsyncCallback<image.PixelMap>, options?: SnapshotOptio

> **说明:**
>
> 从API version 18开始废弃,建议使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)获取[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)实例,再通过此实例调用替代方法[get](arkts-apis-uicontext-componentsnapshot.md#get12)
> - 从API version 10开始支持,从API version 18开始废弃,建议使用[get](arkts-apis-uicontext-componentsnapshot.md#get12)替代。get需先通过[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)方法获取[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)对象,然后通过该对象进行调用
>
> 从API version 12开始,可以通过使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)方法获取当前UI上下文关联的[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)对象。
>
> 截图会获取最近一帧的绘制内容。如果在组件触发更新的同时调用截图,更新的渲染内容不会被截取到,截图会返回上一帧的绘制内容。
> - 从API version 12开始,可以通过使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)方法获取当前UI上下文关联的[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)对象。
>
> - 截图会获取最近一帧的绘制内容。如果在组件触发更新的同时调用截图,更新的渲染内容不会被截取到,截图会返回上一帧的绘制内容。

**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。

@@ -121,7 +121,7 @@ get(id: string, options?: SnapshotOptions): Promise<image.PixelMap>

> **说明:**
>
> - 从API version 18开始废弃,建议使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)获取[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)实例,再通过此实例调用替代方法[get](arkts-apis-uicontext-componentsnapshot.md#get12-1)
> - 从API version 10开始支持,从API version 18开始废弃,建议使用[get](arkts-apis-uicontext-componentsnapshot.md#get12-1)替代。get需先通过[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)方法获取[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)对象,然后通过该对象进行调用
>
> - 从API version 12开始,可以通过使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)方法获取当前UI上下文关联的[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)对象。
>
@@ -208,7 +208,7 @@ createFromBuilder(builder: CustomBuilder, callback: AsyncCallback<image.PixelMap

> **说明:**
>
> - 从API version 18开始废弃,建议使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)获取[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)实例,再通过此实例调用替代方法[createFromBuilder](arkts-apis-uicontext-componentsnapshot.md#createfrombuilder12)
> - 从API version 10开始支持,从API version 18开始废弃,建议使用[createFromBuilder](arkts-apis-uicontext-componentsnapshot.md#createfrombuilder12)替代。createFromBuilder需先通过[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)方法获取[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)对象,然后通过该对象进行调用
>
> - 从API version 12开始,可以通过使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)方法获取当前UI上下文关联的[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)对象。
>
@@ -318,15 +318,15 @@ createFromBuilder(builder: CustomBuilder, delay?: number, checkImageStatus?: boo

> **说明:**
>
> 从API version 18开始废弃,建议使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)获取[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)实例,再通过此实例调用替代方法[createFromBuilder](arkts-apis-uicontext-componentsnapshot.md#createfrombuilder12-1)
> - 从API version 10开始支持,从API version 18开始废弃,建议使用[createFromBuilder](arkts-apis-uicontext-componentsnapshot.md#createfrombuilder12-1)替代。createFromBuilder需先通过[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)方法获取[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)对象,然后通过该对象进行调用
>
> 从API version 12开始,可以通过使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)方法获取当前UI上下文关联的[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)对象。
> - 从API version 12开始,可以通过使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getComponentSnapshot](arkts-apis-uicontext-uicontext.md#getcomponentsnapshot12)方法获取当前UI上下文关联的[ComponentSnapshot](arkts-apis-uicontext-componentsnapshot.md)对象。
>
> 由于需要等待组件构建、渲染成功,离屏截图的回调有500ms以内的延迟。
> - 由于需要等待组件构建、渲染成功,离屏截图的回调有500ms以内的延迟。
>
> builder中的组件不支持设置动画相关的属性,如[transition](arkui-ts/ts-transition-animation-component.md)。
> - builder中的组件不支持设置动画相关的属性,如[transition](arkui-ts/ts-transition-animation-component.md)。
>
> 部分执行耗时任务的组件可能无法及时在截图前加载完成,因此会截取不到加载成功后的图像。例如:加载网络图片的[Image](arkui-ts/ts-basic-components-image.md)组件、[Web](../apis-arkweb/arkts-basic-components-web.md)组件。
> - 部分执行耗时任务的组件可能无法及时在截图前加载完成,因此会截取不到加载成功后的图像。例如:加载网络图片的[Image](arkui-ts/ts-basic-components-image.md)组件、[Web](../apis-arkweb/arkts-basic-components-web.md)组件。

**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。



+ 4
- 4
zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-dragController.md View File

@@ -30,7 +30,7 @@ executeDrag(custom: CustomBuilder | DragItemInfo, dragInfo: DragInfo,callback:As

> **说明:**
>
> - 从API version 18开始废弃,建议使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)获取[DragController](arkts-apis-uicontext-dragcontroller.md)实例,再通过此实例调用替代方法[executeDrag](arkts-apis-uicontext-dragcontroller.md#executedrag11)
> - 从API version 10开始支持,从API version 18开始废弃,建议使用[executeDrag](arkts-apis-uicontext-dragcontroller.md#executedrag11)替代。executeDrag需先通过[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)方法获取[DragController](arkts-apis-uicontext-dragcontroller.md)实例,然后通过该对象进行调用
>
> - 从API version 11开始,可以通过使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)方法获取当前UI上下文关联的[DragController](arkts-apis-uicontext-dragcontroller.md)对象。

@@ -143,7 +143,7 @@ executeDrag(custom: CustomBuilder | DragItemInfo, dragInfo: DragInfo): Promise\<

> **说明:**
>
> - 从API version 18开始废弃,建议使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)获取[DragController](arkts-apis-uicontext-dragcontroller.md)实例,再通过此实例调用替代方法[executeDrag](arkts-apis-uicontext-dragcontroller.md#executedrag11-1)
> - 从API version 10开始支持,从API version 18开始废弃,建议使用[executeDrag](arkts-apis-uicontext-dragcontroller.md#executedrag11-1)替代。executeDrag需先通过[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)方法获取[DragController](arkts-apis-uicontext-dragcontroller.md)实例,然后通过该对象进行调用
>
> - 从API version 11开始,可以通过使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)方法获取当前UI上下文关联的[DragController](arkts-apis-uicontext-dragcontroller.md)对象。

@@ -301,7 +301,7 @@ createDragAction(customArray: Array&lt;CustomBuilder \| DragItemInfo&gt;, dragIn

> **说明:**
>
> - 从API version 11开始支持,从API version 18开始废弃,建议使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)获取[DragController](arkts-apis-uicontext-dragcontroller.md)实例,再通过此实例调用替代方法[createDragAction](arkts-apis-uicontext-dragcontroller.md#createdragaction11)
> - 从API version 11开始支持,从API version 18开始废弃,建议使用[createDragAction](arkts-apis-uicontext-dragcontroller.md#createdragaction11)替代。createDragAction需先通过[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)方法获取[DragController](arkts-apis-uicontext-dragcontroller.md)实例,然后通过该对象进行调用
>
> - 从API version 11开始,可以通过使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)方法获取当前UI上下文关联的[DragController](arkts-apis-uicontext-dragcontroller.md)对象。
>
@@ -918,7 +918,7 @@ getDragPreview(): DragPreview

> **说明:**
>
> - 从API version 11开始支持,从API version 18开始废弃,建议使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)获取[DragController](arkts-apis-uicontext-dragcontroller.md)实例,再通过此实例调用替代方法[getDragPreview](arkts-apis-uicontext-dragcontroller.md#getdragpreview11)
> - 从API version 11开始支持,从API version 18开始废弃,建议使用[getDragPreview](arkts-apis-uicontext-dragcontroller.md#getdragpreview11)替代。getDragPreview需先通过[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)方法获取[DragController](arkts-apis-uicontext-dragcontroller.md)实例,然后通过该对象进行调用
>
> - 从API version 11开始,可以通过使用[UIContext](arkts-apis-uicontext-uicontext.md)中的[getDragController](arkts-apis-uicontext-uicontext.md#getdragcontroller11)方法获取当前UI上下文关联的[DragController](arkts-apis-uicontext-dragcontroller.md)对象。



+ 107
- 107
zh-cn/application-dev/reference/apis-arkweb/arkts-apis-webview-WebCookieManager.md View File

@@ -1271,6 +1271,113 @@ struct WebComponent {
}
```

## setLazyInitializeWebEngine<sup>22+</sup>

static setLazyInitializeWebEngine(lazy: boolean): void

设置是否延后初始化ArkWeb内核,不调用该方法时,默认不延后初始化ArkWeb内核。

> **说明:**
>
> 该接口为全局静态方法,须在使用ArkWeb组件和初始化ArkWeb内核前调用,否则该设置无效。
>
> 该接口仅适用于调用后会初始化CookieManager的接口,比如本类WebCookieManager的其他接口。调用本接口设置为true后,再调用适用的接口,会在初始化CookieManager时跳过初始化ArkWeb内核,后续需自行初始化ArkWeb内核。

**系统能力:** SystemCapability.Web.Webview.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| ---- | ------- | -- | ------------------------- |
| lazy | boolean | 是 | 是否延后初始化ArkWeb内核,true:延后,false:不延后。 |

**示例:**

```ts
// xxx.ets
import { webview } from '@kit.ArkWeb';

webview.WebCookieManager.setLazyInitializeWebEngine(true);

@Entry
@Component
struct WebComponent {
controller: webview.WebviewController = new webview.WebviewController();

aboutToAppear(): void {
webview.WebCookieManager.configCookieSync('https://www.example.com', 'a=b');
webview.WebCookieManager.fetchCookieSync('https://www.example.com');
}

build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
}
}
}
```

## fetchAllCookies<sup>23+</sup>

static fetchAllCookies(incognito: boolean): Promise\<Array\<WebHttpCookie\>\>

获取所有cookie,使用Promise异步回调。

**系统能力:** SystemCapability.Web.Webview.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------- | -- | -------------------------------------- |
| incognito | boolean | 是 | true表示获取隐私模式下webview的所有cookie,false表示正常非隐私模式下的所有cookie。 |

**返回值:**

| 类型 | 说明 |
| ------ | ------------------------- |
| Promise\<Array\<[WebHttpCookie](./arkts-apis-webview-i.md#webhttpcookie23)\>\> | Promise对象,用于获取所有cookie及其对应的字段值。 |

**示例:**

```ts
// xxx.ets
import { webview } from '@kit.ArkWeb';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct WebComponent {
controller: webview.WebviewController = new webview.WebviewController()

build() {
Row() {
Column() {
Button('Config Cookie')
.onClick(() => {
try {
webview.WebCookieManager.configCookieSync('https://www.example.com', 'a=b');
} catch (error) {
console.error(`ErrorCode: ${(error as BusinessError).code}, Message: ${(error as BusinessError).message}`);
}
})

Button('Get All Cookies')
.onClick(() => {
webview.WebCookieManager.fetchAllCookies(false).then((cookies) => {
for (let i = 0; i < cookies.length; i++) {
console.info('fetchAllCookies cookie[' + i + '].name = ' + cookies[i].name);
console.info('fetchAllCookies cookie[' + i + '].value = ' + cookies[i].value);
}
})
})

Web({ src: 'https://www.example.com', controller: this.controller})
}
}
}
}
```

## getCookie<sup>(deprecated)</sup>

static getCookie(url: string): string
@@ -1458,111 +1565,4 @@ struct WebComponent {
}
}
}
```

## fetchAllCookies<sup>23+</sup>

static fetchAllCookies(incognito: boolean): Promise\<Array\<WebHttpCookie\>\>

获取所有cookie,使用Promise异步回调。

**系统能力:** SystemCapability.Web.Webview.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------- | -- | -------------------------------------- |
| incognito | boolean | 是 | true表示获取隐私模式下webview的所有cookie,false表示正常非隐私模式下的所有cookie。 |

**返回值:**

| 类型 | 说明 |
| ------ | ------------------------- |
| Promise\<Array\<[WebHttpCookie](./arkts-apis-webview-i.md#webhttpcookie23)\>\> | Promise对象,用于获取所有cookie及其对应的字段值。 |

**示例:**

```ts
// xxx.ets
import { webview } from '@kit.ArkWeb';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct WebComponent {
controller: webview.WebviewController = new webview.WebviewController()

build() {
Row() {
Column() {
Button('Config Cookie')
.onClick(() => {
try {
webview.WebCookieManager.configCookieSync('https://www.example.com', 'a=b');
} catch (error) {
console.error(`ErrorCode: ${(error as BusinessError).code}, Message: ${(error as BusinessError).message}`);
}
})

Button('Get All Cookies')
.onClick(() => {
webview.WebCookieManager.fetchAllCookies(false).then((cookies) => {
for (let i = 0; i < cookies.length; i++) {
console.info('fetchAllCookies cookie[' + i + '].name = ' + cookies[i].name);
console.info('fetchAllCookies cookie[' + i + '].value = ' + cookies[i].value);
}
})
})

Web({ src: 'https://www.example.com', controller: this.controller})
}
}
}
}
```

## setLazyInitializeWebEngine<sup>23+</sup>

static setLazyInitializeWebEngine(lazy: boolean): void

设置是否延后初始化ArkWeb内核,不调用该方法时,默认不延后初始化ArkWeb内核。

> **说明:**
>
> 该接口为全局静态方法,须在使用ArkWeb组件和初始化ArkWeb内核前调用,否则该设置无效。
>
> 该接口仅适用于调用后会初始化CookieManager的接口,比如本类WebCookieManager的其他接口。调用本接口设置为true后,再调用适用的接口,会在初始化CookieManager时跳过初始化ArkWeb内核,后续需自行初始化ArkWeb内核。

**系统能力:** SystemCapability.Web.Webview.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| ---- | ------- | -- | ------------------------- |
| lazy | boolean | 是 | 是否延后初始化ArkWeb内核,true:延后,false:不延后。 |

**示例:**

```ts
// xxx.ets
import { webview } from '@kit.ArkWeb';

webview.WebCookieManager.setLazyInitializeWebEngine(true);

@Entry
@Component
struct WebComponent {
controller: webview.WebviewController = new webview.WebviewController();

aboutToAppear(): void {
webview.WebCookieManager.configCookieSync('https://www.example.com', 'a=b');
webview.WebCookieManager.fetchCookieSync('https://www.example.com');
}

build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
}
}
}
```

+ 1
- 1
zh-cn/application-dev/reference/apis-arkweb/capi-native-interface-arkweb-h.md View File

@@ -611,7 +611,7 @@ void OH_NativeArkWeb_LazyInitializeWebEngineInCookieManager(bool lazy)
> - 该接口为全局静态方法,须在使用ArkWeb组件和初始化ArkWeb内核前调用,否则该设置无效。
> - 该接口仅适用于调用后会初始化CookieManager的接口,比如[ArkWeb_CookieManagerAPI](capi-web-arkweb-cookiemanagerapi.md)的接口。调用本接口后,再调用适用的接口,会在初始化CookieManager时跳过初始化ArkWeb内核,后续需自行初始化ArkWeb内核。
**起始版本:** 23
**起始版本:** 22
**参数:**


+ 4
- 4
zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-appAccount.md View File

@@ -4800,7 +4800,7 @@ getAllOAuthTokens(name: string, owner: string): Promise&lt;Array&lt;OAuthTokenIn

getOAuthList(name: string, authType: string, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void

获取指定应用账号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过setOAuthTokenVisibility(#setoauthtokenvisibilitydeprecated)来设置)。使用callback异步回调。
获取指定应用账号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过[setOAuthTokenVisibility](#setoauthtokenvisibilitydeprecated)来设置)。使用callback异步回调。

> **说明:**
>
@@ -4834,7 +4834,7 @@ getOAuthList(name: string, authType: string, callback: AsyncCallback&lt;Array&lt

getOAuthList(name: string, authType: string): Promise&lt;Array&lt;string&gt;&gt;

获取指定应用账号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过setOAuthTokenVisibility(#setoauthtokenvisibilitydeprecated)来设置)。使用Promise异步回调。
获取指定应用账号的特定鉴权类型的授权列表,即被授权的包名数组(令牌的授权列表通过[setOAuthTokenVisibility](#setoauthtokenvisibilitydeprecated)来设置)。使用Promise异步回调。

> **说明:**
>
@@ -5157,8 +5157,8 @@ getAuthenticatorInfo(owner: string): Promise&lt;AuthenticatorInfo&gt;

| 名称 | 值 | 说明 |
| -------------------------------- | ---------------------- | ----------------------- |
| ACTION_ADD_ACCOUNT_IMPLICITLY<sup>(deprecated)</sup> | 'addAccountImplicitly' | 表示操作,隐式添加账号。 |
| ACTION_AUTHENTICATE<sup>(deprecated)</sup> | 'authenticate' | 表示操作,鉴权。 |
| ACTION_ADD_ACCOUNT_IMPLICITLY<sup>(deprecated)</sup> | 'addAccountImplicitly' | 表示操作,隐式添加账号。<br>**说明:**从API version 8开始支持,从API version 9开始废弃,建议使用ACTION_CREATE_ACCOUNT_IMPLICITLY替代。 |
| ACTION_AUTHENTICATE<sup>(deprecated)</sup> | 'authenticate' | 表示操作,鉴权。<br>**说明:**从API version 8开始支持,从API version 9开始废弃,建议使用ACTION_AUTH替代。 |
| ACTION_CREATE_ACCOUNT_IMPLICITLY<sup>9+</sup> | 'createAccountImplicitly' | 表示操作,隐式创建账号。 |
| ACTION_AUTH<sup>9+</sup> | 'auth' | 表示操作,鉴权。 |
| ACTION_VERIFY_CREDENTIAL<sup>9+</sup> | 'verifyCredential' | 表示操作,验证凭据。 |


+ 2
- 2
zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-osAccount.md View File

@@ -3182,13 +3182,13 @@ updateAccountInfo(oldAccountInfo: DomainAccountInfo, newAccountInfo: DomainAccou
| localName | string | 否 | 否 | 系统账号名称。 |
| type | [OsAccountType](#osaccounttype) | 否 | 否 | 系统账号类型。 |
| constraints | Array&lt;string&gt; | 否 | 否 | 系统账号[约束](#系统账号约束列表),默认为空。|
| isVerified<sup>(deprecated)</sup> | boolean | 否 | 否 | 账号是否验证。true表示指定账号已验证;false表示指定账号未验证。<br>**说明**从API version 7开始支持,从API version 11开始废弃,建议使用isUnlocked。 |
| isVerified<sup>(deprecated)</sup> | boolean | 否 | 否 | 账号是否验证。true表示指定账号已验证;false表示指定账号未验证。<br>**说明**从API version 7开始支持,从API version 11开始废弃,建议使用isUnlocked。 |
| isUnlocked<sup>11+</sup> | boolean | 否 | 否 | 账号是否已解锁(EL2级别目录是否解密)。true表示指定账号已解锁;false表示指定账号未解锁。 |
| photo<sup>8+</sup> | string | 否 | 否 | 系统账号头像,默认为空。 |
| createTime<sup>8+</sup> | number | 否 | 否 | 系统账号创建时间。 |
| lastLoginTime<sup>8+</sup> | number | 否 | 否 | 系统账号最后一次登录时间,默认为空。 |
| serialNumber<sup>8+</sup> | number | 否 | 否 | 系统账号SN码。 |
| isActived<sup>(deprecated)</sup> | boolean | 否 | 否 | 系统账号激活状态。true表示指定账号处于激活状态;false表示指定账号处于未激活状态。<br>**说明**从API version 7开始支持,从API version 11开始废弃,建议使用isActivated。 |
| isActived<sup>(deprecated)</sup> | boolean | 否 | 否 | 系统账号激活状态。true表示指定账号处于激活状态;false表示指定账号处于未激活状态。<br>**说明**从API version 7开始支持,从API version 11开始废弃,建议使用isActivated。 |
| isActivated<sup>11+</sup> | boolean | 否 | 否 | 系统账号是否激活。true表示指定账号已激活;false表示指定账号未激活。 |
| isCreateCompleted<sup>8+</sup> | boolean | 否 | 否 | 系统账号创建是否完整。true表示指定账号已创建完整;false表示指定账号未创建完整。 |
| distributedInfo | [distributedAccount.DistributedInfo](js-apis-distributed-account.md#distributedinfo) | 否 | 否 | 分布式账号信息,默认为空。 |


+ 6
- 6
zh-cn/application-dev/reference/apis-connectivity-kit/js-apis-bluetoothManager-sys.md View File

@@ -63,7 +63,7 @@ cancelPairedDevice(deviceId: string): void
**示例:**

```js
import { BusinessError } from '@ohos.base';
import { BusinessError } from '@kit.BasicServicesKit';
try {
bluetoothManager.cancelPairedDevice("XX:XX:XX:XX:XX:XX");
} catch (err) {
@@ -112,7 +112,7 @@ connect(device: string): void
**示例:**

```js
import { BusinessError } from '@ohos.base';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let hidHostProfile: bluetoothManager.HidHostProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
hidHostProfile.connect('XX:XX:XX:XX:XX:XX');
@@ -162,7 +162,7 @@ disconnect(device: string): void
**示例:**

```js
import { BusinessError } from '@ohos.base';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let hidHostProfile: bluetoothManager.HidHostProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile;
hidHostProfile.disconnect('XX:XX:XX:XX:XX:XX');
@@ -213,7 +213,7 @@ disconnect(device: string): void
**示例:**

```js
import { BusinessError } from '@ohos.base';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let panProfile: bluetoothManager.PanProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
panProfile.disconnect('XX:XX:XX:XX:XX:XX');
@@ -262,7 +262,7 @@ setTethering(enable: boolean): void
**示例:**

```js
import { BusinessError } from '@ohos.base';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let panProfile: bluetoothManager.PanProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
panProfile.setTethering(true);
@@ -304,7 +304,7 @@ isTetheringOn(): boolean
**示例:**

```js
import { BusinessError } from '@ohos.base';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let panProfile: bluetoothManager.PanProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile;
panProfile.isTetheringOn();


+ 23
- 4
zh-cn/application-dev/security/CryptoArchitectureKit/crypto-generate-asym-key-pair-from-key-spec.md View File

@@ -34,6 +34,7 @@
- 以使用callback方式根据密钥参数生成RSA公钥为例:
```ts
import { cryptoFramework } from '@kit.CryptoArchitectureKit';

// RSA公钥密钥参数生成函数。
function genRsaPubKeySpec(nIn: bigint, eIn: bigint): cryptoFramework.RSAPubKeySpec {
let rsaCommSpec: cryptoFramework.RSACommonParamsSpec = {
@@ -49,14 +50,18 @@
};
return rsaPubKeySpec;
}

// 根据密钥参数构造RSA公钥规范对象。
function genRsa2048PubKeySpec() {
let nIn = BigInt('0x9260d0750ae117eee55c3f3deaba74917521a262ee76007cdf8a56755ad73a1598a1408410a01434c3f5bc54a88b57fa19fc4328daea0750a4c44e88cff3b2382621b80f670464433e4336e6d003e8cd65bff211da144b88291c2259a00a72b711c116ef7686e8fee34e4d933c868187bdc26f7be071493c86f7a5941c3510806ad67b0f94d88f5cf5c02a092821d8626e8932b65c5bd8c92049c210932b7afa7ac59c0e886ae5c1edb00d8ce2c57633db26bd6639bff73cee82be9275c402b4cf2a4388da8cf8c64eefe1c5a0f5ab8057c39fa5c0589c3e253f0960332300f94bea44877b588e1edbde97cf2360727a09b775262d7ee552b3319b9266f05a25');
let nIn =
BigInt('0x9260d0750ae117eee55c3f3deaba74917521a262ee76007cdf8a56755ad73a1598a1408410a01434c3f5bc54a88b57fa19fc4328daea0750a4c44e88cff3b2382621b80f670464433e4336e6d003e8cd65bff211da144b88291c2259a00a72b711c116ef7686e8fee34e4d933c868187bdc26f7be071493c86f7a5941c3510806ad67b0f94d88f5cf5c02a092821d8626e8932b65c5bd8c92049c210932b7afa7ac59c0e886ae5c1edb00d8ce2c57633db26bd6639bff73cee82be9275c402b4cf2a4388da8cf8c64eefe1c5a0f5ab8057c39fa5c0589c3e253f0960332300f94bea44877b588e1edbde97cf2360727a09b775262d7ee552b3319b9266f05a25');
let eIn = BigInt('0x010001');
return genRsaPubKeySpec(nIn, eIn);
}

// 将RSA公钥规格与预期值进行比较。
function compareRsaPubKeyBySpec(rsaKeySpec: cryptoFramework.RSAPubKeySpec, n: bigint | string | number, e: bigint | string | number) {
function compareRsaPubKeyBySpec(rsaKeySpec: cryptoFramework.RSAPubKeySpec, n: bigint | string | number,
e: bigint | string | number) {
if (typeof n === 'string' || typeof e === 'string') {
console.error('type is string');
return false;
@@ -73,6 +78,7 @@
}
return true;
}

// 根据RSA公钥规格生成RSA公钥,获取密钥规格,并与预期值进行比较。
function rsaUsePubKeySpecGetCallback() {
let rsaPubKeySpec = genRsa2048PubKeySpec();
@@ -96,6 +102,7 @@
- 同步返回结果(调用方法[generatePubKeySync](../../reference/apis-crypto-architecture-kit/js-apis-cryptoFramework.md#generatepubkeysync12)):
```ts
import { cryptoFramework } from '@kit.CryptoArchitectureKit';

// RSA公钥密钥参数生成函数。
function genRsaPubKeySpec(nIn: bigint, eIn: bigint): cryptoFramework.RSAPubKeySpec {
let rsaCommSpec: cryptoFramework.RSACommonParamsSpec = {
@@ -111,14 +118,18 @@
};
return rsaPubKeySpec;
}

// 根据密钥参数构造RSA公钥规范对象。
function genRsa2048PubKeySpec() {
let nIn = BigInt('0x9260d0750ae117eee55c3f3deaba74917521a262ee76007cdf8a56755ad73a1598a1408410a01434c3f5bc54a88b57fa19fc4328daea0750a4c44e88cff3b2382621b80f670464433e4336e6d003e8cd65bff211da144b88291c2259a00a72b711c116ef7686e8fee34e4d933c868187bdc26f7be071493c86f7a5941c3510806ad67b0f94d88f5cf5c02a092821d8626e8932b65c5bd8c92049c210932b7afa7ac59c0e886ae5c1edb00d8ce2c57633db26bd6639bff73cee82be9275c402b4cf2a4388da8cf8c64eefe1c5a0f5ab8057c39fa5c0589c3e253f0960332300f94bea44877b588e1edbde97cf2360727a09b775262d7ee552b3319b9266f05a25');
let nIn =
BigInt('0x9260d0750ae117eee55c3f3deaba74917521a262ee76007cdf8a56755ad73a1598a1408410a01434c3f5bc54a88b57fa19fc4328daea0750a4c44e88cff3b2382621b80f670464433e4336e6d003e8cd65bff211da144b88291c2259a00a72b711c116ef7686e8fee34e4d933c868187bdc26f7be071493c86f7a5941c3510806ad67b0f94d88f5cf5c02a092821d8626e8932b65c5bd8c92049c210932b7afa7ac59c0e886ae5c1edb00d8ce2c57633db26bd6639bff73cee82be9275c402b4cf2a4388da8cf8c64eefe1c5a0f5ab8057c39fa5c0589c3e253f0960332300f94bea44877b588e1edbde97cf2360727a09b775262d7ee552b3319b9266f05a25');
let eIn = BigInt('0x010001');
return genRsaPubKeySpec(nIn, eIn);
}

// 将RSA公钥规格与预期值进行比较。
function compareRsaPubKeyBySpec(rsaKeySpec: cryptoFramework.RSAPubKeySpec, n: bigint | string | number, e: bigint | string | number) {
function compareRsaPubKeyBySpec(rsaKeySpec: cryptoFramework.RSAPubKeySpec, n: bigint | string | number,
e: bigint | string | number) {
if (typeof n === 'string' || typeof e === 'string') {
console.error('type is string');
return false;
@@ -135,6 +146,7 @@
}
return true;
}

// 根据RSA公钥规格生成RSA公钥,获取密钥规格,并与预期值进行比较。
function rsaUsePubKeySpecGetSync() {
let rsaPubKeySpec = genRsa2048PubKeySpec();
@@ -193,6 +205,7 @@
console.info('. Hexadecimal: ' + bnValue.toString(16));
console.info('. Length (bits): ' + bnValue.toString(2).length);
}

// 根据关键规范构造EccCommonSpec结构体。EccCommonSpec结构体定义了ECC私钥和公钥的公共参数。
function genEccCommonSpec(): cryptoFramework.ECCCommonParamsSpec {
let fieldFp: cryptoFramework.ECFieldFp = {
@@ -215,6 +228,7 @@
}
return eccCommonSpec;
}

// 打印ECC密钥规格。
function showEccSpecDetailInfo(key: cryptoFramework.PubKey | cryptoFramework.PriKey, keyType: string) {
console.info('show detail of ' + keyType + ':');
@@ -254,6 +268,7 @@
console.error(`getAsyKeySpec failed, ${e.code}, ${e.message}`);
}
}

// 根据EccCommonSpec实例生成ECC密钥对,获取密钥规格。
function testEccUseCommKeySpecGet() {
try {
@@ -295,6 +310,7 @@
console.info('. Hexadecimal: ' + bnValue.toString(16));
console.info('. Length (bits): ' + bnValue.toString(2).length);
}

// 根据关键规范构造EccCommonSpec结构体。EccCommonSpec结构体定义了ECC私钥和公钥的公共参数。
function genEccCommonSpec(): cryptoFramework.ECCCommonParamsSpec {
let fieldFp: cryptoFramework.ECFieldFp = {
@@ -317,6 +333,7 @@
}
return eccCommonSpec;
}

// 打印ECC密钥规格。
function showEccSpecDetailInfo(key: cryptoFramework.PubKey | cryptoFramework.PriKey, keyType: string) {
console.info('show detail of ' + keyType + ':');
@@ -354,6 +371,7 @@
console.error(`getAsyKeySpec failed, ${e.code}, ${e.message}`);
}
}

// 根据EccCommonSpec实例生成ECC密钥对,获取密钥规格。
function testEccUseCommKeySpecGetSync() {
try {
@@ -436,6 +454,7 @@
};
return sm2KeyPairSpec;
}

function sm2TestSync() {
let sm2KeyPairSpec = genSM2KeyPairSpec();
let generatorBySpec = cryptoFramework.createAsyKeyGeneratorBySpec(sm2KeyPairSpec);


+ 1
- 1
zh-cn/application-dev/web/web-cookie-and-data-storage-mgmt.md View File

@@ -44,7 +44,7 @@ struct WebComponent {
}
```

同时,开发者可以通过[setLazyInitializeWebEngine()](../reference/apis-arkweb/arkts-apis-webview-WebCookieManager.md#setlazyinitializewebengine23),为“www\.example.com”设置单个Cookie的值“value=test”时跳过初始化ArkWeb内核,以节省[configCookieSync()](../reference/apis-arkweb/arkts-apis-webview-WebCookieManager.md#configcookiesync11)接口耗时。其他Cookie的相关功能及使用,请参考[WebCookieManager()](../reference/apis-arkweb/arkts-apis-webview-WebCookieManager.md)接口文档。
同时,开发者可以通过[setLazyInitializeWebEngine()](../reference/apis-arkweb/arkts-apis-webview-WebCookieManager.md#setlazyinitializewebengine22),为“www\.example.com”设置单个Cookie的值“value=test”时跳过初始化ArkWeb内核,以节省[configCookieSync()](../reference/apis-arkweb/arkts-apis-webview-WebCookieManager.md#configcookiesync11)接口耗时。其他Cookie的相关功能及使用,请参考[WebCookieManager()](../reference/apis-arkweb/arkts-apis-webview-WebCookieManager.md)接口文档。

<!-- @[set_lazy_initialize_web_engine](https://gitcode.com/openharmony/applications_app_samples/blob/master/code/DocsSample/ArkWeb/SetBasicAttrsEvts/SetBasicAttrsEvtsTwo/entry/src/main/ets/pages/CookieManagement_LazyInitializeWebEngine.ets) -->



Loading…
Cancel
Save
Baidu
map