小程序字符串转成二维码遇到的坑

weapp-qrcode

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

Usage

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

在项目中我使用的是wepy框架,因此直接安装weapp-qrcode npm包。git

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

写到这目前能够生成二维码了=_=
github

坑了来。。。。npm

canvas只有一个id,能够生成不一样的二维码,可是不能再同一个画布并列生成多个,由于id是惟一的只能生成一个。 因此我作了如下处理canvas

drawQrcode({
  width: '200',
  height: '200',
  canvasId: e.currentTarget.dataset.id + new Date().getTime(),
  text: couponCode,
  success: res=> {
    console.log(res)
  }
})
复制代码

canvasId是每一个优惠券的id,我点击每一个优惠券会生成对应的二维码,可是再次点击就不展现二维码了, 因此我在后面拼接了时间戳,每次点击都会生成对应的二维码小程序

eg: 微信小程序

API

参数 说明 示例
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 非必须,二维码的计算模式,默认值-1 8
correctLevel 非必须,二维码纠错级别,默认值为高级,取值:{ L: 1, M: 0, Q: 3, H: 2 } 1
background 非必须,二维码背景颜色,默认值白色 '#ffffff'
foreground 非必须,二维码前景色,默认值黑色 '#000000'
_this 非必须,若在组件中使用,须要传入,v0.7.0+版本支持 this
callback 非必须,绘制完成后的回调函数,v0.8.0+版本支持。安卓手机兼容性问题,可经过自行设置计时器来解决,更多能够参考 issue #18 function (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 }
相关文章
相关标签/搜索