这篇文章给大家分享的是有关微信小程序如何实现保存影集和图片到相册的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
页面效果如下:
实现的逻辑如下:
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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。