From 4a17f2242c6cfcf0ca3f3056f0b53ff15235bdf9 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 27 Apr 2026 17:01:35 +0800
Subject: [PATCH] feat: 微信地图定位
---
src/components/WebViewPlus.vue | 28 +++++++++++++++++++++++-----
1 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/src/components/WebViewPlus.vue b/src/components/WebViewPlus.vue
index 1d54046..d5e9d9d 100644
--- a/src/components/WebViewPlus.vue
+++ b/src/components/WebViewPlus.vue
@@ -2,11 +2,14 @@
<web-view :src="src" @message="viewMessage" :allow="allow"/>
</template>
+
<script setup>
+
const allow = "accelerometer;ambient-light-sensor;autoplay;battery;camera;clipboard-read;clipboard-write;cross-origin-isolated;display-capture;document-domain;encrypted-media;execution-while-not-rendered;execution-while-out-of-viewport;fullscreen;gamepad;geolocation;gyroscope;hid;idle-detection;local-fonts;magnetometer;microphone;midi;payment;picture-in-picture;publickey-credentials-get;screen-wake-lock;serial;speaker-selection;storage-access;sync-xhr;usb;web-share;xr-spatial-tracking"
const src = defineModel("src");
const emit = defineEmits(["webMessage"]);
+
function viewMessage(event) {
messageFun({
data: {
@@ -21,15 +24,30 @@
// WEB_INVOKE_APPSERVICE
function messageFun(e) {
if (e.data.type === "WEB_INVOKE_APPSERVICE") {
- if (e.data.data.arg.type === "tokenExpired") {
- return uni.reLaunch({
- url: "/pages/login/index",
- });
+ const {type,data} = e.data.data.arg
+ if (type === "tokenExpired") {
+ return uni.reLaunch({url: "/pages/login/index"});
+ }else if(type === "wxOpenLocation"){
+ return wx.openLocation({
+ latitude: data.latitude,
+ longitude: data.longitude,
+ name: data.name,
+ address: data.name,
+ scale: 18
+ })
+ }else{
+ emit("webMessage", e.data.data.arg);
}
- emit("webMessage", e.data.data.arg);
}
}
+
+onLoad((obj) => {
+ // const h5Params = obj?.cs && JSON.parse(obj?.cs)
+ // console.log('h5Params', h5Params)
+ // h5Params && viewMessage({detail: {data: [h5Params.data]}})
+})
+
onShow(() => {
if (window && window.addEventListener)
window.addEventListener("message", messageFun);
--
Gitblit v1.9.3