使用JS生成带icon二维码

    这两天在做一个小项目,用于APP发布。这里提了一个需求,就是在页面中有二维码,扫描之后跳转到下载页面。其实这个不是很难,我在网上查了一下有两种方式,一种是后台去做这个二维码传送给前端人员,然后直接拿来用就OK了。但是很不巧我碰到的这个项目是后台向前端输出下载链接和base64形式的icon,所以只能去由前端人员处理这些数据并且通过JS生成带icon的二维码。

    然后我就去百度了一下,发现有现成的JS文件,只要填写对应的参数就可以,之后也试了试,确实可以生成二维码,但是不会生成icon,这就让我很费解。然后搜索了好多人的方法,基本上就两个:一个是生成二维码之后,添加Img标签,然后通过定位到二维码中间去实现效果,不过感觉也是被逼无奈才去这么做。第二个方法是我搜索了好久之后找到了一个Github上的人写出来的JS文件,但是当我他的方式去填写参数时,我发现还是不行!!这就很难受了,在试过无效之后,只能硬着头皮去看了一下源码,后来发现原来他这个文件的流程是在icon填写地址时要求是src,然后他会自己转成base64再生成canvas。而我传进去的就是base64,所以当然不会生成icon,不过还好他留了一个开关use_canvas,默认是true,就是转换为base64,当我改成false的时候,就会直接使用我提供的base64,这样困扰了我好久的问题就解决了。下面不多说,贴代码和github地址,大家也别白用,给人家star一下。
  

var downloadLink = 'http://rj.baidu.com/soft/detail/12350.html?fxq';
var iconbase64 = 'iVBORw0KGgoAAAANS';
var qrcode = new QRCode(document.getElementById('qrcode'),{
    text:downloadLink,
    width:100,
    height:100,
    colorDark:"#000",
    colorLight: "#fff",
    correctLevel: QRCode.CorrectLevel.H,
    img_src:'data:image/jpg;base64,'+iconbase64,
    img_width:30,
    use_canvas: false
});

    变量意义我就不解释了,要创建一个div去当容器,这里我创建的div id为qrcode,然后上面要引入JS文件,下面贴代码

<script src="JQ.js"></script>
<script src="qrcode.js"></script>

    嗯。。JQ.js自己去百度就好。我贴一下qrcode.js文件的github地址:qrcode.js

    大概其就是这样,记得给人家star一下,毕竟我找了好久就这一个好使的。。。


  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值