更新记录

1.0.0(2026-03-17) 下载此版本

一、新版本首发


平台兼容性

uni-app(4.72)

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

蓝牙打印 UTS 插件 (hl-bluetooth-print)

插件简介

本插件封装了 Android 经典蓝牙(SPP)通信,支持蓝牙打印机的搜索、连接、状态获取和 CPCL 指令打印。适配芝柯爱印品牌打印机。

平台支持

Android iOS 鸿蒙
√ (minSdk 21) × ×

使用说明

导入插件

import {
 enableDebugLog,
 onLogCallback,
 onStartScan,
 stopScan,
 connect,
 disconnect,
 getPrinterStatus,
 printCommand,
 isConnected,
 release
} from '@/uni_modules/hl-bluetooth-print'

基本使用示例

// 1. 开启调试日志(可选)
enableDebugLog()

// 2. 设置日志回调(可选)
onLogCallback((level, tag, message) => {
 console.log(`[${level}] ${tag}: ${message}`)
})

// 3. 搜索蓝牙设备
onStartScan({
 timeout: 12000,
 onFound: (device) => {
  console.log('发现设备:', device.name, device.address)
 },
 onFinish: (devices) => {
  console.log('搜索完成,共发现', devices.length, '个设备')
 }
})

// 4. 连接打印机
connect({
 address: 'XX:XX:XX:XX:XX:XX',
 brand: 'zhike', // 'zhike'(芝柯) | 'aiyin'(爱印) | 'auto'(自动)
 onSuccess: (result) => {
  console.log('连接成功:', result.message)
 },
 onFail: (result) => {
  console.log('连接失败:', result.message)
 }
})

// 5. 查询打印机状态
getPrinterStatus((status) => {
 console.log('状态:', status.message, 'code:', status.code)
 // code: 0=正常, 1=缺纸, 2=开盖, -1=异常
})

// 6. 发送指令打印 (支持普通文本 CPCL/ZPL/TSPL/ESC 或 Base64)
printCommand({
 command: '! 0 200 200 830 1\nPW 580\n...省略...\nPRINT\n',
 // commandBase64: '...base64数据...', // 当遇到文本无法表达的16进制字节时可用 Base64
 // encoding: 'GBK', // 可选,默认为 GBK
 onSuccess: (result) => {
  console.log('打印成功:', result.message)
 },
 onFail: (result) => {
  console.log('打印失败:', result.message)
 }
})

// 7. 断开连接
disconnect()

// 8. 释放资源(页面销毁时调用)
release()

API 参数说明

ScanOptions 搜索选项

参数 类型 必填 说明
timeout number 扫描超时(ms),默认 12000
onFound Function 发现新设备回调(持续回调)
onFinish Function 搜索完成回调

ConnectOptions 连接选项

参数 类型 必填 说明
address string 打印机蓝牙地址
brand string 打印机品牌: "zhike"/"aiyin"/"auto",默认 "auto"
onSuccess Function 连接成功回调
onFail Function 连接失败回调

PrintOptions 打印选项

参数 类型 必填 说明
command string 各种打印指令文本(如 CPCL、ESC文本)
commandBase64 string Base64编码的指令数据(用于图片/二进制指令下发)
encoding string 编码格式,默认 GBK (仅当传 command 时有效)
onSuccess Function 打印成功回调
onFail Function 打印失败回调

BluetoothDevice 蓝牙设备信息

字段 类型 说明
name string 设备名称
address string 蓝牙地址
paired boolean 是否已配对

PrinterStatus 打印机状态

字段 类型 说明
code number 状态码: 0=正常, 1=缺纸, 2=开盖, -1=异常/未连接
message string 状态描述

ConnectResult / PrintResult 结果

字段 类型 说明
success boolean 是否成功
message string 结果消息

支持的打印机品牌

品牌 brand 值 状态查询
芝柯 zhike ✅ 支持
爱印 aiyin ✅ 支持
自动检测 auto ✅ 先尝试芝柯,失败则尝试爱印

CPCL 指令示例

! 0 200 200 830 1
PW 580
GAP-SENSE
TEXT 24 00 460 10 第1次打印
CENTER 576
SETMAG 4 4
TEXT 55 00 0 65 无单货物
B 128 2 30 110 0 140 123123
SETMAG 2 2
TEXT 55 00 0 260 123123
LEFT
TEXT 55 00 120 320 日期: 2026-03-05
LINE 200 360 500 360 2
TEXT 55 0 120 390 班次: 早班
PR 0
FORM
PRINT

App 负责生成完整的 CPCL 指令,插件仅负责发送到打印机。

注意事项

  1. 权限要求:Android 需要蓝牙权限和位置权限,插件会自动申请。
  2. 编码格式:CPCL 指令使用 GBK 编码发送,支持中文打印。
  3. 分块发送:大数据量指令会自动分块发送(每块 1024 字节),避免打印机缓冲区溢出。
  4. 资源释放:页面销毁时请调用 release() 释放蓝牙资源。
  5. 品牌选择:若不确定品牌,可使用 auto 模式,插件会自动尝试匹配。

隐私、权限声明

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

需要蓝牙权限(BLUETOOTH/BLUETOOTH_SCAN/BLUETOOTH_CONNECT)和位置权限(ACCESS_FINE_LOCATION)

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

插件使用蓝牙功能进行打印机通信

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

许可协议

MIT协议

暂无用户评论。