vue利用qrcodejs2生成二维码

阅读数:151 评论数:0

跳转到新版页面

分类

html/css/js

正文

一、概述

vue有两种生成二维码的方式:qrcode、vue-qr(有icon)

二、qrcode

1、安装和引入

npm install --save qrcodejs2
//所需页面导入
import QRCode from 'qrcodejs2'

2、具体页面

<div class="qrcode" ref="qrCodeUrl"></div>
<script>
import QRCode from 'qrcodejs2'
export default {
  data() {
    return {
  },
  methods: {
    creatQrCode() {
        var qrcode = new QRCode(this.$refs.qrCodeUrl, {
            text: 'https://blog.csdn.net/weixin_42601136', // 需要转换为二维码的内容
            width: 100,
            height: 100,
            colorDark: '#000000',
            colorLight: '#ffffff',
            correctLevel: QRCode.CorrectLevel.H
        })
    },
},
mounted() {
    this.creatQrCode();
},
};
</script>

3、我们还可以使用以下方法

qrcode.clear(); // 清除代码
qrcode.makeCode("http://www.w3cschool.cc"); // 生成另外一个二维码

4、qrcode参数说明

参数 说明 默认值
text 需要编码的文字内容 -
width 图像宽度 256
height 图像高度 256
colorDark 前景色 #000000
colorLight 背景色 #ffffff
correctLevel 容错级别,可设置为:QRCode.CorrectLevel.L、QRCode.CorrectLevel.M、QRCode.CorrectLevel.Q、QRCode.CorrectLevel.H QRCode.CorrectLevel.L
typeNumber 二维码类型(1~40,输入 0 以自动检测)  4

在dialog弹窗里生成二维码,可以用nextTick()函数,等到DOM更新之后再执行代码。

//this.$nextTick()nextTick(()=>{
            document.getElementById("qr").innerHTML = '';
            new QRCode('qr', {
                  text: formData.value.pbid,
                        width: 50,
                        height: 50,
                        colorDark: '#000000',    //二维码颜色
                        colorLight: "#ffffff"    //背景颜色
                });
                
        });

三、vue-qr

vue-qr可以生成带logo图片的二维码。

1、安装插件 

npm install vue-qr --save

2、引用方式

// vue2.0
import VueQr from 'vue-qr'
 
// vue3.0 (support vite)
import vueQr from 'vue-qr/src/packages/vue-qr.vue'
...
{
  components: {VueQr}
}
<el-form style="text-align:center">
    <div class="dialog-footer"  >{{gameInfo.name}}:{{gameInfo.code}}</div>
    <vue-qr
        :text='contentValue' //二维码内容
        :logoSrc='logoSrc' //logo
        :logoScale = 0.2 //logo大小
        :margin = 10
    ></vue-qr>
</el-form>

3、参数

参数 说明
text 二维码内容 (必需)
size 尺寸, 长宽一致, 包含外边距 (必需)
margin 二维码图像的外边距, 默认 20px (可选)
dotScale 数据区域点缩小比例,默认为0.35 (可选)
correctLevel 容错级别 0-3 (可选)
whiteMargin 若设为 true, 背景图外将绘制白色边框(默认是true) (可选)
bindElement 指定是否需要自动将生成的二维码绑定到HTML上(默认是true) (可选)
callback 生成的二维码 Data URI 可以在回调中取得,第一个参数为二维码 data URL, 第二个参数为 props 传过来的 qid(因为二维码生成是异步的,所以加个 id 用于排序)
颜色
colorDark 实点的颜色 (可选)
colorLight 空白区的颜色 (可选)
autoColor 若为 true, 背景图的主要颜色将作为实点的颜色, 即 colorDark,默认 true // 若设置了 autoColor,则 colorDark 和 colorLight 都将被忽略。 (可选)
背景图像
bgSrc 欲嵌入的背景图地址 (可选)
gifBgSrc 欲嵌入的背景图 gif 地址,设置后普通的背景图将失效。设置此选项会影响性能 (可选)
backgroundColor 背景色 (可选)
backgroundDimming 叠加在背景图上的颜色, 在解码有难度的时有一定帮助 (可选)
logo图像
logoSrc 嵌入至二维码中心的 LOGO 地址 (可选 )
logoScale 用于计算 LOGO 大小的值, 过大将导致解码失败, LOGO 尺寸计算公式,logoScale(size-2margin), 默认 0.2 (可选 )
logoMargin 标识周围的空白边框, 默认为0 (可选 )
logoBackgroundColor 背景色,需要设置 logo margin (可选 )
logoCornerRadius 标识及其边框的圆角半径, 默认为0 (可选)
后处理  
binarize 若为 true, 图像将被二值化处理, 未指定阈值则使用默认值,默认是false (可选)
binarizeThreshold (0 < threshold < 255) 二值化处理的阈值 (可选)

 




相关推荐

1、安装依赖 npm install svg-sprite-loader --save-dev 2、配置build文件夹中的webpack.base.conf.js 3、在src/component

在列表渲染时使用key属性 当Vue.js用v-for正在更新已渲染过的元素列表时,它默认用&ldquo;就地复用&rdquo;策略,如果数据项的顺序被改变,Vue将不会移动D

一、vue.js devtools开发工具的使用 1、安装 在chrome或firefox浏览器的扩展插件仓库里搜索vue devtool。 2、debugger的使用 假设我们想调试App.vue这

在一些情况下,我们可能会需要对一个prop进行双向绑定,但它破坏了单向数据流。 在vue 2.3.0,重新引入了.sync修饰符,这是一个语法糖。 例子: <

&lt;div id="app"&gt; &lt;div v-on:click="dodo"&gt;

在登陆页的mouted生命周期方法中,添加 <pre class

ref被用来给元素或子组件注册引用信息,引用信息将会注册在父组件的$refs对象上。如果在普通的DOM元素上使用,引用指向的就是DOM元素,如果用在子组件上,引用就指向组件实例。 <!-- `vm.$

在使用Vue中经常看到HTML中有标签属性前面添加了“:”,有些没有。 其实是v-bind的缩写。 v-bind 缩写: ‘:’ 用法:动态绑定一个或多个特性,或一个组件prop到表达式。在绑定cl

module.exports = { "plugins": { "postcss-import": {},

一、概述 Vuex是一个专门为Vue.js应用程序开发的全局状态管理功能。它采用集中式存储管理应用的所有组件的状态, 并以相应的规则保证状态以一种可预测的方式发生变化。 每一个Vuex应用的核心就是s