1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import web_webview from '@ohos.web.webview'; 17import baseData from '../../common/baseData' 18import logger from '../../common/logger' 19import returnInfo from '../component/autoManager/returnInfo' 20import utils from '../../common/utils' 21 22const TAG = 'UnitManagerShowPage'; 23 24@Entry 25@Component 26struct UnitManagerShowPage { 27 @StorageLink('manageUrl') manageUrl: string = AppStorage.Get('manageUrl'); 28 webviewController: web_webview.WebviewController = new web_webview.WebviewController(); 29 30 build() { 31 Column() { 32 GridContainer({ 33 columns: utils.isLargeDevice(), 34 sizeType: SizeType.Auto, 35 gutter: '12vp', 36 margin: '12vp' 37 }) { 38 Column() { 39 returnInfo({ headName: $r('app.string.manageInfo') }) 40 } 41 .useSizeType({ 42 xs: { span: 8, offset: 0 }, sm: { span: 8, offset: 0 }, 43 md: { span: 8, offset: 0 }, lg: { span: 12, offset: 0 } 44 }) 45 } 46 47 GridContainer({ 48 columns: utils.isLargeDevice(), 49 sizeType: SizeType.Auto, 50 gutter: '12vp', 51 margin: '12vp' 52 }) { 53 Column() { 54 Web({ src: this.manageUrl, controller: this.webviewController }) 55 .cacheMode(CacheMode.Online) 56 .fileAccess(false) 57 .javaScriptAccess(false) 58 .onErrorReceive((event?: { 59 request: WebResourceRequest, 60 error: WebResourceError 61 }) => { 62 logger.warn(TAG, 'error code=' + event.error.getErrorCode() 63 + ', error info=' + event.error.getErrorInfo()) 64 }) 65 .onHttpErrorReceive((event?: { 66 request: WebResourceRequest, 67 response: WebResourceResponse 68 }) => { 69 logger.warn(TAG, 'response code=' + event.response.getResponseCode() 70 + ', response message=' + event.response.getReasonMessage()) 71 }) 72 .onRenderExited((event?: { 73 renderExitReason: RenderExitReason 74 }) => { 75 logger.warn(TAG, 'renderExitReason=' + event.renderExitReason); 76 }) 77 .useSizeType({ 78 xs: { span: 4, offset: 2 }, sm: { span: 4, offset: 2 }, 79 md: { span: 4, offset: 2 }, lg: { span: 4, offset: 2 } 80 }) 81 } 82 .useSizeType({ 83 xs: { span: 8, offset: 0 }, sm: { span: 8, offset: 0 }, 84 md: { span: 8, offset: 0 }, lg: { span: 8, offset: 2 } 85 }) 86 } 87 } 88 .backgroundColor(0xF1F3F5) 89 .alignItems(HorizontalAlign.Center) 90 .width('100%') 91 .height('100%') 92 } 93 94 aboutToAppear() { 95 logger.info(TAG, 'enter UnitManagerShowPage') 96 if (!this.manageUrl.startsWith(baseData.HTTPS)) { 97 this.manageUrl = ''; 98 } 99 } 100}