QRCodeWasm
QRCodeWasm 是 @veaba/qrcode-wasm 的核心类,基于 Rust 编译为 WebAssembly,提供浏览器环境下的高性能 QRCode 生成。
初始化
在使用任何 WASM API 之前,必须先调用 init:
init 函数
参数
返回值
Promise<InitOutput> - 初始化结果
注意事项
init()只需调用一次,建议放在应用启动时- 多次调用
init()不会报错,但只有第一次有效 - 在生产环境中,建议缓存初始化状态
QRCodeWasm 类
构造函数
参数
示例
静态方法
with_options
使用选项创建 QRCodeWasm 实例。
示例
实例方法
make_code
生成 QRCode。
参数
示例
get_svg
获取 SVG 字符串。
返回值
string - SVG XML 字符串
示例
toSVG
生成 SVG(统一接口)。
参数
示例
toStyledSVG
生成带样式的 SVG。
参数
示例
get_module_count
获取模块数量。
返回值
number - 模块数量
getModulesJSON
获取模块数据作为 JSON 字符串。
返回值
string - JSON 格式的模块数据
is_dark
判断指定位置是否为深色。
参数
返回值
boolean - true 表示深色
free
释放 WASM 内存。
说明
WASM 对象不会自动被垃圾回收,需要手动调用 free() 释放内存。或者使用 using 语法(TypeScript 5.2+):
QRCodeGenerator 类
可复用的 QRCode 生成器,性能更优。
构造函数
方法
set_options
generate
generate_batch
get_svg
clear
示例
预设样式函数
圆角 QRCode
渐变 QRCode
微信风格
抖音风格
支付宝风格
赛博朋克风格
CanvasRenderer 类
用于 Canvas 渲染。