最终产出了一个 G2Plot 的开源扩展包 G2Plot-QRCode,欢迎试用和 star 。
预览效果来一个如下:

使用方式
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) => ({}),
icon: {},
}, adaptor, defaultOptions);
qr.render();
功能
- 常规二维码库能力都支持,支持宽高 padding 等基础配置
- 支持自定义前景背景
- 支持自定义 detection position 的样式(颜色、描边、渐变等)
- 支持 icon 以及大小
- 交互事件(二维码不再是静态图)
还能做什么?
理论上还能做到更加炫酷,比如:
- 单元格的图形形状
- 背景色
- 出场动画
当然这些还没有做。(: 逃
哦,对了, 还有 G2Plot 的开源地址。