QRcode实现下载二维码

/**
 * @param {Array} arr 需要按字母顺序分组的数组数据
 * @param {String} itemName 分组的依据字段
 * @param {String} unique 数据唯一特征字段
 * @return {Array}
 * */
import QRCode from 'qrcode'
// 根据传入的配置项生成二维码的base64数据,并且下载当前二维码
const downloadQrCode = async (url, params) => {
    // isDownload传true表示需要下载二维码否则不需要下载二维码
    const { isDownload = false, width = 700, height = 700, dark = '#000000', light = '#ffffff', fileName = '回执签到二维码' } = params
    const base64Url = await QRCode.toDataURL(url, {
        width, // 生成下载二维码的宽度
        height, // 生成下载二维码的高度
        color: {
            dark, // 设置二维码前景颜色(默认为黑色)
            light // 设置二维码背景颜色
        }
    })
    if (isDownload) {
        const a = document.createElement('a')
        a.href = base64Url
        a.download = fileName + '.png'
        a.style.display = 'none'
        document.body.appendChild(a)
        a.click()
        document.body.removeChild(a)
    }
    return base64Url
}

你可能感兴趣的:(javascript)