单据条形码(JsBarcode)
灵感:能力工具箱 barcode(pkg: jsbarcode)。
何时使用
- 跟进单号、入库单号生成可打印 CODE128
- 浏览器内画到
<svg>/<canvas>再打印
硬约束
- 默认格式 CODE128;内容为可见 ASCII,空串拒绝。
- 使用
JsBarcode;展示可读文字(displayValue: true)除非用户关闭。 - 打印场景:条码区域足够对比度,宽度随内容长度自适应说明。
- 非法字符导致库抛错时,给出可读提示。
- 交付 SVG/Canvas 用法片段;勿依赖仓库私有组件。
推荐实现要点
import JsBarcode from 'jsbarcode'
export function renderCode128(
el: SVGSVGElement | HTMLCanvasElement,
value: string,
opts?: { height?: number; displayValue?: boolean },
) {
const text = String(value || '').trim()
if (!text) throw new Error('条码内容不能为空')
JsBarcode(el, text, {
format: 'CODE128',
height: opts?.height ?? 64,
displayValue: opts?.displayValue ?? true,
margin: 8,
})
}
Agent 步骤
- 实现渲染函数;单据号输入框失焦生成。
- 自测:样例单号可被手机扫码识别(有条件时)。
- 打印样式:避免缩放模糊。
附加
- README.md · reference.md · templates/usage.md