LoginProtocolWebview.ets 2.16 KB
import router from '@ohos.router';
import webview from '@ohos.web.webview';
import { SpConstants } from 'wdConstant/Index';
import { Logger, SPHelper } from 'wdKit';
import { Params } from '../../../../../../../commons/wdRouter/oh_modules/wdBean/src/main/ets/bean/content/Params';


const TAG = 'LoginProtocolWebview';

@Entry
@Component
struct LoginProtocolWebview {
  webUrl: string = ''
  webviewController: webview.WebviewController = new webview.WebviewController()
  userProtocol = "https://cdnpeoplefrontuat.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1005.html"
  privateProtocol = 'https://cdnpeoplefrontuat.aikan.pdnews.cn/rmrb/rmrb-protocol-zh-web/0.0.1/app/protocol-1001.html'

  async aboutToAppear() {
    if (router.getParams()) {
      let params = router.getParams() as Params
      Logger.info(TAG, 'params.contentID:' + params.contentID);
      if (params.contentID == "1") {
        this.webUrl = await SPHelper.default.get(SpConstants.USER_PROTOCOL, this.userProtocol) as string
        this.webviewController.loadUrl(this.webUrl)

      } else {
        this.webUrl = await SPHelper.default.get(SpConstants.PRIVATE_PROTOCOL, this.privateProtocol) as string
        this.webviewController.loadUrl(this.webUrl)
      }
    }

  }

  build() {

    Column() {
      Row() {
        Image($r("app.media.login_back_icon"))
          .width(24)
          .aspectRatio(1)
          .onClick(() => {
            router.back();
          }).margin({ left: 16 })
        Text()
      }
      .alignItems(VerticalAlign.Center)
      .width('100%')
      .height(44)

      Web({ src: this.webUrl, controller: this.webviewController })
        .domStorageAccess(true)
        .databaseAccess(true)
        .javaScriptAccess(true)
        .zoomAccess(false)
        .horizontalScrollBarAccess(false)
        .verticalScrollBarAccess(false)
        .onHttpErrorReceive((event) => {
          //TODO 页面加载不成功的时候处理
          Logger.info(TAG, 'onHttpErrorReceive event.request.getRequestUrl:' + event?.request.getRequestUrl());
          Logger.info(TAG, 'onHttpErrorReceive event.response.getResponseCode:' + event?.response.getResponseCode());
        })
    }
  }
}