微信小程序中生成二維碼工具:weapp.qrcode.js

前言

在近期的小程序開發中,有一個離線生成二維碼的需求。當時想到了一些優秀的前端開源庫 jquery-qrcodenode-qrcode,因爲小程序中沒有DOM的概念,這些庫在小程序中並不適用。html

因此,針對微信小程序的特色,封裝了 weapp.qrcode.js ,用於在小程序中快速生成二維碼。效果以下圖:前端

下面來介紹一下使用方法:node

使用

建立canvas標籤

先在 wxml 文件中,建立繪製的 canvas,並定義好 width, height, canvasId 。因爲小程序沒有動態建立標籤的api,因此這一步不能省略。jquery

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

調用繪製方法

因爲微信小程序不支持引入NPM包,能夠將dist目錄下,weapp.qrcode.min.js 拷貝至項目中。git

若是你的小程序使用了支持引入NPM包的框架,如 wepy , 也能夠直接安裝 weapp-qrcode NPM包。github

npm install weapp-qrcode --save
複製代碼

引入 js 文件後,調用 drawQrcode() 繪製二維碼。shell

import drawQrcode from 'weapp-qrcode'
// 或者,將 dist 目錄下,weapp.qrcode.min.js 複製到項目目錄中
// import drawQrcode from '../../utils/weapp.qrcode.min.js'

drawQrcode({
  width: 200,
  height: 200,
  canvasId: 'myQrcode',
  text: 'https://github.com/yingye'
}
複製代碼

API說明

參數 說明 示例
width 必須,二維碼寬度,與canvaswidth保持一致 200
height 必須,二維碼高度,與canvasheight保持一致 200
canvasId 必須,繪製的canvasId 'myQrcode'
text 必須,二維碼內容 'https://github.com/yingye'
typeNumber 非必須,二維碼的計算模式,默認值-1 8
correctLevel 非必須,二維碼糾錯級別,默認值爲高級,取值:{ L: 1, M: 0, Q: 3, H: 2 } 1
background 非必須,二維碼背景顏色,默認值白色 '#ffffff'
foreground 非必須,二維碼前景色,默認值黑色 '#000000'

若是想更深刻的瞭解二維碼的原理,推薦你們閱讀 二維碼的生成細節和原理npm

原始文檔

https://github.com/yingye/weapp-qrcode ,若是以爲還不錯,記得給個star奧~canvas

相關文章
相關標籤/搜索