QRCodeWasm 是 @veaba/qrcode-wasm 的核心类,基于 Rust 编译为 WebAssembly,提供浏览器环境下的高性能 QRCode 生成。
在使用任何 WASM API 之前,必须先调用 init:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
input |
InitInput | Promise<InitInput> |
否 | 可选的 WASM 模块输入 |
Promise<InitOutput> - 初始化结果
init() 只需调用一次,建议放在应用启动时init() 不会报错,但只有第一次有效| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
text |
string |
是 | 要编码的文本 |
correct_level |
CorrectLevel |
是 | 纠错级别 |
使用选项创建 QRCodeWasm 实例。
生成 QRCode。
| 参数 | 类型 | 说明 |
|---|---|---|
text |
string |
要编码的文本 |
获取 SVG 字符串。
string - SVG XML 字符串
生成 SVG(统一接口)。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
size |
number | null |
否 | SVG 尺寸 |
生成带样式的 SVG。
| 参数 | 类型 | 说明 |
|---|---|---|
options |
any |
样式选项 |
获取模块数量。
number - 模块数量
获取模块数据作为 JSON 字符串。
string - JSON 格式的模块数据
判断指定位置是否为深色。
| 参数 | 类型 | 说明 |
|---|---|---|
row |
number |
行索引 |
col |
number |
列索引 |
boolean - true 表示深色
释放 WASM 内存。
WASM 对象不会自动被垃圾回收,需要手动调用 free() 释放内存。或者使用 using 语法(TypeScript 5.2+):
可复用的 QRCode 生成器,性能更优。
用于 Canvas 渲染。