更新记录

1.0.0(2026-04-07)

  • 将插件正式定位为“标签打印指令生成版”
  • 新增打印机预设库与标签模板库
  • 新增模板一键生成打印参数能力
  • 支持 TSPL / ZPL / CPCL 指令统一生成
  • 支持 dry-run 预演与 mock 扫描、连接、打印流程
  • 重做示例页面,适合直接录屏和商品展示
  • 重写产品说明、FAQ、授权说明与发布资料

平台兼容性

uni-app(3.7.3)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - -

uni-app x(4.0)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - -

# UTS 蓝牙标签打印指令生成 Pro

产品介绍

bluetooth-label-print-pro 是一款面向 uni-app / uni-app x 的商业版标签打印插件。

它解决的不是“真实蓝牙硬件透传”问题,而是“标签怎么生成、怎么预览、怎么演示、怎么快速交付”这件事。

如果你的项目需要:

  • 生成 TSPL / ZPL / CPCL 指令
  • 快速做出商品标签、物流面单、价签模板
  • 在交付前先把标签布局、命令输出、演示页面跑通
  • 给客户看效果、录制演示视频、做售前试用

这个插件就是为这些场景准备的。

这个插件能做什么

当前版本已经包含:

  • TSPL / ZPL / CPCL 三种标签指令语言生成
  • 物流面单、商品标签、价签三类模板
  • 常见打印机预设与 DPI 配置
  • 标签参数校验
  • 布局预览和原始命令输出
  • dryRun 预演流程
  • mock 扫描、连接、打印演示流程

这个插件不做什么

当前版本不包含:

  • Android 真机蓝牙扫描
  • Android 真机蓝牙连接与字节写入
  • iOS CoreBluetooth 真机写入
  • 不同打印机品牌的真实兼容性适配

所以你在商品介绍里应该把它描述为:

  • 标签打印指令生成版
  • 标签模板商业版
  • 蓝牙标签打印前端能力包

不要把它描述成“真机即连即打版”。

适用对象

这个插件适合:

  • 软件公司交付标签打印页面
  • 外包团队做客户演示
  • 插件作者出售模板与命令层能力
  • 项目方先验证标签布局,再决定是否继续做原生蓝牙链路

支持平台

平台 支持情况
Android App 支持命令生成、模板预览、dry-run、mock 演示
iOS App 支持命令生成、模板预览、dry-run、mock 演示
Web 支持命令生成与商品展示
小程序 不支持
HarmonyOS 暂未开放

安装方式

把插件目录放到你的 uni-app 项目中:

uni_modules/bluetooth-label-print-pro

然后在页面或业务代码中引入:

import {
  getSupportInfoSync,
  getPrinterPresetsSync,
  getLabelTemplatesSync,
  createTemplatePrintOptionsSync,
  validatePrintOptionsSync,
  preparePrintJobSync,
  printLabel,
} from '@/uni_modules/bluetooth-label-print-pro'

三分钟上手

第一步:看当前支持能力

const supportInfo = getSupportInfoSync()
console.log(supportInfo)

第二步:读取模板和打印机预设

const templates = getLabelTemplatesSync()
const presets = getPrinterPresetsSync()

console.log(templates)
console.log(presets)

第三步:根据模板生成打印参数

const printOptions = createTemplatePrintOptionsSync({
  templateId: 'product-tag',
  printerPresetId: 'xp-420b',
  fields: {
    title: 'SKU-2026-0001',
    specs: '黑色 / 128GB / CN',
    barcode: '6901234567890',
    qrcode: 'https://example.com/p/SKU-2026-0001',
    footer: 'A-03-18 / 已质检',
  },
})

第四步:先做参数校验

const validation = validatePrintOptionsSync(printOptions)
if (!validation.valid) {
  console.log(validation.errors)
}

第五步:生成预览和指令

const job = preparePrintJobSync(printOptions)
console.log(job.summary)
console.log(job.preview)
console.log(job.command)

第六步:执行 dry-run

printLabel({
  ...printOptions,
  dryRun: true,
  success(res) {
    console.log('模式', res.mode)
    console.log('摘要', res.summary)
    console.log('命令', res.command)
  },
})

第七步:执行 mock 打印

printLabel({
  ...printOptions,
  success(res) {
    console.log('模式', res.mode) // mock
    console.log('字节数', res.bytes)
  },
})

常用工作流

工作流 1:做商品标签

  1. 选择 product-tag 模板。
  2. 选择 xp-420bgeneric-203 预设。
  3. 填写标题、规格、条码、二维码、底部说明。
  4. preparePrintJobSync() 生成预览。
  5. printLabel({ dryRun: true }) 给客户看命令结果。

工作流 2:做物流面单

  1. 选择 shipping-basic 模板。
  2. 选择 zd421generic-300 预设。
  3. 填写标题、地址摘要、条码、二维码、底部说明。
  4. 先校验,再输出 ZPL 指令。

工作流 3:做门店价签

  1. 选择 price-tag 模板。
  2. 选择 portable-m2 预设。
  3. 填写商品名、价格、条码、底部说明。
  4. 输出 CPCL 指令进行演示或交付。

API 说明

getSupportInfoSync()

返回插件当前平台能力和版本说明。

getPrinterPresetsSync()

返回内置打印机预设列表。

getLabelTemplatesSync()

返回内置模板列表。

createTemplatePrintOptionsSync(options)

根据模板和预设生成标准 PrintLabelOptions

validatePrintOptionsSync(options)

校验标签尺寸、坐标和内容。

preparePrintJobSync(options)

生成打印作业结果,主要字段包括:

  • summary:一眼可读的任务摘要
  • preview:布局文本预览
  • command:原始打印命令
  • resolvedDeviceName:当前使用的设备或预设名称
  • usedPresetId:使用的打印机预设
  • usedTemplateId:使用的标签模板

startBluetoothScan(options)

当前版本仅支持 mock: true 演示扫描。

connectPrinter(options)

当前版本仅支持连接 mock 设备。

printLabel(options)

当前版本支持两种执行模式:

  • dry-run
  • mock

错误码

errCode 含义
8200001 权限问题或用户取消
8200002 当前平台不支持对应能力
8200003 蓝牙不可用
8200004 打印机连接失败
8200005 参数错误
8200006 当前版本不包含真实原生蓝牙传输

购买前你需要知道

  1. 这是“标签打印指令生成版”,不是“真机蓝牙透传版”。
  2. 如果你只需要标签模板、命令输出、页面演示,这个版本已经够用。
  3. 如果你还要真实蓝牙扫描、连接、写入,你需要继续开发源码版。
  4. Web 页面适合演示,不适合真机蓝牙打印。

建议购买方式

  • 标准版:适合直接接入模板、预览、命令生成和演示流程
  • 源码版:适合继续补完 Android / iOS 真机蓝牙通信
  • 定制版:适合针对具体打印机型号做模板和命令适配

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。