您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關微信小程序如何實現保存影集和圖片到相冊的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
頁面效果如下:
實現的邏輯如下:
1. 獲取用戶授權, 如果之前已授權直接下載。
2. 如果用戶之前沒有授權,則調起用戶授權界面,讓用戶授權,用戶同意則下載,不同意則提示。
3. 如果之前調起授權了,但是用戶拒絕了,打開設置界面,引導用戶開啟授權。
以下是代碼實現,歡迎大家復制粘貼和吐槽。
首先是WXML代碼:
<view class="album-operate"> <view class="edit" bindtap="deleteAlbum" data-id="{{item.id}}" data-status="{{item.status}}"> 刪除 </view> <button class="save" data-link="{{item.link}}" data-status="{{item.status}}" bindtap='downloadAlbum'> 保存/下載 </button> <view class="share" bindtap="desabledShare" wx:if="{{item.status==2}}">分享</view> <button class="share" open-type="share" data-id="{{item.id}}" data-cover="{{item.cover_url}}" data-name="{{item.name}}" wx:if="{{item.status!=2}}"> 分享 </button> </view>
以下是JS代碼
// 授權下載 downloadAlbum: function(e) { var that = this; // 影集狀態 var status = e.target.dataset.status; // 下載鏈接的地址 var link = e.target.dataset.link; if (status == 2) { wx.showToast({ title: '影集正在制作中,請等待', icon: 'none' }); } else { // 獲取用戶授權 wx.getSetting({ success(res) { // 如果已授權 if (res.authSetting['scope.writePhotosAlbum']) { that.saveAlbum(link); // 如果沒有授權 } else if (res.authSetting['scope.writePhotosAlbum'] === undefined) { // 調起用戶授權 wx.authorize({ scope: 'scope.writePhotosAlbum', success() { that.saveAlbum(link); }, fail() { wx.showToast({ title: '您沒有授權,無法保存到相冊', icon: 'none' }) } }) // 如果之前授權已拒絕 } else { wx.openSetting({ success(res) { if (res.authSetting['scope.writePhotosAlbum']) { that.saveAlbum(link); } else { wx.showToast({ title: '您沒有授權,無法保存到相冊', icon: 'none' }) } } }) } } }) } }, // 保存影集 saveAlbum: function (link) { wx.downloadFile({ url: link, success(res) { if (res.statusCode === 200) { var path = res.tempFilePath wx.saveVideoToPhotosAlbum({ filePath: path, success(res) { if (res.errMsg == 'saveVideoToPhotosAlbum:ok') { wx.showToast({ title: '下載完成', }) } } }) } } }) },
感謝各位的閱讀!關于“微信小程序如何實現保存影集和圖片到相冊”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。