QRCodeCore
QRCodeCore 是项目的核心 QRCode 生成类。它通过以下公开包提供:
@veaba/qrcode-js- 浏览器环境@veaba/qrcode-node- Node.js 环境@veaba/qrcode-bun- Bun 环境
所有公开包都导出相同的 API,QRCodeCore 是内部私有包 @veaba/qrcode-js-shared 的核心类。
构造函数
参数
示例
属性
方法
toSVG
生成 SVG 字符串。
参数
返回值
string - SVG XML 字符串
示例
输出示例
toStyledSVG
生成带样式的 SVG 字符串。
参数
示例
getModuleCount
获取 QRCode 模块数量。
返回值
number - 模块数量(例如:Version 2 为 25)
示例
isDark
判断指定位置的模块是否为深色。
参数
返回值
boolean - true 表示深色,false 表示浅色
示例
toTerminal
将 QRCode 渲染为终端可显示的字符画。每个模块使用 2 个字符宽度,以补偿终端字符的高宽比(约 2:1)。
参数
返回值
string - 终端字符画字符串
示例
输出示例
toTerminalBraille
使用 Braille 字符渲染更紧凑的终端二维码。每个 Braille 字符表示 2x4 像素(宽 x 高),输出高度约为标准终端的 1/4。
返回值
string - Braille 字符画字符串
示例
输出示例
toTerminalColor
带颜色的终端输出(使用 ANSI 转义序列)。
参数
支持的颜色
black, red, green, yellow, blue, magenta, cyan, white
返回值
string - 带 ANSI 颜色的终端字符画
示例
静态方法
QRCodeCore 没有静态方法,但公开包提供了相关的工具函数(如 generateBatchQRCodes)。
完整示例
基础使用
自定义样式
自定义渲染
性能提示
- 复用实例:如果只需要改变样式而不改变内容,复用同一个实例
- 使用缓存:对于重复文本,使用
getCachedQRCode - 批量生成:使用
generateBatchQRCodes而不是循环创建实例