vue 前端生成二维码 (包括vue-qr和qrcode)

一、vue-qr
npm install vue-qr --save
import vueQr from ‘vue-qr’

<template>
  <vue-qr :text="downloadData.url" :margin="0" colorDark="#f67b29" colorLight="#fff" :logoSrc="downloadData.icon + '?cache'" :logoScale="0.3" :size="200"></vue-qr>
</template>
 
<script>
import vueQr from 'vue-qr'
export default {
    components: {
        vueQr
    },
    data() {
        return {
            downloadData: {
                url: '扫码访问的链接地址',
                icon: '随便一张图片的地址也行'
            }
        }
    }
}
</script>

相关属性说明
text 二维码内容
size 二维码宽高大小,因为是正方形,所以设一个参数即可
margin 默认边距20px,不喜欢的话自己设为0
colorDark 实点的颜色,注意要和colorLight一起设置才有效
colorLight 空白的颜色,注意要和colorDark一起设置才有效
bgSrc 嵌入背景图地址,没什么卵用,不建议设置
logoSrc 二维码中间的图,这个是好东西,设置一下显得专业点
logoScale 中间图的尺寸,不要设太大,太大会导致扫码失败的
dotScale 那些小点点的大小,这个也没什么好纠结的,不建议设置了

二、qrcode
npm install --save qrcodejs2

<div class="qrcode" ref="qrCodeUrl"></div>
<script>
methods: {
    creatQrCode() {
        var qrcode = new QRCode(this.$refs.qrCodeUrl, {
            text: 'xxxx', // 需要转换为二维码的内容
            width: 100,
            height: 100,
            colorDark: '#000000',
            colorLight: '#ffffff',
            correctLevel: QRCode.CorrectLevel.H
        })
    },
},
mounted() {
    this.creatQrCode();
},
</script>
.qrcode{
    display: inline-block;
    img {
        width: 132px;
        height: 132px;
        background-color: #fff; //设置白色背景色
        padding: 6px; // 利用padding的特性,挤出白边
        box-sizing: border-box;
    }
}
没问题,下面是使用 vue-qrcode插件 生成二维码并下载的代码示例: 1.首先,你需要安装 vue-qrcode 插件,可以使用 npm 命令来进行安装: ``` npm install vue-qrcode --save ``` 2.然后,在需要使用二维码的 Vue 组件中,导入 vue-qrcode 插件并创建一个新的 Vue 实例,并在这个实例中传递需要生成的二维码数据和相关参数: ``` <template> <div> <qrcode-vue :value="qrData" :size="150"></qrcode-vue> <button @click="downloadQRCode()">下载二维码</button> </div> </template> <script> import QRCodeVue from 'vue-qrcode' import domtoimage from 'dom-to-image' export default { name: 'QRCodeGenerator', components: { QRCodeVue, }, data() { return { qrData: '二维码数据', } }, methods: { downloadQRCode() { const qrCodeEl = document.querySelector('.qrcode-vue') domtoimage .toBlob(qrCodeEl) .then(blob => { const url = window.URL.createObjectURL(blob) const a = document.createElement('a') a.href = url a.download = 'qrcode.png' a.click() }) .catch(error => { console.error('Error occurred while downloading QR Code:', error) }) }, }, } </script> ``` 3.接下来,在 downloadQRCode 方法中,我们使用 dom-to-image 库将二维码图片转换为 Blob对象, 然后创建一个链接和 a 标签来生成下载链接,并触发 a 标签的 click事件进行下载。 请注意,这个例子使用了 dom-to-image库来转换图片为 Blob 对象,因此需要使用 npm 命令进行安装: ``` npm install dom-to-image --save ``` 希望这个代码示例能够帮助到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值