docs(basic): 补充 README 中 JS 交互示例代码- 添加了定义 JS SDK 名称和方法列表的示例代码- 新增了 JSSdkClsManager 类,用于供 HTML调用的方法

- 更新了控制器定义和消息发送的示例代码
- 增加了原生向 web 发送消息和 html 调用原生方法的示例
这个提交包含在:
徐勤民 2025-03-11 09:53:41 +08:00
父节点 0dcbae9adc
当前提交 a1d2de88ba

查看文件

@ -161,6 +161,18 @@ XWebHelper.openWeb({
> >
> [详见官方文档](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V1/web-in-app-frontend-page-function-invoking-0000001630265293-V1) > [详见官方文档](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V1/web-in-app-frontend-page-function-invoking-0000001630265293-V1)
```tsx
// 定义`js`指定名称
export const JSSdkName = 'HarmonyOSWebView'
// 允许调用的方法列表
export const JSSdkMethodList = ['showToast']
export class JSSdkClsManager {
// 供`HTML`调用的方法
showToast(msg: string): void {
ToolsHelper.log('showToast', msg)
}
}
```
```tsx ```tsx
// 定义控制器 // 定义控制器
xc: XWebJsController = {} as XWebJsController xc: XWebJsController = {} as XWebJsController
@ -169,14 +181,17 @@ xc: XWebJsController = {} as XWebJsController
XWebHelper.openWeb({ XWebHelper.openWeb({
url: 'https://www.baidu.com', url: 'https://www.baidu.com',
jsParams: { jsParams: {
obj: new testClass(), obj: new JSSdkClsManager(),
name: JSSdkName, name: JSSdkName,
methodList: JSSdkMethodList, methodList: JSSdkMethodList,
controller: this.xc, controller: this.xc,
} }
}) })
//原生像web发送消息 // 交互消息的收发,见官方文档
this.xc.sendMessage('htmlTest()') // 原生向web发送消息
this.xc.sendMessage('发送给html的内容')
// html调用原生方法
window.HarmonyOSWebView.showToast('hello word!')
``` ```
### 1.7.[PickerDateTimeHelper](./src/main/ets/utils/PickerDateTimeHelper.ets) ### 1.7.[PickerDateTimeHelper](./src/main/ets/utils/PickerDateTimeHelper.ets)