相关代码如下:
saveQrCode(){
// 保存二维码
let that = this;
wx.showActionSheet({
itemList: ['保存图片'],
success: function (res) {
console.log(res.tapIndex)
if (res.tapIndex == 0) {
console.log('qrcode:', qrcode);
wx.getSetting({
success(res) {
wx.showModal({
title: 'getSetting',
content: JSON.stringify(res),
success(res) {
if (res.confirm) {
console.log('用户点击确定')
}
}
})
console.log('getSetting res:', res);
if (res.authSetting['scope.userInfo'] || res.authSetting['scope.userLocation'] ||res.authSetting['scope.writePhotosAlbum'] ) {
console.log('授权成功')
wx.downloadFile({
url: that.data.qrURLSave, //仅为示例,并非真实的资源
success(res) {
// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
wx.showModal({
title: 'downloadFile success',
content: JSON.stringify(res),
success(res) {
if (res.confirm) {
console.log('用户点击确定')
}
}
})
if (res.statusCode == 200) {
wx.showModal({
title: 'statusCode == 200',
content: 'JSON.stringify(res)',
success(res) {
if (res.confirm) {
console.log('用户点击确定')
}
}
})
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success(saveRes) {
that.setData({ showQr: false });
wx.showToast({
title: '已保存至相册',
})
}
})
}
}
})
}
})
}
}
})
}
}
})
}
}
})
},
需通过 wx.getImageInfo转为本地地址才可以保存。
如不行 提供可复现问题的代码片段(我来改下看看):https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html