102 lines
3.7 KiB
Vue
102 lines
3.7 KiB
Vue
<template>
|
|
<!-- <web-view class="webview" @message="webLoad" style="flex: 1;" :src="config.h5Url"></web-view> -->
|
|
<view style="position: absolute;bottom: 0;">124124</view>
|
|
</template>
|
|
<script setup>
|
|
import { ref } from 'vue'
|
|
import {onExit } from "@dcloudio/uni-app";
|
|
import config from "../../config"
|
|
const wv = plus.webview.create(config.h5Url,"custom-webview")
|
|
const currentPages=getCurrentPages()
|
|
const currentWebview = currentPages[currentPages.length-1].$getAppWebview()
|
|
currentWebview.append(wv)
|
|
const {statusBarHeight} = uni.getSystemInfoSync()
|
|
wv.setStyle({
|
|
top: statusBarHeight,
|
|
bottom: 20,
|
|
})
|
|
import { Communication } from '../../utils/communication.js';
|
|
const commun=new Communication()
|
|
|
|
// import {
|
|
// registerRequestPermissionTipsListener,
|
|
// unregisterRequestPermissionTipsListener,
|
|
// setRequestPermissionTips
|
|
// } from "@/uni_modules/uni-registerRequestPermissionTips"
|
|
|
|
// const PermissionTips = {
|
|
// "android.permission.READ_PHONE_STATE": "<h4 style=\"font-size:40px;\">正在读取网络状态权限</h4><font color=#cccccc>通讯录权限不会获取任何信息,请注意通讯录权限不会获取任何信息,请注意通讯录权限不会获取任何信息,请注意</font>",
|
|
// "android.permission.CAMERA": "<h4 style=\"font-size:40px;\">正在访问相机权限</h4><font color=#cccccc>需要扫描二维码或拍照,是否允许打开相机?</font>",
|
|
// "android.permission.WRITE_EXTERNAL_STORAGE": "<h4 style=\"font-size:40px;\">正在读取相册权限</h4><font color=#cccccc>我们需要获取访问您设备相册的权限,以便您能够选择并上传图片或视频到我们的应用中。</font>"
|
|
// }
|
|
// onExit(()=>{
|
|
// unregisterRequestPermissionTipsListener()
|
|
// })
|
|
|
|
// const brand = uni.getSystemInfoSync().deviceBrand
|
|
// setRequestPermissionTips(PermissionTips)
|
|
// registerRequestPermissionTipsListener({
|
|
// onRequest: (e) => {
|
|
// console.log('onRequest',e)
|
|
// },
|
|
// onConfirm: (e) => {
|
|
// commun.sendToH5('permission-application',{action:'open-permission',data:e});
|
|
// },
|
|
// onComplete: (e) => {
|
|
// commun.sendToH5('permission-application',{action:'close-permission',data:e});
|
|
|
|
// // 华为手机在权限禁止之后,再次申请权限不会出现权限申请框。此时应该引导用户去系统设置开启此权限,不应该频繁申请。
|
|
// if (brand.toLowerCase() === "huawei") {
|
|
// const tips = {}
|
|
// let hasDeniedPermission = false
|
|
// for (let k in PermissionTips) {
|
|
// if (e[k] !== "denied") {
|
|
// tips[k] = PermissionTips[k]
|
|
// } else {
|
|
// hasDeniedPermission = true
|
|
// }
|
|
// }
|
|
// setRequestPermissionTips(tips) // 更新弹框提醒,防止华为手机不出现权限申请框时权限提醒框闪烁的情况
|
|
// if (hasDeniedPermission)
|
|
// uni.showModal({
|
|
// content: "权限已经被拒绝,请前往设置中开启"
|
|
// })
|
|
// }
|
|
// }
|
|
// })
|
|
function initializeWebView() {
|
|
const currentWebview = getCurrentPages().pop().$getAppWebview()
|
|
commun.setWebView(currentWebview.children()[0])
|
|
}
|
|
//load-complete 注册函数
|
|
commun.registerHandler('load-complete',()=>{
|
|
initializeWebView()
|
|
const {statusBarHeight} = uni.getSystemInfoSync()
|
|
commun.webViewObj.setStyle({
|
|
top: statusBarHeight,
|
|
bottom: 0,
|
|
})
|
|
|
|
})
|
|
commun.registerHandler('getLocation',(data)=>{
|
|
uni.getLocation({
|
|
type:'gcj02',
|
|
geocode:true,
|
|
isHighAccuracy:true,
|
|
...data,
|
|
success: (res) => {
|
|
console.log('getLocation',res)
|
|
commun.sendToH5('getLocation',res);
|
|
},
|
|
})
|
|
})
|
|
const webLoad = (e) => {
|
|
const message = e.detail.data?.[0] || '';
|
|
commun.handleMessage(message);
|
|
};
|
|
</script>
|
|
|
|
<style>
|
|
|
|
</style>
|