张含笑
2025-10-20 f4de73c1cd56824f92f87fa119668564221827d7
Merge remote-tracking branch 'origin/master'
8 files modified
102 ■■■■ changed files
.vscode/settings.json 3 ●●●●● patch | view | raw | blame | history
env/.env.development 2 ●●●●● patch | view | raw | blame | history
package.json 26 ●●●●● patch | view | raw | blame | history
project.private.config.json 2 ●●● patch | view | raw | blame | history
src/manifest.json 3 ●●●● patch | view | raw | blame | history
src/pages/map/index.vue 17 ●●●●● patch | view | raw | blame | history
src/subPackages/qrCode/index.vue 21 ●●●● patch | view | raw | blame | history
src/utils/common/index.js 28 ●●●●● patch | view | raw | blame | history
.vscode/settings.json
@@ -35,4 +35,7 @@
    "editor.detectIndentation": true,
    // 重新设定tabsize
    "editor.tabSize": 4,
    "[dockerfile]": {
        "editor.defaultFormatter": "ms-azuretools.vscode-containers"
    },
}
env/.env.development
@@ -6,3 +6,5 @@
# 删除console
VITE_DROP_CONSOLE=false
VITE_APP_WEBVIEW_URL = 'https://wrj.shuixiongit.com/drone-app-web-view/#/webViewWrapper'
package.json
@@ -135,5 +135,31 @@
      "eslint --fix",
      "stylelint --fix"
    ]
  },
  "uni-app": {
    "scripts": {
      "h5-dev": {
        "title": "H5 开发环境",
        "env": {
          "UNI_PLATFORM": "h5",
          "NAME_ER": "development",
          "VITE_APP_WEBVIEW_URL": "https://wrj.shuixiongit.com/drone-app-web-view/#/webViewWrapper"
        }
      },
      "h5-test": {
        "title": "H5 测试环境",
        "env": {
          "UNI_PLATFORM": "h5",
          "NAME_ER": "test"
        }
      },
      "h5-prod": {
        "title": "H5 生产环境",
        "env": {
          "UNI_PLATFORM": "h5",
          "NAME_ER": "production"
        }
      }
    }
  }
}
project.private.config.json
@@ -1,6 +1,6 @@
{
  "libVersion": "3.9.1",
  "projectname": "uniapp-vue3-template",
  "projectname": "drone-app",
  "setting": {
    "urlCheck": true,
    "coverView": true,
src/manifest.json
@@ -19,7 +19,6 @@
      //自然方向
      "default"
    ],
    "usingComponents": true,
    "nvueStyleCompiler": "uni-app",
    "compilerVersion": 3,
@@ -87,7 +86,7 @@
  "h5": {
    "router": {
      "mode": "hash",
      "base": "/uniapp-vue3-template/"
            "base" : "/drone-app/"
    }
  }
}
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()
@@ -30,21 +40,21 @@
}
export function getWebViewUrl(targetUrl, otherParams) {
  const userStore = useUserStore();
  const url = import.meta.env.VITE_APP_WEBVIEW_URL;
  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}`
}