Vue实现生成二维码并且能下载到本地

2019-12-30 23:24:49

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


个人推荐vue-qr,好用,还能下载二维码

一、前端生成二维码功能很常见,不用想肯定得用到插件,上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呢,


  • 2018-04-13 17:28:33

    jsoup 使用总结4--高级用法之 script js 脚本

    大部分时候,我们使用jsoup解析网页的时候,都是直接找到某一类元素,或者按某种selector查询;具体使用方法可以参考jsoup官网文档 那么你有没有实际操作过,查找script js 脚本呢,因为很多时候页面的内容是根据js动态生成的,或者数据是动态变更;那么这个时候,我们只是获取html页面中script js脚本之间的内容。

  • 2018-04-15 12:56:05

    WebView控件之WebSettings各种配置方法源码总结

    WebSettings用于管理WebView状态配置,当WebView第一次被创建时,WebView包含着一个默认的配置,这些默认的配置将通过get方法返回,通过WebView中的getSettings方法获得一个WebSettings对象,如果一个WebView被销毁,在WebSettings中所有回调方法将抛出IllegalStateException异常。

  • 2018-04-16 07:28:10

    android点击事件,第一次无效,第二次才响应的问题

    今天碰到的问题,android的标题栏一个回退button,每次进入的时候第一次点击无效,一直到第二次点击时才响应,然后把代码copy到系统的回退按钮里面,结果每次都能响应,后面想了想,应该跟焦点有关系

  • 2018-04-18 15:56:00

    linux下如何实现mysql数据库每天自动备份定时备份

    备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的!

  • 2018-04-18 20:44:19

    $(...).live is not a function

    jquery中的live()方法在jquery1.9及以上的版本中已被废弃了,如果使用,会抛出TypeError: $(...).live is not a function错误。

  • 2018-04-19 16:31:03

    mysql双机热备的实现

    准备两个mysql,A和B,A为主,B为从。前提是这两个数据库现在的表结构要一模一样,否则不成功。这个要锁表处理了。