From c369295dd32f5ef519132d3b8bb0fcfdd1de63a5 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Tue, 14 Oct 2025 14:08:09 +0800
Subject: [PATCH] feat: webviewplus

---
 src/components/WebViewPlus.vue           |   32 ++++++++++++++++
 src/pages/inspectionTask/AppPowerful.vue |   34 +++++++++++++++++
 src/pages/inspectionTask/index.vue       |   19 +++++++++
 3 files changed, 85 insertions(+), 0 deletions(-)

diff --git a/src/components/WebViewPlus.vue b/src/components/WebViewPlus.vue
new file mode 100644
index 0000000..b3ca12f
--- /dev/null
+++ b/src/components/WebViewPlus.vue
@@ -0,0 +1,32 @@
+<template>
+  <web-view :src="src" @message="viewMessage"/>
+</template>
+
+<script setup>
+
+const src = defineModel('src')
+const emit = defineEmits(['webMessage'])
+
+function viewMessage(event) {
+  messageFun({data: {data: {arg: event.detail.data[0]}}})
+}
+
+function messageFun(e) {
+  emit('webMessage', e.data.data.arg)
+}
+
+onShow(() => {
+  console.log('show')
+  window.addEventListener('message', messageFun)
+})
+onHide(() => {
+  console.log('hide')
+  window.removeEventListener('message', messageFun)
+})
+
+
+</script>
+
+<style scoped lang="scss">
+
+</style>
diff --git a/src/pages/inspectionTask/AppPowerful.vue b/src/pages/inspectionTask/AppPowerful.vue
new file mode 100644
index 0000000..af1edb0
--- /dev/null
+++ b/src/pages/inspectionTask/AppPowerful.vue
@@ -0,0 +1,34 @@
+<template>
+  <web-view ref="sWebViewRef" :src="src"
+            @message="viewMessage"/>
+</template>
+
+<script setup>
+import {onLoad} from "@dcloudio/uni-app";
+
+const src = defineModel('src')
+const emit = defineEmits(['webMessage'])
+
+function viewMessage(event) {
+  messageFun({data: {data: {arg: event.detail.data[0]}}})
+}
+
+function messageFun(e) {
+  emit('webMessage', e.data.data.arg)
+}
+
+onShow(() => {
+  console.log('show')
+  window.addEventListener('message', messageFun)
+})
+onHide(() => {
+  console.log('hide')
+  window.removeEventListener('message', messageFun)
+})
+
+
+</script>
+
+<style scoped lang="scss">
+
+</style>
diff --git a/src/pages/inspectionTask/index.vue b/src/pages/inspectionTask/index.vue
index 063f3b0..2500651 100644
--- a/src/pages/inspectionTask/index.vue
+++ b/src/pages/inspectionTask/index.vue
@@ -13,3 +13,22 @@
 <style scoped lang="scss">
 
 </style>
+
+
+<!--<template>-->
+<!--  <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage"/>-->
+<!--</template>-->
+
+<!--<script setup>-->
+<!--import {useUserStore} from "@/store/index.js";-->
+<!--import WebViewPlus from "@/components/WebViewPlus.vue";-->
+
+<!--const userStore = useUserStore();-->
+<!--const viewUrl = `http://192.168.1.15:5174/drone-app-web-view/#/appTaskDetails?params=${JSON.stringify(userStore?.userInfo)}`;-->
+<!--function onPostMessage(data) {-->
+<!--  console.log(data)-->
+<!--}-->
+<!--</script>-->
+<!--<style scoped lang="scss">-->
+
+<!--</style>-->

--
Gitblit v1.9.3