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呢,


  • 2020-02-22 17:54:59

    最新FullCalendar中文文档

    Fullcalendar是一款用来管理日程安排、工作计划的日历工具,它功能非常强大而且非常实用。而目前网络上没有很好的中文文档,为了更好的和大家分享Fullcalendar的相关使用,即日起计划将Fullcalendar的英文文档翻译成中文版。

  • 2020-02-22 17:57:05

    nuxtjs支持api接口,serverMiddleware

    Who can’t relate to this: You’ve built a small portfolio page for someone, maybe a company, a friend or yourself. And the only API endpoint you’d need is one for a form. What now? Scaffolding a new service just for this one endpoint?

  • 2020-02-22 17:59:34

    FullCalendar插件的基本使用带详细配置翻译

    前段时间,一直在开发考勤系统,当时为满足设计的需求,选了好几个插件,最后决定采用Fullcanlendar的插件。感觉这个插件可以满足现阶段的功能开发需求

  • 2020-02-22 18:03:10

    Vue组件中使用Sass或者Less全局变量

    本文以Sass做案例,Less的参考,基本配置大同小异。 假如我们有一个Sass的全局变量common.scss文件,路径 ../style/common.scss 代码如下:

  • 2020-02-23 23:27:26

    Nuxt.js 基础入门教程

    Nuxt.js 就是一个极简的 vue 版的 ssr 框架。基于它,我们可以快速开发一个基于 vue 的 ssr 单页面应用。

  • 2020-02-24 18:36:17

    百度地图做电子围栏总结

    需求:在地图上画出围栏,设置围栏信息后保存,生成围栏列表。全选时,地图视野可看到全部的围栏区域,单独勾选会调整地图视野到当前勾选的围栏。围栏区域的中心点要显示围栏名称。

  • 2020-02-24 18:37:17

    百度地图绘制轨迹点

    没有后台获取事实信息 都是伪数据- -轨迹信息做不到事实导航。 控件可以根据自己的需求添加 位置通过offset:new BMAP.Size(x,y)进行微调 事实路况信息需要通过引没有后台获取事实信息 都是伪数据- -轨迹信息做不到事实导航。 控件可以根据自己的需求添加 位置通过offset:new BMAP.Size(x,y)进行微调 3D视图部分城市没有开放开放 根据需求自己添加