From 70fbd76047bdb960f3b6214c24b5c0dd1674a3d0 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Wed, 29 Apr 2026 18:40:21 +0800
Subject: [PATCH] feat: 微信下载

---
 src/subPackages/downloadPage/index.vue |   13 ++++++
 src/pages.json                         |    8 +++
 src/components/WebViewPlus.vue         |   76 ++++++++++++++++++++++++++++++++++----
 3 files changed, 88 insertions(+), 9 deletions(-)

diff --git a/src/components/WebViewPlus.vue b/src/components/WebViewPlus.vue
index d5e9d9d..d7506f0 100644
--- a/src/components/WebViewPlus.vue
+++ b/src/components/WebViewPlus.vue
@@ -22,19 +22,79 @@
 }
 
 // WEB_INVOKE_APPSERVICE
+
+
+// 下载图片一次
+function oneImageDownload(url) {
+  return new Promise((resolve, reject) => {
+    wx.downloadFile({
+      url,
+      success: (res) => {
+        wx.saveImageToPhotosAlbum({
+          filePath: res.tempFilePath,
+          success: function (res) {
+            resolve()
+          },
+        });
+      },
+    });
+  })
+}
+
+// 多次图片下载
+function multipleImageDownloads(all){
+  // const downloadUrlList = [
+  //   // 'https://wrj.shuixiongit.com/aiskyminioTwo/cloud-bucket//089a4039-9c98-4441-abb7-1f9ac56caa8c/DJI_202604270944_002_089a4039-9c98-4441-abb7-1f9ac56caa8c/%E8%BD%A6AI20260427100047007.jpeg',
+  //    // 'https://aisky.org.cn/command-center-dashboard/assets/zhddpt-BgsJ8s7S.png',
+  //   'https://wrj.shuixiongit.com/aiskyminioTwo/cloud-bucket/8d9ba6b4-d255-4f49-b3f8-bdeaf99773b4/DJI_202602121039_002_8d9ba6b4-d255-4f49-b3f8-bdeaf99773b4-flyto/DJI_20260212104641_0003_V.mp4'
+  // ]
+  const downloadUrlList  = all.map(item => {
+    return item.replace('aiskyminio', 'aiskyminioTwo')
+  })
+  const async = ['https://aisky.org.cn/command-center-dashboard/assets/zhddpt-BgsJ8s7S.png'].map(item => oneImageDownload(item))
+  return Promise.all(async)
+}
+
+// 公共图片下载
+function publicImageDownloads(data) {
+  wx.getSetting({
+    success(res) {
+      if (res?.authSetting?.['scope.writePhotosAlbum']) {
+        multipleImageDownloads(data.urlList)
+      }else{
+        wx.authorize({
+          scope: 'scope.writePhotosAlbum',
+          success() {
+            multipleImageDownloads(data.urlList)
+          }
+        })
+      }
+    }
+  })
+}
+
+
+// 公共定位
+function publicPosit(data) {
+  wx.openLocation({
+    latitude: data.latitude,
+    longitude: data.longitude,
+    name: data.name,
+    address: data.name,
+    scale: 18
+  })
+}
+
+
 function messageFun(e) {
   if (e.data.type === "WEB_INVOKE_APPSERVICE") {
     const {type,data} = e.data.data.arg
     if (type === "tokenExpired") {
-      return uni.reLaunch({url: "/pages/login/index"});
+      uni.reLaunch({url: "/pages/login/index"});
+    }else if(type === "wxImageDownload"){
+      publicImageDownloads(data)
     }else if(type === "wxOpenLocation"){
-      return wx.openLocation({
-        latitude: data.latitude,
-        longitude: data.longitude,
-        name: data.name,
-        address: data.name,
-        scale: 18
-      })
+      publicPosit(data)
     }else{
       emit("webMessage", e.data.data.arg);
     }
diff --git a/src/pages.json b/src/pages.json
index 9cd978c..f007342 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -113,6 +113,12 @@
           }
         },
         {
+          "path": "downloadPage/index",
+          "style": {
+            "navigationBarTitleText": "下载"
+          }
+        },
+        {
           "path": "userDetail/password/index",
           "style": {
             "navigationBarTitleText": "修改密码"
@@ -182,4 +188,4 @@
     "navigationBarBackgroundColor": "#F8F8F8",
     "backgroundColor": "#F8F8F8"
   }
-}
\ No newline at end of file
+}
diff --git a/src/subPackages/downloadPage/index.vue b/src/subPackages/downloadPage/index.vue
new file mode 100644
index 0000000..15b7d3b
--- /dev/null
+++ b/src/subPackages/downloadPage/index.vue
@@ -0,0 +1,13 @@
+<template>
+  <view>下载</view>
+</template>
+
+<script setup>
+
+</script>
+
+
+
+<style scoped lang="scss">
+
+</style>

--
Gitblit v1.9.3