页面加载完成弹出授权框
在onload里面撸上一下代码:
// 获取相册授权wx.getSetting({ success(res) { if (!res.authSetting['scope.writePhotosAlbum']) { wx.authorize({ scope: 'scope.writePhotosAlbum', success() { console.log('授权成功') } }) } }})
//imgAddress 图片地址var imgSrc = "imgAddress" wx.downloadFile({ url: imgSrc, success: function (res) { //图片保存到本地 wx.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success: function (data) { wx.showToast({ title: "已保存至相册", icon: 'none', duration: 2000 }) }, fail: function (err) { if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny" || err.errMsg === "saveImageToPhotosAlbum:fail:auth denied") { } } }) }})
这个时候你会发现如果用户点了取消你就不能再授权了
解决办法:
用另外一个按钮替换你现在的按钮
然后另外一个按钮绑定如下事件
wx.openSetting({ success(settingdata) { if (settingdata.authSetting['scope.writePhotosAlbum']) { console.log('获取权限成功,给出再次点击图片保存到相册的提示。') wx.showToast({ title: '再次点击图片保存', }) } else { console.log('获取权限失败,给出不给权限就无法正常使用的提示') } }})
以上为保存图片的授权
其他授权方式也可以用以上思路
微信小程序