js动态生成二维码

需求:项目需要根据链接实时生成二维码,当检测终端是PC时,将当前项目链接生成二维码供用户手机端使用

判断终端是否为mobile

1function isMobile () { 2 let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i); 3 return flag; 4}

链接准备

1this.$store.state.getQRCodeUrl = document.URL; 2//链接也可以用window.location.href 获取 3 if (!window.common.isMobile()) { 4 this.$router.push({path: '/QRCodepage'}); 5 return; 6 }

插件准备

QRCode.js 是一个用于生成二维码的 JavaScript 库。主要是通过获取 DOM 的标签,再通过 HTML5 Canvas 绘制而成,不依赖任何库。
下载命令 npm install qrcodejs2 --save

生成二维码

1<template> 2 <div class="QRCodePage"> 3 <div class="content"> 4 <div class="titleCen">请扫描二维码支付</div> 5 <div id='qrcode' class="qrCode"></div> 6 </div> 7 </div> 8</template> 9 10<script> 11import QRCode from 'qrcodejs2'; 12export default { 13 name: 'QRCodePage', 14 data () { 15 return { 16 url: '' 17 }; 18 }, 19 created () { 20 this.url = this.$store.state.getQRCodeUrl; 21 }, 22 mounted () { 23 this.createQRCode(); 24 }, 25 methods: { 26 createQRCode () { 27 var qrcode = new QRCode('qrcode', { 28 text: this.url, 29 width: 300, 30 height: 300, 31 colorDark: '#000000', 32 colorLight: '#ffffff', 33 correctLevel: QRCode.CorrectLevel.H 34 }); 35 qrcode.makeCode(this.url); // 生成二维码 36 } 37 } 38 39}; 40</script> 41 42<style lang='less'> 43.QRCodePage{ 44 background-color: #f7f7f7; 45 height: 100%; 46 .content{ 47 width: 300px; 48 height: 300px; 49 margin: 20px auto; 50 .titleCen{ 51 text-align:center; 52 } 53 .qrCode{ 54 width: 90%; 55 margin:20px auto; 56 } 57 } 58} 59 60</style> 61 62

###注意: 在本地调试时报错-----vue.runtime.esm.js?2b0e:1888 Error: code length overflow. (1676>1056) 发布到测试上用测试域名就好了

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

swap空间的增减方法

(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap