From 32febb140d320b35d580c8d4e78a80ef846e75fc Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 19 Dec 2025 15:59:34 +0800
Subject: [PATCH] feat:webview通信处理

---
 src/pages/work/index.vue |   79 +++++++++++++++++++++++++++++----------
 1 files changed, 58 insertions(+), 21 deletions(-)

diff --git a/src/pages/work/index.vue b/src/pages/work/index.vue
index 7d2532e..afeaf42 100644
--- a/src/pages/work/index.vue
+++ b/src/pages/work/index.vue
@@ -1,38 +1,75 @@
 <template>
-	<view class="flex flex-col eventTickets">
-		 <WebViewPlus v-if="isApp" ref="sWebViewRef" :src="`${viewUrl}`" @webMessage="onPostMessage"/>
-
+	<view class="eventTickets">
+		<WebViewPlus ref="sWebViewRef" :src="`${viewUrl}`" @webMessage="onPostMessage" />
 	</view>
 
 </template>
 
 <script setup>
-	import {getWebViewUrl} from "@/utils/index.js";
-import WebViewPlus from "@/components/WebViewPlus.vue";
-const sWebViewRef = ref(null);
-const viewUrl = getWebViewUrl('/work', {})
-function onPostMessage(data) {
-	if(data.type==='workid'){
-    uni.navigateTo({
-      url: `/subPackages/workDetail/index?eventNum=${data.eventNum}`
-    });
-  }else if(data.type === 'bigImage'){
-    uni.navigateTo({
-      url: `/subPackages/workDetail/photoMagnify/index?eventNum=${data.eventNum}`
-    });
-  }
+	import {
+		getWebViewUrl
+	} from "@/utils/index.js";
+	import WebViewPlus from "@/components/WebViewPlus.vue";
+	import {
+		useTabAddButton
+	} from "@/hooks/index.js";
+	import { onShow, onHide } from "@dcloudio/uni-app";
+	
+	const sWebViewRef = ref(null);
+	// const viewUrl = getWebViewUrl('/work', {})
+	const updateKey = ref(0)
+	const viewUrl = computed(() => {
+		return getWebViewUrl('/work', {
+			updateKey: updateKey.value
+		})
+	})
 
-}
+	function onPostMessage(data) {
+		if (data.type === 'jumpMapNav') {
+			uni.navigateTo({
+				url: `/subPackages/workDetail/mapWork/index?currentItem=${data.eventNum}`
+			});
+
+		} else if (data.type === 'workid') {
+			uni.navigateTo({
+				url: `/subPackages/workDetail/index?eventNum=${data.eventNum}&totalNum=${data.totalNum}&keyword=${data.keyword}&aiType=${data.aiType}&status=${data.status}`
+			});
+		} else if (data.type === 'bigImage') {
+			uni.navigateTo({
+				url: `/subPackages/workDetail/photoMagnify/index?eventNum=${data.eventNum}`
+			});
+
+		}
+
+	}
 	const isApp = ref(false)
 	onShow(() => {
-	  isApp.value = true
+		const joinParams = uni.getStorageSync('joinParams');
+		if (joinParams) {
+			updateKey.value = updateKey.value + 1
+			uni.removeStorageSync('joinParams');
+		}
+		
+		uni.setStorageSync('lastTab', 'work');
+		uni.setTabBarItem({
+			index: 2,
+			text: '',
+			iconPath: 'static/images/tabbar/add.png',
+			selectedIconPath: 'static/images/tabbar/add.png'
+		});
+		// isApp.value = true
 	});
 
 	onHide(() => {
-	  isApp.value = false
+		// isApp.value = false
 	});
 </script>
 
 <style scoped lang="scss">
+	.eventTickets {
 
-</style>
+		width: 100%;
+		height: 100%;
+
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3