weapp.qrcode.js 在 微信小程序 中快速生成二维码

发布于 2020-10-04 17:15:36 字数 4065 浏览 2662 评论 0

先在 wxml 文件中,创建绘制的 canvas,并定义好 width, height, canvasId

<canvas style="width: 200px; height: 200px;" canvas-id="myQrcode"></canvas>

直接引入 js 文件,使用 drawQrcode() 绘制二维码。!!!在 调用 drawQrcode() 方法之前,一定要确保可以获取到 canvas context

在 v0.6.0 版本构建出多个文件,详情移步 Build Files 说明

构建的文件

UMDCommonJSES Module
Develpmentweapp.qrcode.jsweapp.qrcode.common.jsweapp.qrcode.esm.js
Productionweapp.qrcode.min.js

使用方法

// 将 dist 目录下,weapp.qrcode.esm.js 复制到项目目录中
import drawQrcode from '../../utils/weapp.qrcode.esm.js'
 
drawQrcode({
  width: 200,
  height: 200,
  canvasId: 'myQrcode',
  // ctx: wx.createCanvasContext('myQrcode'),
  text: 'https://github.com/yingye',
  // v1.0.0+版本支持在二维码上绘制图片
  image: {
    imageResource: '../../images/icon.png',
    dx: 70,
    dy: 70,
    dWidth: 60,
    dHeight: 60
  }
})

如果项目使用了 wepy 框架,可直接安装 weapp-qrcode npm 包。

npm install weapp-qrcode --save
import drawQrcode from 'weapp-qrcode'
 
drawQrcode({
  width: 200,
  height: 200,
  canvasId: 'myQrcode',
  text: 'https://github.com/yingye'
})

更多 demo 示例你可以参考下这个目录 examples 目录,示例包含原生语法及 WePY、mpvue、Taro 框架,在源码里面可以找到。

API

drawQrcode([options])

options

Type: Object

参数说明示例
width必须,二维码宽度,与canvaswidth保持一致200
height必须,二维码高度,与canvasheight保持一致200
canvasId非必须,绘制的canvasId'myQrcode'
ctx非必须,绘图上下文,可通过 wx.createCanvasContext('canvasId') 获取,v1.0.0+版本支持'wx.createCanvasContext('canvasId')'
text必须,二维码内容'https://github.com/yingye'
typeNumber非必须,二维码的计算模式,默认值-18
correctLevel非必须,二维码纠错级别,默认值为高级,取值:{ L: 1, M: 0, Q: 3, H: 2 }1
background非必须,二维码背景颜色,默认值白色'#ffffff'
foreground非必须,二维码前景色,默认值黑色'#000000'
_this非必须,若在组件中使用,需要传入,v0.7.0+版本支持this
callback非必须,绘制完成后的回调函数,v0.8.0+版本支持。安卓手机兼容性问题,可通过自行设置计时器来解决,更多可以参考 issue #18function (e) { console.log('e', e) }
x非必须,二维码绘制的 x 轴起始位置,默认值0,v1.0.0+版本支持100
y非必须,二维码绘制的 y 轴起始位置,默认值0,v1.0.0+版本支持100
image非必须,在 canvas 上绘制图片,层级高于二维码,v1.0.0+版本支持,更多可参考drawImage{ imageResource: '', dx: 0, dy: 0, dWidth: 100, dHeight: 100 }

TIPS

weapp.qrcode.js 二维码生成部分借鉴了 jquery-qrcode 源码,可以参考 jquery-qrcode

npm 地址:https://www.npmjs.com/package/weapp-qrcode

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

沧笙踏歌

文章 0 评论 0

山田美奈子

文章 0 评论 0

佚名

文章 0 评论 0

岁月无声

文章 0 评论 0

暗藏城府

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文