歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
          電話圖標 余先生:13699882642

          網(wǎng)站百科

          為您解碼網(wǎng)站建設(shè)的點點滴滴

          小程序保存多張圖片(優(yōu)化版)

          發(fā)表日期:2019-11 文章編輯:小燈 瀏覽次數(shù):5253

          前言

          之前寫個一個版本的[多圖下載],重構(gòu)進行了代碼升級讓代碼更加簡介
          分為兩步:
          第一獲取保存到相冊權(quán)限
          第二下載圖片
          主要涉及兩個文件,index.js 和download.js
          另外現(xiàn)在如果有圖片下載失敗也彈出下載完成后續(xù)需要優(yōu)化

          核心代碼

          /**
           *  獲取相冊權(quán)限
           */
          export function wxSaveAuth() {
              return new Promise((resolve, reject) => {
                  wx.getSetting({
                      success(res) {
                          if (!res.authSetting['scope.writePhotosAlbum']) {
                              // 如果沒有寫入權(quán)限,則獲取寫入相冊權(quán)限
                              wx.authorize({
                                  scope: 'scope.writePhotosAlbum',
                                  success() {
                                      resolve()
                                  },
                                  fail(err) {
                                      reject(err)
                                      // 用戶拒絕授權(quán)
                                      wx.showModal({
                                          content: '檢測到您沒打開捷買士的相冊權(quán)限,是否去設(shè)置打開?',
                                          confirmText: '確認',
                                          cancelText: '取消',
                                          success(res) {
                                              if (res.confirm) {
                                                  wx.openSetting({
                                                      success: res => {}
                                                  })
                                              }
                                          }
                                      })
                                  }
                              })
                          } else {
                              resolve()
                          }
                      },
                      fail(e) {
                          reject(e)
                      }
                  })
              })
          }
          
          /**
           * 多文件下載并且保存 
           * @param {Array} urls 網(wǎng)絡(luò)圖片數(shù)組
           */
          export function downloadImgs(urls) {
              wx.showLoading({
                  title: '圖片下載中',
                  mask: true
              })
              const imageList = []
              // 循環(huán)數(shù)組
              for (let i = 0; i < urls.length; i++) {
                  imageList.push(getTempPath(urls[i]))
              }
              const loadTask = []
              let index = 0
              while (index < imageList.length) {
                  loadTask.push(
                      new Promise((resolve, reject) => {
                          // 將數(shù)據(jù)分割成多個promise數(shù)組
                          Promise.all(imageList.slice(index, (index += 8)))
                              .then(res => {
                                  resolve(res)
                              })
                              .catch(err => {
                                  reject(err)
                              })
                      })
                  )
              }
              // Promise.all 所有圖片下載完成后彈出
              Promise.all(loadTask)
                  .then(res => {
                      wx.showToast({
                          title: '下載完成',
                          duration: 3000
                      })
                  })
                  .catch(err => {
                      wx.showToast({
                          title: `下載完成`,
                          icon: 'none',
                          duration: 3000
                      })
                  })
          }
          /**
           *
           * @param {String} url 單張網(wǎng)絡(luò)圖片
           */
          //下載內(nèi)容,臨時文件路徑
          function getTempPath(url) {
              return new Promise((resolve, reject) => {
                  wx.downloadFile({
                      url: url,
                      success: function(res) {
                          var temp = res.tempFilePath
                          wx.saveImageToPhotosAlbum({
                              filePath: temp,
                              success: function(res) {
                                  return resolve(res)
                              },
                              fail: function(err) {
                                  reject(url + JSON.stringify(err))
                              }
                          })
                      },
                      fail: function(err) {
                          reject(url + JSON.stringify(err))
                      }
                  })
              })
          }
          
          // pages/save-imgs/index.js
          import { wxSaveAuth, downloadImgs } from '../../utils/download'
          Page({
              /**
               * 頁面的初始數(shù)據(jù)
               */
              data: {
                  urls: [
                       'https://avatars0.githubusercontent.com/u/35954879?s=120&v=4',
                       'https://avatars0.githubusercontent.com/u/35954879?s=120&v=4',
                       'https://avatars0.githubusercontent.com/u/35954879?s=120&v=4',
                       'https://avatars0.githubusercontent.com/u/35954879?s=120&v=4',
                       'https://avatars0.githubusercontent.com/u/35954879?s=120&v=4',
                       'https://avatars0.githubusercontent.com/u/35954879?s=120&v=4',
                       'https://avatars0.githubusercontent.com/u/35954879?s=120&v=4',
                       'https://avatars0.githubusercontent.com/u/35954879?s=120&v=4'
              
                  ]
              },
          
              /**
               * 生命周期函數(shù)--監(jiān)聽頁面加載
               */
              onLoad: function(options) {},
          
              download() {
                  // 獲取保存到相冊權(quán)限
                  wxSaveAuth().then(res => {
                      // 保存多張圖片到相冊
                      downloadImgs(this.data.urls)
                  })
              },
           
          })
          

          項目案例

          github地址

          git clone https://github.com/sunnie1992/sol-weapp.git

          掃描添加下方的微信并備注 Sol 加交流群,交流學(xué)習(xí),及時獲取代碼最新動態(tài)。

          如果對你有幫助送我一顆小星星(づ ̄3 ̄)づ╭?~


          本頁內(nèi)容由塔燈網(wǎng)絡(luò)科技有限公司通過網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶學(xué)習(xí)參考,本站不擁有所有權(quán),如您認為本網(wǎng)頁中由涉嫌抄襲的內(nèi)容,請及時與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會在5工作日內(nèi)聯(lián)系您,一經(jīng)查實,本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://www.cjxv.cn/25257.html
          相關(guān)小程序
           八年  行業(yè)經(jīng)驗

          多一份參考,總有益處

          聯(lián)系深圳網(wǎng)站公司塔燈網(wǎng)絡(luò),免費獲得網(wǎng)站建設(shè)方案及報價

          咨詢相關(guān)問題或預(yù)約面談,可以通過以下方式與我們聯(lián)系

          業(yè)務(wù)熱線:余經(jīng)理:13699882642

          Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

          主站蜘蛛池模板: 能看毛片的网站| 99RE6这里有精品热视频| 最新中文字幕av专区| 亚洲熟妇av一区二区三区宅男| 精品国产欧美一区二区| 国产亚洲第一页| 日本免费人成在线网站| 国产精品视频一区二区三区不卡| yy6080理论午夜一级毛片| 护士与税务干部完整2av| 久久狠狠高潮亚洲精品| 樱花草www日本在线观看| 亚洲欧美日韩高清在线电影 | 大肉大捧一进一出好爽视频动漫 | 扒开双腿爽爽爽视频www| 久久精品无码中文字幕| 欧美丰满熟妇xxxx性ppx人交| 亚洲欧美综合人成野草| 激情图片在线视频| 免费国产黄网站在线观看视频| 精精国产xxxx视频在线播放| 国产一区二区三区在线免费观看| 韩国三级hd中文字幕| 国产女高清在线看免费观看| 国产乱人伦偷精品视频不卡| 中文字幕日韩精品在线| 日本黄色免费观看| 国产人成视频在线视频| 四虎永久地址4hu2019| 亚洲午夜精品一区二区公牛电影院| 精品人人妻人人澡人人爽人人| 四虎永久在线精品国产馆v视影院 四虎永久在线精品影院 | 双女车车好快的车车有点污| 苍井空浴缸大战猛男120分钟| 国产午夜爽爽窝窝在线观看| swag台湾在线| 99re国产精品视频首页| 两个人看www免费视频| 精品无码成人网站久久久久久| 国产噜噜噜视频在线观看| 日本a∨在线观看|