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-11-17 10:05:53

    mongoDB 修改密码

    mongodb的用户信息是存放在system.users表中的,修改密码不能直接更新表数据,这样的话,存到表里的密码是明文的,这就不对了。

  • 2020-11-17 10:13:16

    Vue.observable()进行状态管理

    随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是 vue.js 2.6 新增加的 Observable API ,通过使用这个 api 我们可以应对一些简单的跨组件数据状态共享的情况。

  • 2020-11-17 10:17:18

    MongoDB日志文件查看

    默认情况下,MongoDB在此路径/var/log/mongodb/mongodb.log创建日志文件,如果找不到该日志文件,请检查MongoDB配置文件。

  • 2020-11-17 11:57:16

    app抓包无数据

    我们经常在wifi设置中 设置代理到我们的pc http代理软件上,多数情况下,此时我们开启的app流量都可以在代理软件上看到,比如charles , fiddler等等。 但是细心的人会发现 某些大厂的app 某些请求 在这些 http代理软件上就是抓不到, 给人的感觉就是 流量没从代理软件走一样。

  • 2020-11-17 11:57:55

    app抓不到包,解决很简单

    1.手机安装virtualXpost 并激活xpost 框架,如有问题自行百度。 2.安装justTrustMe,然后再virtualXpost中添加此模块 3.安装手机抓包神器packet capture 4.在virtualXpost中运行app,并打开packet capture抓包就行

  • 2020-11-17 16:50:16

    JS常见加密混淆方式

    目录 前端js常见混淆加密保护方式 eval方法等字符串参数 emscripten WebAssembly js混淆实现 JSFuck AAEncode JJEncode 代码压缩 变量名混淆 字符串混淆 自我保护,比如卡死浏览器 控制流平坦化 僵尸代码注入 对象键名替换 禁用控制台输出 调试保护,比如无限Debug,定时Debug 域名锁定