基于 koa 和 node-qrcode 实现一个二维码生成工具

2,712 阅读1分钟

网站中使用的 Google chart qr 生成二维码的服务即将在 3 月 14 日关闭,所以在关闭之前需要寻找一个可代替方案

方案一

使用 JS 库,在页面中引入 qrcodejs 库,依据文档内容生成,使用起来还算蛮简单,但对比 Google 提供的二维码生成方案,使用还是较复杂的,梳理一下优缺点

  • 优点:
    • 在浏览器端生成,减少了网站服务器资源占用
    • 生成时无需网络
  • 缺点:
    • 需要在页面引入依赖库,增加页面加载体积
    • 使用不是非常方面,和 google 通过一个链接和参数即可生成和控制二维码的方式对比,体验上差了蛮多

综合以上,此方案不通过

方案二

开源库 quickchart,基于 express 服务,可以通过 URL 生成图表内容的方案

生成二维码也比较简单,一个连接即可搞定

此方案和 google 生成二维码的方式相同,只是参数稍稍更改一下即可,非常适合网站二维码服务的更替。

查看了二维码生成逻辑,主要使用 node-qrcode 库生成二维码,quickchart 使用 express 框架的路由,获取链接参数和返回二维码,提供了错误处理方式,和 base64 数据转换的操作,实现起来逻辑也不是很复杂。

最后

参考了 quickchart ,使用 koa 库完成了二维码生成逻辑,运行和使用方法,可以查阅 koa-qrcode 项目地址

较少发布文章,内容有错误或者不合理之处,请友好指出,如有影响心情,请轻喷