vue——使用Qrcode生成二维码,报错Uncaught (in promise) Error: code length overflow.
参考:https://www.bbsmax.com/A/x9J2nLBEJ6/ Uncaught Error: code length overflow. (1604>1056)
https://blog.csdn.net/arrowzz/article/details/80656510 JS的条形码和二维码生成
https://blog.csdn.net/xiaolinlife/article/details/86657267 项目总结之制作二维码的插件qrcode.js
原因:
二维码生成时,如果长度太长会有异常:
Uncaught Error: code length overflow. (1604>1056)
创建的时候,添加 correctLevel: 3 就可以解决了。
correctLevel是指二维码的容错级别,可设置为:
QRCode.CorrectLevel.L
QRCode.CorrectLevel.M
QRCode.CorrectLevel.Q
QRCode.CorrectLevel.H(默认)
对应的值如下:
QRErrorCorrectLevel = {
L : 1,
M : 0,
Q : 3,
H : 2
};
为了让用户扫码更快,一般都选用低容错级别(建议用QRCode.CorrectLevel.L)
解决方法:
// 绘制二维码 genQrCode(info) { this.qrCode = new QRCode(this.$refs.code, { text: info, width: 200, height: 200, correctLevel: 3, // <== 关键 }); },