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