Skip to content

Barcode 一维码 ​

查看 sn-barcode 的 2.0 版本差异

基础用法 ​

纯 Canvas 自绘的一维码组件,不依赖原生条码库。

  • 支持 9 种常见一维码格式,可旋转与圆角化显示
  • 可在条码下方显示编码文本
  • 编码内容按 UTF-8 字节数计算,上限 300 字节,超出自动截断

首帧渲染

组件在画布取得实际尺寸后绘制首帧,首次进入页面即可正常显示,无需再次进入。

vue
<template>
	<sn-barcode value="SN-20260820" code-type="code128"></sn-barcode>
</template>

更多演示请下载 demo 查看

属性 ​

参数说明类型默认值可选值
value条形码数据StringSN-20260820-
codeType条形码格式SnBarcodeFormatcode128code128 | code39 | code93 | codabar | ean8 | ean13 | upca | upce | itf
width条码区域宽度,最小 48pxString | Number280-
height条码区域高度,最小 24pxString | Number96-
padding左右留白边距String | Number8-
rotation旋转方向StringNN 正常 | L 左转 | R 右转 | I 倒转
showValue是否在条码下方显示编码文本Booleantruetrue | false
valueAlign编码文本对齐方式Stringcenterleft | center | right
valueFontSize编码文本字体大小,最小 8pxString | Number14-
valueSpacing编码文本与条码间距String | Number8-
barColor条纹(前景)颜色,支持 $ 主题色与 var(--sn-*)String#111111-
backgroundColor背景颜色,支持 $ 主题色与 var(--sn-*)Stringtransparent-
valueColor编码文本颜色,跟随 barColorString--
barShape条纹形状Stringflatflat | rounded
barRadius条纹圆角(仅 barShape=rounded 生效)String | Number6-
moduleMinWidth最小模块宽(px),保证密集码型可辨认String | Number1-
customStyle自定义根节点样式SnStyleValue--
codeStyle自定义条码画布样式SnStyleValue--
valueStyle自定义编码文本样式SnStyleValue--
customClass自定义根节点类名String--
codeClass自定义条码画布类名String--
valueClass自定义编码文本类名String--

条码格式。

可选值备注
code128Code 128
code39Code 39
code93Code 93
codabarCodabar
ean8EAN-8
ean13EAN-13
upcaUPC-A
upceUPC-E
itfITF(交错 2/5)

类型 ​

条码单元。

名称类型必填描述
widthnumber是该元素的模块宽度
barboolean是是否为条纹(false 为间隙)

条码绘制数据。

名称类型必填描述
elementsSnBarcodeBarElement[]是条纹元素序列
totalModulesnumber是总模块数
valuestring是实际编码的文本(可能被截断)

使用 MIT 协议