存在的问题:
uniapp绘制的uqrcode,在开发工具可以正常展示,真机不显示
解决方案一:
uqrcode生成的二维码地址是base64格式,直接绘制真机不展示
function drawQRcode(url) { // url为要绘制二维码的链接
const ctx = uni.createCanvasContext('myCanvas')
let params = url // 二维码参数
var imgData = qrcode.drawImg(params, {
typeNumber: 4, // 密度
errorCorrectLevel: 'Q', // 纠错等级
size: 175, // 白色边框
})
// 先写入临时文件
let fs = uni.getFileSystemManager()
let filePath = wx.env.USER_DATA_PATH + '/code' + new Date().getTime() + '.png'
fs.writeFile({
filePath,
data: imgData.slice(22),
encoding: 'base64',
success: res => {
// 获取图片信息
uni.getImageInfo({
src: filePath,
success: img => {
// 使用canvas绘制
drawCodeImg(img.path)
}
})
}
})
}