From 648904d076ae6e17892b40675598b1c8dc474277 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Fri, 24 Apr 2026 16:21:12 +0800
Subject: [PATCH] Merge branch 'feature/v9.0/9.0.3' into feature/v9.0/9.0.4
---
src/components/WebViewPlus.vue | 55 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 34 insertions(+), 21 deletions(-)
diff --git a/src/components/WebViewPlus.vue b/src/components/WebViewPlus.vue
index 13eaff8..a6ca687 100644
--- a/src/components/WebViewPlus.vue
+++ b/src/components/WebViewPlus.vue
@@ -1,40 +1,53 @@
<template>
- <web-view :src="src" @message="viewMessage"/>
+ <web-view :src="src" @message="viewMessage" :allow="allow"/>
</template>
+
<script setup>
-const src = defineModel('src')
-const emit = defineEmits(['webMessage'])
+
+const allow = "accelerometer;ambient-light-sensor;autoplay;battery;camera;clipboard-read;clipboard-write;cross-origin-isolated;display-capture;document-domain;encrypted-media;execution-while-not-rendered;execution-while-out-of-viewport;fullscreen;gamepad;geolocation;gyroscope;hid;idle-detection;local-fonts;magnetometer;microphone;midi;payment;picture-in-picture;publickey-credentials-get;screen-wake-lock;serial;speaker-selection;storage-access;sync-xhr;usb;web-share;xr-spatial-tracking"
+const src = defineModel("src");
+const emit = defineEmits(["webMessage"]);
function viewMessage(event) {
messageFun({
- data: {data: {arg: event.detail.data[0]}},
- type: 'WEB_INVOKE_APPSERVICE'
- })
+ data: {
+ data: {
+ arg: event.detail.data[0],
+ },
+ type: "WEB_INVOKE_APPSERVICE",
+ },
+ });
}
+
// WEB_INVOKE_APPSERVICE
function messageFun(e) {
- if(e.data.type === 'WEB_INVOKE_APPSERVICE'){
- if (e.data.data.arg.type === 'tokenExpired'){
- return uni.redirectTo({
- url: '/pages/login/index'
- })
+ if (e.data.type === "WEB_INVOKE_APPSERVICE") {
+ if (e.data.data.arg.type === "tokenExpired") {
+ return uni.reLaunch({
+ url: "/pages/login/index",
+ });
}
- emit('webMessage', e.data.data.arg)
+ emit("webMessage", e.data.data.arg);
}
}
+
+onLoad((obj) => {
+ // const h5Params = obj?.cs && JSON.parse(obj?.cs)
+ // console.log('h5Params', h5Params)
+ // h5Params && viewMessage({detail: {data: [h5Params.data]}})
+})
+
onShow(() => {
- window.addEventListener('message', messageFun)
-})
+ if (window && window.addEventListener)
+ window.addEventListener("message", messageFun);
+});
onHide(() => {
- window.removeEventListener('message', messageFun)
-})
-
-
+ if (window && window.removeEventListener)
+ window.removeEventListener("message", messageFun);
+});
</script>
-<style scoped lang="scss">
-
-</style>
+<style scoped lang="scss"></style>
--
Gitblit v1.9.3