| src/pages/map/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/subPackages/qrCode/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/utils/common/index.js | ●●●●● patch | view | raw | blame | history |
src/pages/map/index.vue
@@ -2,7 +2,7 @@ * @Author : yuan * @Date : 2025-10-14 17:40:58 * @LastEditors : yuan * @LastEditTime : 2025-10-15 15:54:25 * @LastEditTime : 2025-10-20 09:21:34 * @FilePath : \src\pages\map\index.vue * @Description : * Copyright 2025 OBKoro1, All Rights Reserved. @@ -15,15 +15,18 @@ </template> <script setup> import { useUserStore } from "@/store/index.js"; import { getWebViewUrl } from "@/utils/index.js"; import WebViewPlus from "@/components/WebViewPlus.vue"; const userStore = useUserStore(); const viewUrl = `http://192.168.1.194:5174/drone-app-web-view/#/webViewWrapper/defaultMap?params=${JSON.stringify( userStore?.userInfo )}`; const viewUrl = getWebViewUrl("/defaultMap"); const onPostMessage = (event) => {}; const onPostMessage = (data) => { if (data.type === "scanCode") { uni.navigateTo({ url: "/subPackages/qrCode/index", }); } }; onLoad(() => {}); </script> src/subPackages/qrCode/index.vue
@@ -1,9 +1,24 @@ <template> <web-view ref="sWebViewRef" :src="`${viewUrl}`" /> <view class="page-wrap"> <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage" /> </view> </template> <script setup> const viewUrl = `https://192.168.1.194:5174/drone-app-web-view/#/webViewWrapper/QrCodeScanner`; import { getWebViewUrl } from "@/utils/index.js"; import WebViewPlus from "@/components/WebViewPlus.vue"; const viewUrl = getWebViewUrl("/QrCodeScanner"); const onPostMessage = (event) => {}; onLoad(() => {}); </script> <style lang="scss" scoped></style> <style lang="scss" scoped> .page-wrap { font-size: 20px; } </style> src/utils/common/index.js
@@ -1,5 +1,15 @@ /* * @Author : yuan * @Date : 2025-10-15 15:52:12 * @LastEditors : yuan * @LastEditTime : 2025-10-16 17:57:16 * @FilePath : \src\utils\common\index.js * @Description : * Copyright 2025 OBKoro1, All Rights Reserved. * 2025-10-15 15:52:12 */ // 小程序更新检测 import {useUserStore} from "@/store/index.js"; import { useUserStore } from "@/store/index.js" export function mpUpdate () { const updateManager = uni.getUpdateManager() @@ -29,22 +39,22 @@ }) } export function getWebViewUrl(targetUrl, otherParams) { const userStore = useUserStore(); const url = import.meta.env.VITE_APP_WEBVIEW_URL; export function getWebViewUrl (targetUrl, otherParams) { const userStore = useUserStore() const url = "https://wrj.shuixiongit.com/drone-app-web-view/#/webViewWrapper" // 1. 处理用户参数 const userParams = userStore?.userInfo ? JSON.stringify(userStore.userInfo) : '{}'; const userParams = userStore?.userInfo ? JSON.stringify(userStore.userInfo) : '{}' // 2. 构建查询参数字符串 let queryString = `params=${encodeURIComponent(userParams)}`; let queryString = `params=${encodeURIComponent(userParams)}` // 3. 处理 otherParams 对象 if (otherParams && typeof otherParams === 'object') { Object.keys(otherParams).forEach(key => { const value = otherParams[key]; const value = otherParams[key] if (value !== undefined && value !== null) { queryString += `&${key}=${encodeURIComponent(value)}`; queryString += `&${key}=${encodeURIComponent(value)}` } }); }) } // 4. 拼接完整 URL return `${url}${targetUrl}?${queryString}`; return `${url}${targetUrl}?${queryString}` }