From 6810c281306cae6e02fbbb1478d780c823d08a33 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 25 七月 2024 11:53:39 +0800
Subject: [PATCH] ‘’

---
 wechat_staff/pages/download/index.js |  130 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 105 insertions(+), 25 deletions(-)

diff --git a/wechat_staff/pages/download/index.js b/wechat_staff/pages/download/index.js
index c6066ce..a18659c 100644
--- a/wechat_staff/pages/download/index.js
+++ b/wechat_staff/pages/download/index.js
@@ -1,6 +1,10 @@
-// pages/download/index.js
-const { HYEventBus } = require('hy-event-store')
-const eventBus = new HYEventBus()
+import {
+  getContentShareImg
+} from '../../api/index'
+import {
+  checkAuth,
+  downloadSaveFile
+} from '../../utils/downloadSaveFile'
 Page({
 
   /**
@@ -9,6 +13,7 @@
   data: {
     bottomLift: '',
     downloadList: [],
+    downloadConfig: {},
     checkedAll: false,
     showParam: false,
     takeQrcode: true
@@ -23,8 +28,68 @@
       bottomLift: app.bottomLift
     })
   },
+  subDownload() {
+    let that = this
+    const downloadList = this.data.downloadList
+    const downloadConfig = this.data.downloadConfig
+    checkAuth(() => {
+      wx.showLoading({
+        title: '姝e湪涓嬭浇',
+        mask: true
+      })
+      downloadList.forEach(item => {
+        if (item.checked) {
+          item.paddingStatus = 2
+        }
+      })
+      this.setData({ downloadList })
+      downloadList.forEach(item => {
+        if (item.checked) {
+          getContentShareImg({
+            articleId: `${downloadConfig.id}_${downloadConfig.path}`,
+            type: this.takeQrcode ? 1 : 0,
+            imgurl: item.url
+          }).then(res => {
+            wx.downloadFile({
+              url: res.data,
+              success: res => {
+                if (res.statusCode === 200) {
+                  wx.saveImageToPhotosAlbum({
+                    filePath: res.tempFilePath,
+                    success: res => {
+                      item.paddingStatus = 3
+                      item.checked = false
+                      that.setData({ downloadList })
+                      wx.showToast({
+                        title: '淇濆瓨鎴愬姛',
+                        icon: "none"
+                      })
+                    },
+                    fail: res => {
+                      item.paddingStatus = 4
+                      item.checked = false
+                      that.setData({ downloadList })
+                      wx.showToast({
+                        title: '淇濆瓨澶辫触',
+                        icon: "none"
+                      })
+                    }
+                  })
+        
+                }
+              }
+            })
+          })
+        }
+      })
+    })
+    this.setData({
+      showParam: false
+    })
+  },
   onShow() {
     const downloadList = wx.getStorageSync('downloadList') || []
+    const downloadConfig = wx.getStorageSync('downloadConfig') || {}
     let temp = downloadList.map(i => {
       // paddingStatus锛� 0鏈笅杞�1姝e湪涓嬭浇2绛夊緟涓嬭浇3涓嬭浇瀹屾垚
       return {
@@ -33,54 +98,69 @@
         checked: false
       }
     })
-    this.setData({ downloadList: temp })
+    this.setData({
+      downloadList: temp,
+      downloadConfig
+    })
     setTimeout(() => {
       wx.setStorageSync('downloadList', [])
-    },500)
+      wx.setStorageSync('downloadConfig', {})
+    }, 500)
   },
   openParam() {
     const downloadList = this.data.downloadList.filter(i => i.checked)
-    if(downloadList.length === 0) return wx.showToast({title: '璇峰厛閫夋嫨瑕佷笅杞界殑娴锋姤', icon: 'none'})
-    this.setData({ showParam: true })
+    if (downloadList.length === 0) return wx.showToast({
+      title: '璇峰厛閫夋嫨瑕佷笅杞界殑娴锋姤',
+      icon: 'none'
+    })
+    this.setData({
+      showParam: true
+    })
   },
   onClose() {
-    this.setData({ showParam: false })
+    this.setData({
+      showParam: false
+    })
   },
   downCheck(e) {
     const takeQrcode = e.currentTarget.dataset.flag
     console.log('takeQrcode', takeQrcode);
-    this.setData({ takeQrcode })
-  },
-  subDownload() {
-    const downloadList = this.data.downloadList
-    downloadList.forEach(item => {
-      if(item.checked){
-        
-      }
+    this.setData({
+      takeQrcode
     })
-
-    this.setData({ showParam: false })
   },
   itemCheck(e) {
     const i = e.currentTarget.dataset.i
-    const { downloadList, checkedAll } = this.data
+    const {
+      downloadList,
+      checkedAll
+    } = this.data
     let count = 0
     downloadList.forEach((item, index) => {
-      if(index === i){
+      if (index === i) {
         item.checked = !item.checked
       }
-      if(item.checked) {
-        count ++
+      if (item.checked) {
+        count++
       }
     })
-    this.setData({ checkedAll: count == downloadList.length,  downloadList})
+    this.setData({
+      checkedAll: count == downloadList.length,
+      downloadList
+    })
   },
   allCheck() {
-    const { downloadList, checkedAll } = this.data
+    const {
+      downloadList,
+      checkedAll
+    } = this.data
     downloadList.forEach(item => {
       item.checked = !checkedAll
     })
-    this.setData({ checkedAll: !checkedAll, downloadList })
+    this.setData({
+      checkedAll: !checkedAll,
+      downloadList
+    })
   },
   onHide() {
 

--
Gitblit v1.9.3