当前位置: 首页 > article >正文

Element UI +Vue页面生成二维码的方法

目录

  • 一、方法一 采用qrcodejs2生成
    • 1.1、安装二维码插件qrcodejs2
    • 1.2、在vue文件中,引入生成二维码插件
    • 1.3、构建二维码对象qrCodeDiv
  • 一、方法二 -采用qrcode生成
    • 2.1、安装qrcode
    • 2.2、页面引入
    • 2.3、方法里边使用
    • 2.4、options
  • 三、方法三 vue-qr
    • 3.1、安装
    • 3.2、页面引入
    • 3.3、组件增加vue-qr
    • 3.4、template使用
    • 3.5、options

一、方法一 采用qrcodejs2生成

1.1、安装二维码插件qrcodejs2

//在终端输入npm命令,安装二维码插件

npm install qrcodejs2 --save

1.2、在vue文件中,引入生成二维码插件

import QRCode from 'qrcodejs2';        //在vue文件中,引入生成二维码插件

1.3、构建二维码对象qrCodeDiv

全部代码

<!-- 生成绑定微信二维码界面 -->
    <el-dialog
      title="微信扫码绑定用户"
      :visible.sync="isShowCard"
      width="400px"
      center
      :before-close="jieBangClose"
    >
      <!-- 定义一个展示二维码的div -->
      <div style="display: flex; justify-content: center">
        <!-- 二维码对象可以通过 ref 绑定 -->
        <div id="qrCode" ref="qrCodeDiv"></div>
      </div>
    </el-dialog>
 
// 1. 方法调用 
bangding(row){
      let memberId = row.memberId;
      this.isShowCard = true;
      if(this.ids != null){
        memberId = this.ids[0];
      }
      this.createQRCode(memberId);
}
//2. 具体的绑定方法
createQRCode(id){
      this.$nextTick(()=>{
      this.$refs.qrCodeDiv.innerHTML = '';//二维码清除
      alert(id)
      new QRCode(this.$refs.qrCodeDiv, {
          text: "id="+ id,//二维码链接,参数是否添加看需求
          width: 200,//二维码宽度
          height: 200,//二维码高度
          colorDark: "#333333", //二维码颜色
          colorLight: "#ffffff", //二维码背景色
          correctLevel: QRCode.CorrectLevel.L //容错率,L/M/H
        });
      })
    }

一、方法二 -采用qrcode生成

2.1、安装qrcode

yarn add qrcode

2.2、页面引入

import QRCode from 'qrcode';

2.3、方法里边使用

getQRCodeUrl(){  
 QRCode.toDataURL(
 'hello world',{
 color: {
 dark:"#010599FF",
 light:"#FFBF60FF"
           }
         }
      )
       .then((url) => {
 // 获取到url后即可在页面使用--二维码图片
 console.log('url', url)
       })
       .catch((e) => {
 console.log('e', e)
       });
 }

2.4、options

名称类型默认值说明
errorCorrectionLevelStringM错误处理级别。可选值:low, medium, quartile, high or L, M, Q, H
maskPatternNumber可选值:0, 1, 2, 3, 4, 5, 6, 7
marginNumber4
scaleNumber4
widthNumber
color.darkString#000000ff
color.lightString#ffffffff

三、方法三 vue-qr

3.1、安装

yarn add vue-qr

3.2、页面引入

import VueQr from 'vue-qr'

3.3、组件增加vue-qr

components: { 
	VueQr 
},

3.4、template使用

logoSrc中间logo

<vue-qr style="width:200px;height:200px;" logoSrc="https://image.dandelioncloud.cn//dist/img/NoSlightly.png" text="Hello world!" :size="200"></vue-qr>

3.5、options

ParameterExplanation
textContents to encode. 欲编码的内容
correctLevelCorrect Level 0-3 容错级别 0-3
sizeWidth as well as the height of the output QR code, includes margin. 尺寸, 长宽一致, 包含外边距
marginMargin to add around the QR code, default 20px. 二维码图像的外边距, 默认 20px
colorDarkColor of “true” blocks. Works only when both colorDark and colorLight are set. (BYTE_DTA, BYTE_POS, BYTE_AGN, BYTE_TMG) 实点的颜色
colorLightColor of empty space, or “false” blocks. Works only when both colorDark and colorLight are set. (BYTE_EPT) 空白区的颜色
componentsControls the appearances of parts in the QR code. Read section ComponentOptions to learn more. 阅读 ComponentOptions 了解更多信息
bgSrcBackground url to embed in the QR code. 欲嵌入的背景图地址
gifBgSrcGif background url to embed in the QR code, If gifBackground is set, backgroundImage will be ignored. This option will affects performance. 欲嵌入的背景图 gif 地址,设置后普通的背景图将失效。设置此选项会影响性能
backgroundColorBackground color 背景色
backgroundDimmingColor mask to add above the background image. Helpful when having problems with decoding. 叠加在背景图上的颜色, 在解码有难度的时有一定帮助
logoSrcLogo url to embed at the center of generated QR code 嵌入至二维码中心的 LOGO 地址
logoScaleValue used to scale the logo image. Larger value may result in decode failure. Size of the logo equals to logoScale*(size-2margin). Default is 0.2. 用于计算 LOGO 大小的值, 过大将导致解码失败, LOGO 尺寸计算公式 logoScale(size-2*margin), 默认 0.2
logoMarginWhite margin that appears around the logo image. Default is 0. LOGO 标识周围的空白边框, 默认为0
logoBackgroundColorLogo background color, need set logo margin. Logo 背景色,需要设置 logo margin
logoCornerRadiusRadius of the logo’s corners.Default is 0 LOGO 标识及其边框的圆角半径, 默认为0
whiteMarginIf set to true, a white border will appear around the background image. Default is true. 若设为 true, 背景图外将绘制白色边框
dotScaleValue used to scale down the data dots’ size. (0 < scale < 1.0) default 1 数据区域点缩小比例,默认为1
autoColorIf set to true, the dominant color of backgroundImage will be used as colorDark. Default is true. 若为 true, 背景图的主要颜色将作为实点的颜色, 即 colorDark,默认 true
binarizeIf set to true, the whole image will be binarized with the given threshold, or default threshold if not specified. Default is false. 若为 true, 图像将被二值化处理, 未指定阈值则使用默认值
binarizeThresholdThreshold used to binarize the whole image. Default is 128. (0 < threshold < 255) 二值化处理的阈值
callbackData URI of the generated QR code will be available here. 生成的二维码 Data URI 可以在回调中取得,第一个参数为二维码 data URL, 第二个参数为 props 传过来的 qid(因为二维码生成是异步的,所以加个 id 用于排序)
bindElementIf set to true, the generated QR will bind to a HTML element automatically. Default is true. 指定是否需要自动将生成的二维码绑定到HTML上, 默认是true

http://www.kler.cn/a/274114.html

相关文章:

  • Flink的Watermark水位线详解
  • 去除 el-input 输入框的边框(element-ui@2.15.13)
  • 论文解读——掌纹生成网络 RPG-Palm升级版PCE-Palm
  • Intent--组件通信
  • “乡村探索者”:村旅游网站的移动应用开发
  • LSTM-SVM时序预测 | Matlab基于LSTM-SVM基于长短期记忆神经网络-支持向量机时间序列预测
  • Javascript抓取京东、淘宝商品数据(商品采集商品详情图片抓取)
  • AI检测识别技术,为智能化视频生产赋能
  • bootstrap精选模板tabler下载
  • 数据分析-Pandas序列滑动窗口配置参数
  • Flutter Widget:StatefulWidget StatelessWidget
  • C++作业day6
  • nodeJs 学习
  • C++_day6:2024/3/18
  • MySQL `COALESCE` 函数
  • 一般做策划的的,上哪儿找策划方案借鉴?
  • Echarts横向柱形图
  • 微信小程序注册流程
  • Docker基本配置及使用
  • 嵌入式DSP教学实验箱操作教程:2-20 数模转换实验(模拟SPI总线输出电压值)
  • 数据库系统概论-练手题集合【期末复习|考研复习】
  • 蓝桥杯之冲刺
  • 为什么线程通信的方法 wait(), notify()和 notifyAll()被定义在 Object 类里?为什么他们必须在同步方法或者同步块中被调用?
  • 码云使用 创建项目
  • 数据结构(三)复杂度的深层次剖析
  • 基于tcp协议的网络通信(基础echo版.多进程版,多线程版,线程池版),telnet命令