在开发一个取件的小程序与 nodejs 服务端的过程中发现,假定运用网上现有的二维码生成 API ,存在某些问题比如央求需求较长时间,数据格局较为固定,因为整体业务上也不git指令需求二维码的风格化git教程,最好能够前端与 nodejs 服务git教程端通用。
经过简略的google服务结构googleplay调研挑选了 QRCode.js
QRChtml代码ode.js 项目
QRCode.js 是一个用于giti生成二维码的 JavaScript 库。主要是通canvas登录过获取 DOM 的标签,再经过 HTML5 Canvas 制造而成,不依google地球托任何库。他支撑 nodejs 端,浏giti览器端,以及小程序端。
1. 设备 QRCode.js
npm install --save qrcode
2. 配备生canvas的中文意思成二维码canvas动画的特征
const QRCode = require('qrcode')
const options = {
errorCorrectiogoogle空间nLevel: 'H',
type: 'thtml5erminal',
quality: 0.95google翻译,
margin:app设备下载 1,
color: {
dark: '#000'git指令,
light: '#FFF',
},
}
- errorCorrectionLAPPevel:纠错功能使您即便符号变脏或损git教程坏也能成功扫描QR码。
根据操作环境,有四个等级可供挑选。
Level | Error resistancgocanvas登录ogleplay安卓版下载e |
---|---|
L (Low) | ~7%git教程 |
M (Medium) | ~15% |
Q (Quartile) | ~HTML25% |
H (High) | ~30% |
等html标签级越高,供应的抗差错性越好gitee,但会下降符号的容量
Modegoogle商铺 | Lcanvas | M | Q | H |
---|---|---|---|---|
Numeric | 7089 | 5596 | 3993 | 3057 |
Alphanumeric | 4296 | 3391 | 2420 | 1852 |
Byte | 2953 | 2331 | 1663 | 1273 |
Kanji | 1apple817 | 1435applehtml | 1024 | 784 |
- color:指定QR码图画的颜色
dark:二维码主体颜色,light:二维google码布景颜色
-
Type:指htmAPPl标签定期望的输出类型,html代码例googleCanvas空间如数据URL中的html网页制造 image / pnhtml个人网页完好代码g,image / jpeg,image / webhtml是什么意思p和utf8,SVG,字符串中的终端。
-
quality:approach设置图画的质量,规git指令模为0-1html标签。 默认值为giti是什么牌子0.92,仅适用于image / jpeg和image / webp类型
-
width:设置图画的边长
假定width太小而不能包括二维码的悉数信息符号,HTML则此选项approve将被疏忽。
-
margin:设置图画的git指令外边框间隔
-
scappreciateale:设置每几个像素为一个信息点默以为 4
3. 设置输出
浏canvas动画览器端的运用方法
能够经过烘appear托到 Canvas 画布进行运用
<html>
<body>
<canvas id="appearancecanhtml个人网页无缺代码vasappearance"><APP/canvas>
<script src="bundle.approvejs"></script>
</body>giti是什么牌子;
</html>
运用前需求运用打包东西构建依托
vaapprover QRCode = requircanvas登录e('qrcode')
var canvas = document.ggoogle谷歌查找主页egiteetElementById('canvas')
QRCode.toCanvas(google商铺canvas, 'sample text', function (errcanvas交大or) {
if (error) console.error(error)
consolhtml网页制造e.log('success!');
})
或许直接烘托 base64 或许 图画文件 (png ,svg ,jpeg)
nodejs-servappearanceer 端常见运用方法
转成终端可输出的字符串
toStappearring(text, [opthtml网页制造ions], [cb(error, string)])
回来QR码的字符串标明方法。
假定挑选的输出格局是svg,appstore它将回html代码来一个包括xhtmlml代码的字github中文官网网页符串。
QRCode.tgoogle商铺oString([
{ data: 'qrcode test in nogithub永久回家地址dejs', mode: 'byte' },
]
).approvethen(qrImage => {
console.log("terminal", qrImcanvas的中文意思age)
}).catch(err => {
console.error(err)
})
转成包括二维码图片信息的gitlab Base64 编码 url
toDataURL(text, [options], [cb(errorappear, url)])
回来包括QR码图画标明方法的数据URIcanvas渠道。
现在仅适用于 image / png类型。
QRCode.toDataURL('qrcode test in nodejs', options).then(qrImage => {
console.log("URL", qrImage)
})html代码.catch(err =>Canvas {
console.error(err)
})
转成图片方法存储
toFile(pagithubth, text, [opgiti轮胎tions], [cb(html标签特征大全error)])
将QR Code保存到图画文件。
假定google未指定options.type,则将从文件扩展名中猜测格局。
QRCode.toFilegithhtmlub('appstore./images/qrgoogle翻译Code.png', "qrcode test in nodejs", options)
.then(()gitlab => {
console.lohtml5g("success")
}).catch(err => {
console.error(err)
})
无缺 node-segoogle谷歌查找主页rver 端 demo
const QRCode = require('qrcode')
const options = {Git
ergoogle空间rorCorrectioAPPnLevel:html是什么意思 'H',
type:canvas渠道 'terminal'appreciate,
quality: 0.95Canvas,
margin: 1,
color: {
dark: '#000',
light: '#FFF',
},
}
QRCode.toString([
{ data: 'qrcode tesgiteet in nodejs', mode: 'byte' },canvas
]
).then(qrImage =&Gitgt; {
cogiti是什么牌子nsole.log("githubterminal", qrImage)
}googleapple地球).catch(err => {
congiti轮胎solhtml标签特征大全e.error(errapplication)
})
QRCode.google地球toDataURL('qrcode tehtml是什么意思st in nodejs', options).thengit教程(qrImage => {gitee
console.logcanvassed("URL", qrImage)
}).approvecatch(err => {
console.error(err)
})
QRCohtml标签特approve色大全de.toFile('./images/qrCode.sgoogleplayvg', "qrcode test in napplicationodejs",Git options)
.then(() => {
consoappstorele.log("success")
}).catch(err => {
conappstoresole.error(err)
})
QRcode 一同支撑 ES5 / ES6 / ES7 的语法
import QRCode from 'qrcanvas软件codeapprovappreciatee'
// With Callback
QRCode.thtmloString('http://www.giti轮胎google.com', functiogoogle商铺ngit指令 (err, string) {
if (eGitrr) throgit教程w err
console.log(string)
}googleplay安卓版下载cangit教程vas)
/application/ With promises
QRCode.appletoDataappearanceURcanvas的中文意思L('I am a pony!')apple
.tgoogle商铺hen(url => {
console.log(url)
})
.catch(eappreciaterr => {
console.error(err)
})
// With async/await
const generateQR =google地球 async text => {
try {
console.log(await QRCode.toDataURL(text))
} cappstoreatch (err) {
console.errorgiti是什么牌子(err)canvas动画
}
}
在微信小程序中运用
yingye 教师giti是什么牌子供应的方案 weapp.qrcodgit指令e.git指令js
weapp.qrcodappeare.js
先在 wxml 文件中,创建制造的 canvas,并giti定义canvas的中文意思好 width, height, canvasId 。google空间
直接引进 js 文件,运用 drawQrcode() 制造二维码。
因为现在微信小程序已全面支撑 npm ,能够html文件怎么翻开挑选直接设备,giti是什么牌子记得要构建 npm 包
npm install weapp-qrcode --save
根google谷歌查找主页柢运用
imporCanvast drawQrcode fHTMLromhtml简略网页代码 'weapp-qrcode'
drawgitlabQrcohtml简略网页代码de({
widcanvas渠道thtmcanvas软件l标canvaspsu签h: 200,
height: 200,
canvasId: 'myhtmlQrcode',
thtmgiti轮胎lext: 'https://gigoogle商铺thub.com/yingye'
})
快速生成条码canvas下载和二维码的方案
wxbarcode
设备
$ npm install wxbarcode
运用方法
import wxbarcodhtml个人网页无缺代码e from 'wxbarcode'
wxbarcode.barcode('barcode', '1234567html5890123456789'Canvas,giti 680, 200)giti轮胎;
wxbargoogle空间code.app设备下载qrcode('qrcode', '1234567890123456789', 420, 420);
条形码
函数名:barcode
函数原型:barcode(id, code, width, height)
参数:
- id: wxml文件中的 Canvas ID
- code: 用于生成条形码的字符串
- width: 生成的条形码宽度,单html位 rpGooglex
- hecanvas动画ight: 生成的条形码高度,单位 rpx
二维码
函数名:qrcode
函数原型:qrcode(id, code, width, height)
参数:
- id: wxml文件中的 Canvas ID
- code: 用于生成二维码的字符串
- width: 生成的二维码宽度google翻译,单位 rpx
- heightCanvas: 生成google浏览器的二维码html网页制造gitgiti轮胎ee高度,单位 rpx
总结
调研了许多处理方案,node-qhtml标签属性大全rcodgoogle商铺e 处理了我大部分问题。小程序社区也有许giti是什么牌子多的方案,也能够在跨端结构中运用,因为不是出产级项目也没有去调研检验html个人网页无缺代码。但根柢应该足以满意需求。
❤️ 感谢我们
假定你觉得这篇内容对你挺有有协助的canvas下载话:
点赞支撑下吧,让更多的人也能看到这篇内容(保藏不点赞,都是耍流氓 -_-)html5
注重大众号咸鱼爱前端,我们git教程一同学习一同跋涉。
觉得不错的话,也能够阅览其他文章(感谢朋友的煽动与支撑):
三个网站玩转 Grid 布局
Nodejs 完结守时爬虫
React-Query 让你的情况办理更典雅
前端页面布局学习神器
面试必备知识点之深浅仿制
SPA 前端路由原理与完结