在实际的项目中,二维码的生成使用了wxqrcode.js,pc端的也可以使用这个js文件进行二维码图片的生成,系统是分不同发的企业的,一部分企业使用是正常,但是另一部分企业使用会出现报错:

[Vue warn]: Error in callback for watcher "qrcodeData": "ReferenceError: gen is not defined"

补充:wxqrcode.js下载的一个地址:https://ask.dcloud.net.cn/article/34931

上网查询了资料搜不到为什么会报这个错,后来自己去看这个wxqrcode.js文件的源码才了解,是他生产的二维码图片的链接长度太长了,内部的方法就抛出异常,生成的内容长度太大了。查看其内部方法,可以设置其两个参数,如下代码:

//先引用wxqrcode.js 
import QR from "./qrcode.js";

let img = QR.createQrCodeImg(val, {
    // typeNumber(值范围是1~40)默认为4,可以设置高一点就不会报上述错误,wxqrcode.js里面有通过这个判断生成内容长度
	typeNumber: 10,
		
	// 这个是错误修正容量,即使编码变脏或破损,也可自动恢复数据,使二维码有残缺还能扫出来,
	// errorCorrectLevel(值为:'L','M','Q','H')默认为M,H为纠错能力最高,依次递减,L最低
	errorCorrectLevel: 'L',
})

以上是自己的个人见解,具体情况具体分享哈!

Logo

前往低代码交流专区

更多推荐