长按函数
//长按保存图片--二维码
pressSaveImage: function() {
let url = this.data.codeImg;
var that = this;
//用户需要授权
wx.getSetting({
success: (res) => {
if (!res.authSetting['scope.writePhotosAlbum']) {
wx.authorize({
scope: 'scope.writePhotosAlbum',
success: () => {
// 同意授权,保存图片
that.saveImg(url);
},
fail: (res) => {
console.log(res)
}
})
} else {
// 已经授权了
that.saveImg(url);
}
},
fail: (res) => {
console.log(res)
}
})
},
保存图片到相册
// 由于saveImageToPhotosAlbum中的filePath 不支持网络图片,所以我们需要先把 base64 格式的图片数据,写入到小程序的文件系统中去,进一步取得该图片的临时路径以完成保存至手机相册的任务。
saveImg(url) {
var that = this;
var fm = wx.getFileSystemManager(); //是获取文件管理器对象
fm.writeFile({
filePath: wx.env.USER_DATA_PATH + '/qCode.png', //创建一个临时文件的文件名
data: url.slice(22), //把 data:image/png;base64,这一段去除
encoding: 'base64',
success: res => {
// 保存到相册
wx.saveImageToPhotosAlbum({
filePath: wx.env.USER_DATA_PATH + '/qCode.png',
success: function(res) {
wx.showModal({
content: '二维码已保存到相册,赶紧扫码加群吧~',
showCancel: false,
confirmText: '好的',
confirmColor: '#333333',
success: function(res) {
// if (res.confirm) {
// /* 隐藏弹框 */
// that.setData({
// codeModal: true
// })
// }
},
fail: function(res) {
console.log(res)
}
})
},
fail: function(err) {
console.log(err)
}
})
console.log(res)
},
fail: err => {
console.log(err)
}
})
}