1.0.3 • Published 2 years ago

@yang-gang/weapp-qrcode v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

weapp-qrcode

npm version change-log

weapp.qrcode.js 在 微信小程序 中,快速生成二维码,只支持微信2.9.0之后的新版本

Usage

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

注意:如果是在组件中使用,必须设置 _this 选项,则必须传入当前组件 this

<canvas type="2d" id="myQrcode" style="width:300px;height:400px;"></canvas>

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

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

// 也可以将 dist 目录下,weapp.qrcode.esm.js 复制到项目目录中直接引用使用
import drawQrcode from '@yang-gang/weapp-qrcode/dist/weapp.qrcode.esm.js'

drawQrcode({
  width: 200,
  height: 200,
  id: '#myQrcode',
  // ctx: wx.createSelectorQuery(),
  text: 'https://github.com/yingye',
  // v1.0.0+版本支持在二维码上绘制图片
  image: {
    imageResource: '../../images/icon.png',
    dx: 70,
    dy: 70,
    dWidth: 60,
    dHeight: 60
  }
})

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

npm install @yang-gang/weapp-qrcode --save
import drawQrcode from '@yang-gang/weapp-qrcode/dist/weapp.qrcode.esm.js'

drawQrcode({
  width: 200,
  height: 200,
  id: 'myQrcode',
  text: 'https://github.com/yingye'
})

DEMO

更多 demo 可以参考 examples目录,示例包含原生语法及WePY、mpvue、Taro框架。

API

drawQrcode(options)

options

Type: Object

参数说明示例
width必须,二维码宽度,与canvaswidth保持一致200
height必须,二维码高度,与canvasheight保持一致200
id非必须,canvas元素的id'#myQrcode'
ctx非必须,绘图上下文,可通过 wx.createSelectorQuery() 获取,v2.9.0+版本支持'wx.createSelectorQuery()'
_this非必须,在自定义组件中,如果使用id获取canvas实例,则必须传入当前组件thiscomponentInstance
text必须,二维码内容'https://github.com/yingye'
typeNumber非必须,二维码的计算模式,默认值-18
correctLevel非必须,二维码纠错级别,默认值为高级,取值:{ L: 1, M: 0, Q: 3, H: 2 }1
drawBg非必须,是否绘制画布背景,默认值为false,取值:true OR falsefalse
bgColor非必须,绘制画布背景的颜色,默认值为'#ffffff'#ffffff
scale非必须,可设置缩放倍数,数字越大图片越大,越清晰默认是手机的像素比Dpr
correctLevel非必须,二维码纠错级别,默认值为高级,取值:{ L: 1, M: 0, Q: 3, H: 2 }1
background非必须,二维码背景颜色,默认值白色'#ffffff'
foreground非必须,二维码前景色,默认值黑色'#000000'
callback非必须,绘制完成后的回调函数,v0.8.0+版本支持。安卓手机兼容性问题,可通过自行设置计时器来解决,更多可以参考 issue #18function (ctx, canvas) { 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