G2Plot-QRCode基于 G2Plot 的强大二维码渲染库
G2Plot-QRCode 是一个基于 G2Plot 的强大二维码渲染库。LIVE DEMO, CodeSandbox.
安装
$ npm i --save g2plot-qrcode
使用
渲染
import { G2Plot } from '@antv/g2plot'; import { adaptor, defaultOptions } from 'g2plot-qrcode'; const qr = new G2Plot('container', { // 二维码文本 data: 'Hello, g2plot qrcode!', // 间距 padding: 8, // 宽高 width: 120, height: 120, // 背景前景颜色 backgroundColor: 'white', foregroundColor: 'black', typeNumber: 0, correctLevel: 'H', // L M H Q // 样式自定义 pixelStyle: (pixelData) => ({}), }, adaptor, defaultOptions); qr.render();
更新
qr.update({ data: 'hello world!', })
配置项
export interface QRCodeOptions { /** qrcode 的内容文本 */ readonly data: string; /** 边框间距,默认 8px */ readonly padding?: number; /** 二维码大小宽高,默认都是 120px */ readonly width: string; readonly height: string; /** 二维码 correctLevel,默认 H */ readonly correctLevel?: 'L' | 'M' | 'Q' | 'H'; /** 二维码 typeNumber,默认 0 */ readonly typeNumber?: any; // readonly effect?: 'fusion' | 'round' | 'rect'; /** 二维码前景色,默认 black */ readonly foregroundColor?: string; /** 二维码背景色,默认 white */ readonly backgroundColor?: string; /** 二维码的 icon 中心图标,默认无 */ readonly icon?: { readonly image: string; // 图片 readonly width?: number; // 图片宽高 readonly height?: number; }; /** 单元格样式,默认无 */ readonly pixelStyle?: (pixelData: PixelData) => object; }
功能
- 常规二维码库能力都支持,支持宽高 padding 等基础配置
- 支持自定义前景背景
- 支持自定义 detection position 的样式(颜色、描边、渐变等)
- 支持 icon 以及大小
- 交互事件(二维码不再是静态图)
评论