oa-base/pages/index/index.nvue
Phoenix 0aaabd6807 1
2024-06-18 20:18:12 +08:00

79 lines
1.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="content">
<web-view class="webview" @onPostMessage="webLoad" :style="{height:`${systemInfo.windowHeight}px`,width:`${systemInfo.windowWidth}`}" ref="webViewRef" :src="config.h5Url"></web-view>
</div>
</template>
<script setup>
import { ref} from 'vue'
import config from "../../config";
import { onShow, onHide } from "@dcloudio/uni-app";
import {sendWebWiew,receiveWebView} from "@/utils/communicate";
const webViewRef=ref(null)
const systemInfo = uni.getSystemInfoSync();
// #ifdef APP-ANDROID
/* const permissionListener = uni.createRequestPermissionListener();
permissionListener.onRequest((e)=>{
})
permissionListener.onConfirm((e) => {
sendWebWiew(webViewRef.value,{auth:e,open:true})
});
permissionListener.onComplete((e) => {
sendWebWiew(webViewRef.value,{auth:e,open:false})
}); */
// #endif
//解决ios的h5问题获取网络权限之后重新加载
const networkStatusChange=(res)=>{
if(res.isConnected) {
uni.redirectTo({
url: '/pages/index/index'
})
} else {
uni.showToast({
title: '网络无连接',
icon: 'none'
})
}
}
const webViewObj=ref(null)
onShow(()=>{
uni.onNetworkStatusChange(networkStatusChange);
})
onHide(()=>{
uni.offNetworkStatusChange(networkStatusChange)
})
const webLoad=(e)=>{
const m=receiveWebView(e)
switch (m.action) {
//webview初始化加载完成
case 'load-complete':{
const systemInfo= uni.getSystemInfoSync()
uni.getLocation({
type: 'gcj02',
geocode: false,
isHighAccuracy: false,
success:async (res) => {
sendWebWiew(webViewRef.value,{...res,systemInfo})
},
fail: (e) => {
console.log(e);
}
})
}
}
}
</script>
<style>
.content {
display: flex;
flex: 1;
}
</style>