vue生成二维码:vue-qr二维码插件使用
1.下载 qrcode
npm i qrcode
2.在所需组件使用qrcode
<template>
<div>
<img :src="qrcode" width="192">
</div>
</template>>
import QRCode from 'qrcode'
export default{
data(){
return{
qrcode:''
}
},
mounted(){
this.setQRCode('http:xxx.xx')
},
methods:{
// 根据字符串生成二维码
setQRCode(str) {
QRCode.toDataURL(str, { width: 192, margin: 1 }).then(res=>{
// toDataURL方法返回一个promise
this.qrcode = res;
})
}
}
}
接下来就具体看一下qrcode的其他使用方法:
qrcode 指南
方法
下面方法的参数中
opts
和回调函数cb
都是可选项,不是必填参数
浏览器
只支持前四个方法,服务器可以支持以下全部方法
1.create(text, opts)
QRCode.create("str")
// 返回结果为对象
// {
// modules, // 具有模块数据的Bitmatrix类
// version, // 版本
// errorCorrectionLevel, // 纠错级别
// maskPattern, // 计算后的遮罩图案
// segments // segments
// }
2.toCanvas(canvas, text, opts)
<canvas id="canvas"></canvas>
var canvas = document.getElementById('canvas')
QRCode.toCanvas(canvas, 'str', function (err) {
if (err) console.log(err)
})
3.toDataURL(text, opts, cb)
//此方法是刚开始例子的nodejs写法,这里的回调函数参数不同
QRCode.toDataURL("str", (err, res) => {
// 注意这里第一个参数是err,第二个参数才是二维码图片链接
this.qrcode = res;
});
4.toString(text, opts, cb)
<div v-html="qrcode" style="width:192px"></div>
QRCode.toDataURL("str", (err, res) => {
// 注意这里的res结果是一个svg图片
this.qrcode = res;
});
5.toFile(path, text, opts, cb)
// 这个方法试了没成功,暂存一下
QRCode.toFile("path/filename.png", "str", err => {
if (err) throw err;
});
6.toFileStream(stream, text, opts)
7.toBuffer(text, opts, cb)
配置参数 opts
margin
作用: 二维码线条到整个图片边缘的距离,类似前端的padding
类型:Number
默认: 4
scale
作用: 比例,比如上面的margin为4px,实际上为16px.
类型:Number
默认: 4
width
作用: 生成二维码图片的宽度
类型:Number
默认: 116
color.dark
作用: 二维码线条的颜色
类型:String
默认: '#000'
color.light
作用: 二维码背景色
类型:String
默认: '#fff'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通