From f4de73c1cd56824f92f87fa119668564221827d7 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Mon, 20 Oct 2025 09:41:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/pages/map/index.vue          |   17 ++-
 env/.env.development             |    2 
 .vscode/settings.json            |    3 
 package.json                     |   26 +++++
 project.private.config.json      |    4 
 src/manifest.json                |  175 +++++++++++++++++-----------------
 src/subPackages/qrCode/index.vue |   21 +++
 src/utils/common/index.js        |   30 ++++--
 8 files changed, 168 insertions(+), 110 deletions(-)

diff --git a/.vscode/settings.json b/.vscode/settings.json
index 82300a8..0c07d0a 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -35,4 +35,7 @@
 	"editor.detectIndentation": true,
 	// 重新设定tabsize
 	"editor.tabSize": 4,
+	"[dockerfile]": {
+		"editor.defaultFormatter": "ms-azuretools.vscode-containers"
+	},
 }
\ No newline at end of file
diff --git a/env/.env.development b/env/.env.development
index aaf33b4..96b932b 100644
--- a/env/.env.development
+++ b/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'
diff --git a/package.json b/package.json
index 064f526..8b2d519 100644
--- a/package.json
+++ b/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"
+        }
+      }
+    }
   }
 }
diff --git a/project.private.config.json b/project.private.config.json
index c21ba1c..458576e 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -1,6 +1,6 @@
 {
   "libVersion": "3.9.1",
-  "projectname": "uniapp-vue3-template",
+  "projectname": "drone-app",
   "setting": {
     "urlCheck": true,
     "coverView": true,
@@ -11,4 +11,4 @@
     "showShadowRootInWxmlPanel": true,
     "compileHotReLoad": true
   }
-}
\ No newline at end of file
+}
diff --git a/src/manifest.json b/src/manifest.json
index d2a2945..01c7411 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -1,93 +1,92 @@
 {
-  "name": "掌控智飞",
-  "appid": "__UNI__0981D7F",
-  "description": "",
-  "versionName": "1.0.0",
-  "versionCode": "100",
-  "transformPx": false,
-  /* 5+App特有相关 */
-  "app-plus": {
-    "orientation": [
-      //竖屏正方向
-      "portrait-primary",
-      //竖屏反方向
-      "portrait-secondary",
-      //横屏正方向
-      "landscape-primary",
-      //横屏反方向
-      "landscape-secondary",
-      //自然方向
-      "default"
-    ],
-
-    "usingComponents": true,
-    "nvueStyleCompiler": "uni-app",
-    "compilerVersion": 3,
-    "splashscreen": {
-      "alwaysShowBeforeRender": true,
-      "waiting": true,
-      "autoclose": true,
-      "delay": 0
+    "name" : "掌控智飞",
+    "appid" : "__UNI__0981D7F",
+    "description" : "",
+    "versionName" : "1.0.0",
+    "versionCode" : "100",
+    "transformPx" : false,
+    /* 5+App特有相关 */
+    "app-plus" : {
+        "orientation" : [
+            //竖屏正方向
+            "portrait-primary",
+            //竖屏反方向
+            "portrait-secondary",
+            //横屏正方向
+            "landscape-primary",
+            //横屏反方向
+            "landscape-secondary",
+            //自然方向
+            "default"
+        ],
+        "usingComponents" : true,
+        "nvueStyleCompiler" : "uni-app",
+        "compilerVersion" : 3,
+        "splashscreen" : {
+            "alwaysShowBeforeRender" : true,
+            "waiting" : true,
+            "autoclose" : true,
+            "delay" : 0
+        },
+        /* 模块配置 */
+        "modules" : {},
+        /* 应用发布信息 */
+        "distribute" : {
+            /* android打包配置 */
+            "android" : {
+                "permissions" : [
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
+                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+                ]
+            },
+            /* ios打包配置 */
+            "ios" : {
+                "dSYMs" : false
+            },
+            /* SDK配置 */
+            "sdkConfigs" : {}
+        }
     },
-    /* 模块配置 */
-    "modules": {},
-    /* 应用发布信息 */
-    "distribute": {
-      /* android打包配置 */
-      "android": {
-        "permissions": [
-          "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-          "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-          "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-          "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-          "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-          "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-          "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-          "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-          "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-          "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-          "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-          "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-          "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-          "<uses-feature android:name=\"android.hardware.camera\"/>",
-          "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-        ]
-      },
-      /* ios打包配置 */
-      "ios": {
-        "dSYMs": false
-      },
-      /* SDK配置 */
-      "sdkConfigs": {}
-    }
-  },
-  /* 快应用特有相关 */
-  "quickapp": {},
-  /* 小程序特有相关 */
-  "mp-weixin": {
-    "appid": "wx1ff4bbc24b343ef1",
-    "setting": {
-      "urlCheck": false
+    /* 快应用特有相关 */
+    "quickapp" : {},
+    /* 小程序特有相关 */
+    "mp-weixin" : {
+        "appid" : "wx1ff4bbc24b343ef1",
+        "setting" : {
+            "urlCheck" : false
+        },
+        "usingComponents" : true
     },
-    "usingComponents": true
-  },
-  "mp-alipay": {
-    "usingComponents": true
-  },
-  "mp-baidu": {
-    "usingComponents": true
-  },
-  "mp-toutiao": {
-    "usingComponents": true
-  },
-  "uniStatistics": {
-    "enable": false
-  },
-  "vueVersion": "3",
-  "h5": {
-    "router": {
-      "mode": "hash",
-      "base": "/uniapp-vue3-template/"
+    "mp-alipay" : {
+        "usingComponents" : true
+    },
+    "mp-baidu" : {
+        "usingComponents" : true
+    },
+    "mp-toutiao" : {
+        "usingComponents" : true
+    },
+    "uniStatistics" : {
+        "enable" : false
+    },
+    "vueVersion" : "3",
+    "h5" : {
+        "router" : {
+            "mode" : "hash",
+            "base" : "/drone-app/"
+        }
     }
-  }
 }
diff --git a/src/pages/map/index.vue b/src/pages/map/index.vue
index 3a80b85..48f4aab 100644
--- a/src/pages/map/index.vue
+++ b/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>
diff --git a/src/subPackages/qrCode/index.vue b/src/subPackages/qrCode/index.vue
index ec04f71..91d0434 100644
--- a/src/subPackages/qrCode/index.vue
+++ b/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>
diff --git a/src/utils/common/index.js b/src/utils/common/index.js
index 6acbdb0..8d332d7 100644
--- a/src/utils/common/index.js
+++ b/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}`
 }

--
Gitblit v1.9.3