vue项目中使用qrcodejs2生成二维码以及下载

本文主要记录如果生成二维码以及下载和qrcodejs2的参数详解
官方文档:https://www.npmjs.com/package/qrcodejs2

1.安装qrcodejs2

npm install qrcodejs2 

2.引入

import QRCode from "qrcodejs2";

3.标签

<div id="myQrCode" ref="myQrCode"></div>

4.生成

generateCode() {
    document.getElementById("myQrCode").innerHTML = "";//每次生成的时候清空内容,否则会叠加,二维码背景色透明会一目了然
    try {
        const qrcode = new QRCode("myQrCode", {
            width: 200, //宽度
            height: 200, // 高度
            text: "https://xxx.com/mobile/demo" // 二维码内容
        });
    } catch (e) {
        console.log(e);
    }
}

5.下载

downLoadQrcode() {
    let img = document.getElementById("myQrCode").getElementsByTagName['img'][0] // 获取二维码图片标签
    let canvas = document.createElement('canvas') // 创建画布
    canvas.width = img.width
    canvas.height = img.height
    let ctx = canvas.getContext('2d')
    ctx.drawImage(img, 0, 0)
    let tempUrl = canvas.toDataURL('image/png') // 画布生成base64格式图片
    // 创建a标签,模拟点击下载
    let a = document.createElement('a')
    a.setAttribute('download','我的二维码.png')
    a.style.display = 'none'
    a.href = tempUrl
    document.body.appendChild(a)
    a.click()
    document.body.removeChild(a)
}

6.参数详解

new QRCode(element, options)
名称说明
element生成二维码元素实例或者该元素的id
options参数配置

options参数:

名称默认值说明
width256图像宽度
height256图像高度
text二维码内容
render‘canvas’设置渲染方式(有两种方式 table和canvas)
typeNumber4未知
colorDark“#000000”前景色
colorLight“#ffffff”背景色
correctLevelQRCode.CorrectLevel.L容错级别,可设置为:QRCode.CorrectLevel.L;QRCode.CorrectLevel.M;QRCode.CorrectLevel.Q;QRCode.CorrectLevel.H;从上至下生成码密度越来越高L - M - Q - H

API:

名称说明
makeCode(text)设置二维码内容
clear()清除二维码。(仅在不支持 Canvas 的浏览器下有效)
  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值