Vue使用QRCode.js生成二维码
1.安装qrcode
npm install qrcode
2.组件中引入qrcode
import QRCode from 'qrcode'
3.html代码
<div><span class="right-btn" @click="makeQRCode">生成二维码</span></div> <div class="column-body-content text-center">
<div class="qr-code">
<img id="image" :src="qrcode">
<p>扫码预览</p>
</div>
</div>
<style lang="stylus" scoped>
.right-btn
position relative
display inline-block
margin-right: 20px
padding: 2px 6px
line-height: 20px
font-size 12px
color: #fff
border-radius: 4px
background-color #29e
cursor pointer
.column-body-content
padding: 20px .qr-code
position relative
margin-right: 20px
margin-bottom: 10px
display inline-block img
width: 120px
height: 120px
border: 1px solid #eee
p
line-height 20px
font-size 12px
text-align center
</style>
4.使用qrcode:调用QRCode.toDataURL(二维码扫描的url)方法,可生成所需要的二维码
// 生成二维码
makeQRCode() {
QRCode.toDataURL("http://aaa.vv.com/erp/card?authkey="+this.companyId).then(imgData => {
if(imgData) {
let file = this.convertBase64UrlToBlob(imgData);
// 上传到服务器(这里是上传到阿里云,this.oss是直接把阿里云的oss连接作为Vue对象的属性来调用,put是上传文件的方法)
this.oss.put('qrcode' + Math.random()*10 + '.png', file).then(result => {
this.qrcode = result.url; // 将已上传的图片的url赋值给img的src
alert('生成成功')
})
}
});
},
//从 base64 转换成 file
convertBase64UrlToBlob(urlData) {
let bytes = window.atob(urlData.split(',')[1]); //去掉url的头,并转换为byte
//处理异常,将ascii码小于0的转换为大于0
let ab = new ArrayBuffer(bytes.length);
let ia = new Uint8Array(ab);
for (let i = 0; i < bytes.length; i++) {
ia[i] = bytes.charCodeAt(i);
}
return new Blob([ab] , {type : 'image/png'});
}
Vue使用QRCode.js生成二维码的更多相关文章
- QRCode.js生成二维码
QRCode的GitHub地址: https://github.com/KeeeX/qrcodejs 该版本解决了主版本(https://github.com/davidshimjs/qrcodejs ...
- qrcode.js生成二维码因字符串过长而报错
前端使用qrcode.js生成二维码的时候.有时候是会出现 qrcode length overflow (1632>1056) 目前使用的有效的解决办法是重新下载新版的qrcode.js 下载 ...
- 使用jquery.qrcode.js生成二维码
通常生成二维码的方式有两种:第一种是java代码的形式,第二种是通过Js方式. 在这里我做个记录,用js生成二维码,可以在官网下载源码:http://jeromeetienne.github.io/j ...
- nuxt使用QRCode.js 生成二维码
QRCode.js 是一个用于生成二维码图片的插件, 官方文档 . 我是在nuxt.js(vue官方的服务端渲染方式)项目里使用的QRCode.js: 第一步:看官方文档: 第二步:下载QRCode. ...
- QRCode.js 生成二维码
QRCode.js 是一个用于生成二维码图片的插件. github地址 在线实例 实例预览 基础示例 实例预览 API 接口 使用方法 载入 JavaScript 文件 <script src= ...
- 利用vcard和qrcode.js生成二维码导入联系人
vCard是一种容许交换个人信息的数据规范,vCard数据格式的标识符是VCARD,vCard数据格式行是: 类型 [;参数]:值,具体的介绍百度都有,我们可以通过vcard来进行通讯录的保存,名片的 ...
- 转: jquery.qrcode.js生成二维码插件&转成图片格式
原文地址: https://blog.csdn.net/u011127019/article/details/51226104 1.qrcode其实是通过使用jQuery实现图形渲染,画图,支持can ...
- 【QRcode二维码】:使用JS前端插件QRcode.js生成二维码
1.先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcode 获取), qrcode.js 是实现二 ...
- qrcode——js生成二维码
1.引入 qrcode.min.js(点击下载demo) 2.html: <div id="qrcode"></div> js: var qrcode = ...
随机推荐
- html苹方字体
苹方提供了六个字重,font-family 定义如下: 苹方-简 常规体 font-family: PingFangSC-Regular, sans-serif; 苹方-简 极细体 font-fami ...
- go -- 测试
package 测试 import ( "fmt" "github.com/magiconair/properties/assert" "net/ht ...
- ThinkPHP 控制器不存在问题排查
新手经常会遇到这种问题,提示控制器找不到,一般的情况如下: 1. 命名空间地址错误 检查你的控制器命名空间是否正确
- Microsoft Office Excel不能访问文件*.xls的解决方案
Microsoft Office Excel不能访问文件‘xxxx.xls“可能的原因有:·文件名称或路径不存在,文件正被其他程序使用:您正要保存的工作簿与当前打开的工作簿同名. 解决方案 1.首先检 ...
- LODOP中打印项水平居中简短问答
相关博文:LODOP打印项水平居中(超文本纯文本居中)LODOP打印超文本有边距不居中的情况2(超文本居中的一种) LODOP表格水平居中3(宽度为百分比)(超文本居中的一种) LODOP打印图片水平 ...
- MySQL之备份
MySQL备份和备份 备份/还原 冷备:需要停止当前正在运行mysqld,然后直接拷贝或打包数据文件. 半热备:mysqldump+binlog --适合数据量比较小的应用 在线热备:AB复制 --实 ...
- 运行报错:'_TestResult' object has no attribute 'outputBuffer'
一.运行main函数,未生成测试报告,报错:'_TestResult' object has no attribute 'outputBuffer' 解决方式: 1.在HTMLTestReportCN ...
- js获取日期时间
获取当前时间 function getNowFormatDate() {//获取当前时间 var date = new Date(); var symbol_gang = "-"; ...
- Java开发笔记(一百二十四)AWT绘图操作
前面介绍了如何使用画笔在控件上展示图像,可是图像来源于磁盘图片,无法即兴绘制个性化的图案.所幸画笔工具Graphics不仅能够描绘图像,还支持绘制常见的几何形状,也支持绘制文本字符串,除了绘制图像用到 ...
- 15.Python略有小成(内置模块Ⅰ)
Python(内置模块Ⅰ) 一.序列化模块(很重要) 序列化 : 将一种数据结构(,list,dict...),转化成一个特殊的字符串的过程 我们现在要解决的问题 : 如果有一种特殊的字符串,这个字符 ...