diff --git a/src/main/ets/pages/XWebview.ets b/src/main/ets/pages/XWebview.ets index 8c7c079..1b2a010 100644 --- a/src/main/ets/pages/XWebview.ets +++ b/src/main/ets/pages/XWebview.ets @@ -15,6 +15,7 @@ import { XWebManager } from '../utils/XWebManager'; @Entry({ routeName: 'XWebview' }) @Component export struct XWebview { + @LocalStorageLink('refresh_web_base') @Watch('onRefresh') refresh_web_base: number = -1 // 手机号 @State headers?: Array = (router.getParams() as XWebParams).headers @State url?: string = (router.getParams() as XWebParams).url @@ -34,7 +35,15 @@ export struct XWebview { dialogController: XDialogController = {} as XDialogController ports: webview.WebMessagePort[] = []; + onRefresh() { + if (this.refresh_web_base !== -1) { + this.controller.refresh() + } + + } + aboutToAppear(): void { + SZYXLocalStorageHelper.storage.setOrCreate('refresh_web_base', -1) SZYXLocalStorageHelper.storage.setOrCreate(SZYXLocalStorageKeys.XWebViewCLose, undefined) webview.WebviewController.setWebDebuggingAccess(true); if (this._uuidToHtml) { @@ -205,7 +214,7 @@ export struct XWebview { this.ports = this.controller.createWebMessagePorts(); this.ports[1].onMessageEvent((result: webview.WebMessage) => { if (typeof (result) === 'string') { - ToolsHelper.log(result, typeof (result)) + // ToolsHelper.log(result, typeof (result)) XWebManager.sendMessage(result) } }) diff --git a/src/main/ets/utils/XWebHelper.ets b/src/main/ets/utils/XWebHelper.ets index e7dde0c..75af43d 100644 --- a/src/main/ets/utils/XWebHelper.ets +++ b/src/main/ets/utils/XWebHelper.ets @@ -1,6 +1,6 @@ import { router, WebHeader } from '@kit.ArkUI'; import { BusinessError } from '@kit.BasicServicesKit'; -import { LogHelper } from '../../../../Index'; +import { LogHelper, SZYXLocalStorageHelper } from '../../../../Index'; import { baseEncode } from '../util/base64Util'; import { ToolsHelper } from './ToolsHelper'; import { XWebManager } from './XWebManager'; @@ -86,6 +86,10 @@ export class XWebHelper { }) } + public static refreshWeb() { + SZYXLocalStorageHelper.storage.setOrCreate('refresh_web_base', new Date().getTime()) + } + public static openPreview(params: XWebParams): Promise { params.url = `https://mdtdemo.51trust.com/preview/onlinePreview?url=${baseEncode(params.url)}&watermarkTxt=${encodeURI(params.watermarkTxt ??