|
<template>
|
<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";
|
import { onHide, onShow } from "@dcloudio/uni-app";
|
import {getUserInfo} from "@/api/user/index.js";
|
|
let envParam = "";
|
// #ifdef WEB
|
envParam = "true";
|
// #endif
|
// #ifdef APP-PLUS
|
envParam = "false";
|
// #endif
|
|
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.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}`,
|
});
|
}
|
// #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;
|
}
|
</style>
|