微信小程序并没有提供官方二维码生成功能,所以这个就只能自己去找插件实现了。对于网上的插件,有很大一部分都是根据qrcode.js改进的。而qrcode.js是基于小程序的cavas生成二维码。
在小程序里画布是原生组件无法被遮盖,这会导致开发中很多问题的出现,最理想的情况,希望二维码是张图片,那就最好不过,索性,weapp-qrcode-base64 这个插件挺好返回的base64格式,而且在多种机型里进测试可正常使用,
下面我们来看看如何使用它:
1.先下载文件库放入小程序对应文件引入
1 | const QR = require('../../utils/weapp-qrcode.js') |
2.js使用
1 | var imgData = QR.drawImg(this.data.codeText, { |
1 | <image src="{{qrcodeURL}"> </image> |
级别操作是这样的。
下面来个全的吧
js
1 | //index.js |
1 | <!--index.wxml--> |
至此,代码就生成了
但是这里有个弊端,上图可以看到我加了个边框,在数据量不多的情况下是这样的,但是数据量多呢,看下图
会有边距产生,在我们的项目需求中,会随时对数据进行变动,这样在体验上二维码忽大忽小,就没有用户体验感,看各位的需要吧,毕竟也挺好用的