二维码在生活中无处不在,之前我也使用过java的zxing库生成过二维码,功能很强大。

但是其实nodejs上也有很多第三方库能够生成二维码。今天我们就是使用qrcode这个库来生成二维码。

效果展示

在线示例: http://www.lolmbbs.com/tool/qr

详细代码

生成二维码:

const qrCode = require('qrcode')
class QrController {async create (ctx) {const { text = 'Luban', options } = ctx.request.bodyconst qrOptions = {type: 'image/png',width: 180,margin: 0,scale: 1,color: {dark: '#000000',light: '#ffffff'},errorCorrectionLevel: 'M',quality: 1}Object.assign(qrOptions, options)const imgData = await qrCode.toDataURL(text, qrOptions)return ctx.success({ imgData })}
}module.exports = new QrController()

下载二维码:

const a = document.createElement('a')
const event = new MouseEvent('click')
a.download = '二维码'
a.href = this.imgSrc
a.dispatchEvent(event)

主要参数解释

  • type: 生成图片类型
    主要包括 image/pngimage/jpegimage/web这三种类型.
    ps: 但是我在代码中即使设置type为image/jpeg,发现生成的图片还是png,后来仔细阅读文档才知道toDataURL这个方法只支持生成png类型的图片…

  • width: 二维码的宽度
    发现没有height字段设置,可能是生成的二维码都是正方形吧

  • margin: 内边距
    内边距设置为10

    内边距设置为0

  • scale 放缩的倍数
    如果设置了width,优先生效width,则此参数无用.
    放缩比例为5

    放缩比例为10

  • color.light: 前景色

  • color.night: 背景色
    默认的前景色是黑色,背景色为白色。

  • errorCorrectionLevel 纠错级别

    二维码即使有部分显示不了,依然可以识别出二维码的内容,这就是二维码的纠错。
    L级别的纠错代表只要残缺度小于7%,就可以被识别出,以此类推

nodejs生成二维码相关推荐

  1. Nodejs生成二维码图片文件

    https://github.com/liyinchigithub/qr_makehttps://github.com/liyinchigithub/qr_make test2.js //需要下载生成 ...

  2. 微信扫码登录,微信公众号生成二维码,关注登录nodejs+vue

    微信公众号生成二维码,关注后扫码登录 技术栈为nodejs+vue 有不懂的可以加我微信yizheng369 1.效果 初始: 关注后: 2.源码 此项目为前后端分离项目,前后端代码都在这个仓库里, ...

  3. nodejs 实现二维码生成及图片合成

    游戏前端需要做分享功能.生成二维码后 在指定的图片上添加二维码和邀请码 生成新的图片 如图所示 1.使用 qr-code生成二维码 /*** 根据url 地址生成 二维码*/async createQ ...

  4. js 生成二维码_Node for Max 二维码生成器

    "Node for Max"是 Max8 的新功能,通过它可以在 Max 中方便的调用 NodeJS.充分利用 NodeJS 海量的 NPM 库,能大大扩展 Max 的可能性. 官 ...

  5. nodejs之二维码扫描-实现兑换码自动核销

    nodejs二维码扫描-实现兑换码自动核销 背景 实现概述 开发环境 相关依赖 微信网页授权 第一步:用户同意授权,获取code 第二步:通过code换取网页授权access_token 第三步:拉取 ...

  6. vue 动态生成二维码 qrcode

    1.下载 qrcode npm i qrcode 2.在所需组件使用qrcode <template><div><img :src="qrcode" ...

  7. Asp.Net Core在线生成二维码

    前言: 原先用zxing Code写过基于Winfrom的批量生成二维码工具,以及单个生成二维码工具:批量生成二维码Gihub源代码 今天尝试用QRCoder 加 Asp.Net Core 写了一个在 ...

  8. 在Ubuntu 16.04.5 LTS上使用python第三方库QRCode 6.0生成二维码实录

    简介 二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明.现随着智能手机的普及,已广 ...

  9. iOS 生成二维码/条形码

    级别:★★☆☆☆ 标签:「iOS CIFilter」「CIQRCodeGenerator」「CICode128BarcodeGenerator」「二维码加logo」 作者: Xs·H 审校: QiSh ...

最新文章

  1. mysql.sock的作用
  2. 性能监测与优化命令free
  3. mysql用户及权限管理_MySQL 用户及权限管理
  4. [html] 如何设置打印尺寸?
  5. ubuntu 开放端口_Masscan端口扫描工具使用小手册
  6. python中调用C++函数
  7. android切图双数,浅谈网页设计切图规范
  8. 一文带你看懂~混沌理论
  9. 8000计算机论文范文,计算机毕业论文_计算机论文范文8000字_毕业论文8000字范例...
  10. 抖音快手短视频去水印API,接口开发文档
  11. matlab绘制椭球ellipsoid函数
  12. 统一社会信用代码校验规则
  13. python打印上下标
  14. 【MySQL】MySQL的四种事务隔离级别
  15. python数据分析与应用-Python数据分析与应用-课后习题答案
  16. android自定义标尺,Android自定义标尺滑动选择值效果
  17. ca加密是什么情况_让我们进行加密:为什么要创建一个免费,自动化和开放的CA?...
  18. Spring是bean的容器,那么到底bean是什么,容器又在哪里。(bean存在spring的哪里)
  19. 乔布斯的“神”与“魂”
  20. 问题:LVM lvextend增加空间后,df查看还是原来空间

热门文章

  1. 使用visio来进行画类图
  2. 2017年12月。。
  3. 基于jupyter notebook的简单爬虫学习记录
  4. IDEA免费教育申请(不需要教育邮箱,只要你是学生!!!)
  5. GreenPlum 大数据平台--运维(三)
  6. 无线通信安全作业1-无线通信安全最新消息
  7. ksql kafka
  8. java嵌套for循环基础练习 -空心金字塔
  9. 2033-人见人爱A+B(java)
  10. ps4 html5不能试用,PS4主机卡碟,无法取出光盘的处理办法