转载:在微信小程序中 生成二维码
转载:
weapp-qrcode-canvas-2d
仓库地址
使用
先在 wxml 文件中,创建绘制的 canvas,并定义好 width, height, id , type ,其中type的值必须为2d
<canvas type="2d" style="width: 260px; height: 260px;" id="myQrcode"></canvas>
安装方法1:直接引入 js 文件
直接引入 js 文件,使用 drawQrcode() 绘制二维码
// 将 dist 目录下,weapp.qrcode.esm.js 复制到项目中。路径根据实际引用的页面路径自行改变 import drawQrcode from ../../utils/weapp.qrcode.esm.js
安装方法2:npm安装
npm install weapp-qrcode-canvas-2d --save
在文件中引入
import drawQrcode from weapp-qrcode-canvas-2d
安装完成后调用
例子1:没有使用叠加图片
const query = wx.createSelectorQuery()
query.select(#myQrcode)
.fields({
node: true,
size: true
})
.exec((res) => {
var canvas = res[0].node
// 调用方法drawQrcode生成二维码
drawQrcode({
canvas: canvas,
canvasId: myQrcode,
width: 260,
padding: 30,
background: #ffffff,
foreground: #000000,
text: 大王顶真帅,
})
// 获取临时路径(得到之后,想干嘛就干嘛了)
wx.canvasToTempFilePath({
canvasId: myQrcode,
canvas: canvas,
x: 0,
y: 0,
width: 260,
height: 260,
destWidth: 260,
destHeight: 260,
success(res) {
console.log(二维码临时路径:, res.tempFilePath)
},
fail(res) {
console.error(res)
}
})
})
例子2:使用叠加图片(在二维码中加logo)
const query = wx.createSelectorQuery()
query.select(#myQrcode)
.fields({
node: true,
size: true
})
.exec(async (res) => {
var canvas = res[0].node
var img = canvas.createImage();
img.src = "/image/logo.png"
img.onload = function () {
// img.onload完成后才能调用 drawQrcode方法
var options = {
canvas: canvas,
canvasId: myQrcode,
width: 260,
padding: 30,
paddingColor: #fff,
background: #fff,
foreground: #000000,
text: https://gitee.com/WeiDoctor/weapp-qrcode-canvas-2d,
image: {
imageResource: img,
width: 80, // 建议不要设置过大,以免影响扫码
height: 80 // 建议不要设置过大,以免影响扫码
round: true // Logo图片是否为圆形
}
}
drawQrcode(options)
// 获取临时路径(得到之后,想干嘛就干嘛了)
wx.canvasToTempFilePath({
x: 0,
y: 0,
width: 260,
height: 260,
destWidth: 600,
destHeight: 600,
canvasId: myQrcode,
canvas: canvas,
success(res) {
console.log(二维码临时路径为:, res.tempFilePath)
},
fail(res) {
console.error(res)
}
})
};
})
这里是API
drawQrcode([options])
Type: Object
上一篇:
uniapp开发微信小程序-2.页面制作
下一篇:
生成微信小程序码
