返回顶部

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, // <== 关键
      });
    },

 

posted @ 2023-03-03 17:20  前端-xyq  阅读(1833)  评论(0编辑  收藏  举报