Vue2.x实现生成二维码并且能下载到本地

一、前端生成二维码功能很常见,不用想肯定得用到插件,上github上一搜索vue qrcode出来好几个插件,star并不是很多大部分都是100多个star,下面主要介绍vue-qr的使用方法和如何下载二维码到本地的方法。

二、

    1.vue-qr,先说一下特点:带可以设置logo图片、背景图片、背景颜色、尺寸、边距等。

        使用方法:

        1.npm install vue-qr --save
        2.在你要生成二维码的组件里面 import VueQr from 'vue-qr'
        3.在export default里面注册组件components:{VueQr},
        4.在template里 <vue-qr  :logoSrc="config.logo" :text="config.value" :size="200" :margin="0"></vue-qr>
        5.在export default data(){retrun{ config: {
          value: 'www.baidu.com',//显示的值、跳转的地址
          logo:'static/img/logo.png'//中间logo的地址
        }}}
显示的值、跳转的地址
          logo:'static/img/logo.png'//中间logo的地址
        }}}
        6.简单的生成了二维码,这个生成的是img的二维码,要想生成canvas的二维码,得安装awesome-qr.js,生成的是img的二维码,要想生成canvas的二维码,得安装awesome-qr.js,
        但是这个稍微复杂一些需要兼容你的node版本,很可能会报错。这个几乎就满足你的需求了,所以就不用搞那么多麻烦事了。
        7.如果你想下载这个二维码,可以用html的 a标签的 download属性 具体实现方法如下:
如果你想下载这个二维码,可以用html的 a标签的 download属性 具体实现方法如下:
            7.1-1 先获取到img标签的src, let url = document.querySelector('#qrcode img').src
            7.1-2 动态创建一个a标签  let a = document.createElement('a') 
            7.1-3 定义一个点击事件  let  event = new MouseEvent('click')
            7.1-4 设置下载图片的名称  a.download = “张三的二维码”//默认下载下面的文件格式为;张三的二维码.png
张三的二维码.png
            7.1-5 让a标签的href = 图片的src   a.href = url 
7.1-5 让a标签的href = 图片的src   a.href = url 
            7.1-6 利用合成函数,执行event点击下载事件  a.dispatchEvent(event)
            7.1-7 源代码如下:
              downloadImg(){
                var oQrcode = document.querySelector('#qrcode img')
                var url = oQrcode.src
                var a = document.createElement('a')  
                var event = new MouseEvent('click')  
                // 下载图名字
                a.download = '张三的二维码'
                //url 
                a.href = url 
                //合成函数,执行下载 
                a.dispatchEvent(event)
               }
源代码如下:
              downloadImg(){
                var oQrcode = document.querySelector('#qrcode img')
                var url = oQrcode.src
                var a = document.createElement('a')  
                var event = new MouseEvent('click')  
                // 下载图名字
                a.download = '张三的二维码'
                //url 
                a.href = url 
                //合成函数,执行下载 
                a.dispatchEvent(event)
               }
        7.API地址;https://github.com/Binaryify/vue-qr

    2.vue-qriously,与vue-qr组件十分类似,唯一缺点就是不能设置中间的logo图标,所以说很尴尬。还不如直接用上面的vue-qr呢,

这个是我本人的,前端技术QQ交流群,有不会的问题,可以在在群里面问:

VX号:  LJT-917

 

使用qrcode.vue生成二维码的步骤如下: 1. 引入qrcode.vue组件,该组件的体积相对较小,但不能添加中心logo。 2. 在Vue模板中使用vue-qr组件,设置id为"qrcode",并传入生成二维码所需的text和size参数。 3. 在Vue模板中添加一个按钮,当点击按钮时触发saveImg函数。 4. 在Vue的script setup中,使用import语句引入qrcode.vue组件和其他所需的资源。 5. 根据需要,可以在logoSrc变量中设置logo的路径。 6. 在saveImg函数中,获取生成的二维码图片元素,创建一个下载链接,并设置链接的href和download属性。 7. 点击按钮后,调用a元素的click方法,实现下载二维码的功能。 你可以参考以下代码示例: ```html <template> <qrcode id="qrcode" :text="value" size="135"></qrcode> <br /> <el-button @click="saveImg">下载二维码</el-button> </template> <script setup> import qrcode from 'qrcode.vue' import code_logo from '../../assets/vue.svg' const props = defineProps({ value: { type: String, default: 'https://www.baidu.com/' } }) let logoSrc = code_logo function saveImg() { let picData = document.getElementById("qrcode") let a = document.createElement("a"); a.href = picData.src; a.download = "qrcode.png"; a.click(); } </script> ``` 请注意,以上代码只是一个示例,具体的实现方式可能会根据你的实际需求和项目配置而有所不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue3项目生成并下载二维码,关于vue-qr.vue与qrcode.vue插件之间的区别](https://blog.csdn.net/qq_51758070/article/details/128232266)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

棋鬼王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值