罗广辉
2026-06-18 44dd9c4eb8a2489c63a5eb53fd4254bbb3510e95
src/pages/map/index.vue
@@ -1,68 +1,93 @@
<template>
   <view class="page-wrap">
      <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage" />
   </view>
  <view class="page-wrap">
    <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage" />
  </view>
</template>
<script setup>
   import {
      getWebViewUrl
   } from "@/utils/index.js";
   import WebViewPlus from "@/components/WebViewPlus.vue";
   // const viewUrl = getWebViewUrl("/defaultMap");
   const baseUrl = getWebViewUrl("/defaultMap");
import { getWebViewUrl } from "@/utils/index.js";
import WebViewPlus from "@/components/WebViewPlus.vue";
import { onHide, onShow } from "@dcloudio/uni-app";
import {getUserInfo} from "@/api/user/index.js";
   let envParam = "";
   // #ifdef WEB
   envParam = "isWeb=true";
   // #endif
   // #ifdef APP-PLUS
   envParam = "isWeb=false";
   // #endif
   const viewUrl = ref("");
   onMounted(() => {
      if (typeof baseUrl === "string") {
         viewUrl.value = baseUrl.includes("?") ?
            `${baseUrl}&${envParam}` :
            `${baseUrl}?${envParam}`;
      }
   });
   const onPostMessage = (data) => {
      if (data.type === "scanCode") {
         uni.navigateTo({
            url: "/subPackages/qrCode/index",
         });
      } else if (data.type === "jumpAddWork") { //新建任务
         const encodedData = encodeURIComponent(JSON.stringify(data.rowItem))
         uni.setStorageSync('webview_params', encodedData)
         uni.navigateTo({
            url: `/subPackages/taskDetail/addTask/index`,
         });
      } else 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}`
         });
      }
   };
let envParam = "";
// #ifdef WEB
envParam = "true";
// #endif
// #ifdef APP-PLUS
envParam = "false";
// #endif
   onShow(() => {
      uni.setTabBarItem({
         index: 2, // Tab 的索引(从0开始)
         visible: false,
      })
      uni.setTabBarItem({
         index: 3, // Tab
         visible: true,
      });
   })
const updateKey = ref(0);
const viewUrl = computed(() => {
  return getWebViewUrl("/defaultMap", {
    isWeb: envParam,
    updateKey: updateKey.value,
  });
});
const onPostMessage = (data) => {
  // #ifdef MP-WEIXIN
  if (data.type === "scanCode") {
  } else if (data.type === "jumpAddWork") {
  } else if (data.type === "jumpMapNav") {
    //事件导航
  } else if (data.type === "workid") {
    //事件详情
  }
  // #endif
  // #ifndef MP-WEIXIN
  if (data.type === "scanCode") {
    uni.navigateTo({
      url: "/subPackages/qrCode/index",
    });
  } else if (data.type === "jumpAddWork") {
    //新建任务
    const encodedData = encodeURIComponent(JSON.stringify(data.rowItem));
    uni.setStorageSync("webview_params", encodedData);
    uni.switchTab({
      url: `/subPackages/taskDetail/addTask/index`,
    });
  } else 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}`,
    });
  }
  // #endif
};
onShow(() => {
  // 验证一下有没有登录
  getUserInfo()
  // #ifndef MP-WEIXIN
  uni.setTabBarItem({
    index: 2, // Tab 的索引(从0开始)
    visible: false,
    pagePath: "subPackages/taskDetail/addTask/index",
  });
  uni.setTabBarItem({
    index: 3, // Tab
    visible: true,
  });
  // #endif
});
onHide(() => {
  updateKey.value = updateKey.value + 1;
});
</script>
<style scoped lang="scss">
   .page-wrap {
      font-size: 20px;
   }
.page-wrap {
  font-size: 20px;
}
</style>