更新记录
1.1.3(2026-06-16)
1.1.3(2026-06-16)
printer-config.vue 样式全面重构:内联 CSS、显式 display: flex、border-style: solid,兼容 Vue 2 webview 渲染
- 修复按钮修饰类 CSS 声明顺序导致颜色覆盖的问题
- 优化
.btn-action 按钮间距与内边距
1.1.2(2026-06-16)
1.1.2(2026-06-16)
- 修复兼容模式组件
index.vue 缺少 NVLoad() 导致编译失败
- 新增
printer-config.vue,使用 Options API 兼容 uni-app Vue 2 和 Vue 3
- storage/constants 内置实现,无需依赖 .uts 模块
1.1.1(2026-06-16)
更新日志
[1.1.1] - 2026-06-16
- 修复兼容模式组件
index.vue 缺少 NVLoad() 导致编译失败
- 精简 changelog 去除重复内容
[1.1.0] - 2026-06-16
- 外部 JSON 配置 / 兼容模式组件入口 /
PrinterConfig 类型 / 双按钮行
- Demo 工程 / README / 预览图 / 权限说明 / 加密配置
- Native 异常覆盖 Throwable / UI 修复 / PdfiumCore 依赖
- sdkToken/BLE 过滤移至 JSON / package.json 完善
[1.0.6] - 2026-06-15
- SDK 惰性初始化 / 连接持久化 / 错误恢复
- 修复连接状态未恢复
[1.0.5] - 2026-06-12
- loading 遮罩 / 初始化延迟 1s / 搜索延迟 3s
[1.0.4] - 2026-06-12
- BLE 自动连接 / 5G WiFi 检测 / 热点设置入口 / 配网重试
[1.0.3] - 2026-06-12
- getConnectedPrinter / 彩色测试页 / 类型补全 / 热点持久化
- BLE 异步扫描 / AD Structure 解析 / UI 拆分
[1.0.2] - 2026-06-11
- 配置页 / 状态详情 / 设备选择器
- 修复 BLE 搜索异常
[1.0.1] - 2026-06-10
- 插件初始化:BLE 扫描 + WiFi 配网 + 配置页面
- Android 12+ 蓝牙权限兼容
[1.0.0] - 2026-06-09
- 封装小篆科技 X系列 PrinterSDK V1.3(X1100W/X1200W/X1108/X1208)
- WiFi 打印搜索 / PDF+Bitmap 双通道打印 / BLE 配网 / 状态查询
查看更多
平台兼容性
uni-app(5.08)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| √ |
√ |
× |
× |
- |
- |
5.0 |
× |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| × |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
uni-app x(5.08)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| × |
× |
5.0 |
× |
- |
- |
其他
printer-sdk
小篆科技 X系列 打印机 SDK UTS 插件,适配小篆科技 X系列便携式打印机(X1100W / X1200W / X1108 / X1208),封装 PrinterSDK-release-V1.3,支持 WiFi 打印机搜索、PDF/Bitmap 打印、BLE 一键蓝牙配网、打印机状态实时查询。
适配机型
| 型号 |
类型 |
| X1100W |
WiFi 便携打印机 |
| X1200W |
WiFi 便携打印机 |
| X1108 |
WiFi 便携打印机 |
| X1208 |
WiFi 便携打印机 |
功能
- WiFi 打印机搜索 — 搜索局域网内小篆科技 X系列打印机设备
- PDF / Bitmap 打印 — 支持 PDF 文件打印和 Base64 位图打印,可配置纸张尺寸、打印质量、颜色模式、份数、无边距
- BLE 蓝牙配网 — 通过 BLE 扫描打印机,一键配置 WiFi 网络连接
- 打印机状态查询 — 查询打印机型号、序列号、固件版本、墨水余量、电池状态等
- 热点配置 — 获取/设置 Android 热点,用于近距离配网
- 测试页 — 生成彩色墨水条测试位图,验证打印质量
- 持久化存储 — 记住上次连接的打印机与热点配置
安装
将 uni_modules/printer-sdk 目录放入 uni-app x 项目的 uni_modules 目录下即可。
配置
插件根目录下的 printer-config.json 为外部可配置项,用户可根据需要修改:
{
"sdkToken": "your_sdk_token_here",
"bleFilterKeyword": "X1108|X1208"
}
| 字段 |
说明 |
sdkToken |
小篆科技 SDK 授权 Token(JWT 格式) |
bleFilterKeyword |
BLE 扫描过滤关键字,多个用 \| 分隔 |
API 参考
初始化
import { initSDK } from '@/uni_modules/printer-sdk'
const result = initSDK(token)
// { success: boolean, error: string | null }
搜索打印机
import { searchPrinters } from '@/uni_modules/printer-sdk'
const result = searchPrinters()
// { success: boolean, devices: PrinterDevice[], error: string | null }
PDF 打印
import { sendPdf } from '@/uni_modules/printer-sdk'
const options: PrintQualityOptions = {
printQuality: 0, // 0=草稿 1=普通 2=最佳
printColor: 0, // 0=彩色 1=灰度
paperSize: 0, // 0=A4 1=4x6 2=Letter
printCopy: 1, // 份数
isBorderlessPrint: false
}
const result = sendPdf(printerIp, '/path/to/file.pdf', options)
Bitmap 打印
import { sendBitmap } from '@/uni_modules/printer-sdk'
const result = sendBitmap(printerIp, base64ImageData, options)
查询打印机状态
import { queryPrinterInfo } from '@/uni_modules/printer-sdk'
const result = queryPrinterInfo(printerIp)
// { success: boolean, data: PrinterStatusInfo | null, error: string | null }
BLE 蓝牙配网
import { startBleScan, getBleScanState, configPrinterNetwork } from '@/uni_modules/printer-sdk'
// 开始 BLE 扫描
startBleScan('X1108|X1208')
// 获取扫描状态与设备列表
const scanState = getBleScanState()
// { success: boolean, scanning: boolean, done: boolean, devices: BleDevice[], error: string | null }
// 配网
configPrinterNetwork(deviceAddress, wifiSSID, wifiPassword)
热点管理
import { getHotspotConfig, setHotspotEnabled, checkHotspotState } from '@/uni_modules/printer-sdk'
const config = getHotspotConfig() // 获取当前热点配置
setHotspotEnabled(ssid, password) // 启用热点
const state = checkHotspotState() // 检查热点状态
测试页
import { createTestBitmap, sendBitmap } from '@/uni_modules/printer-sdk'
const testPage = createTestBitmap('{}') // 生成彩色测试页位图
sendBitmap(printerIp, testPage.base64Data, options) // 发送打印
权限要求
本插件在 Android 平台需要以下权限,已通过 AndroidManifest.xml 声明。部分权限需动态申请,部分为声明即生效,详见下表。
网络相关
| 权限 |
级别 |
用途 |
申请方式 |
android.permission.INTERNET |
普通 |
与打印机进行网络通信,发送打印数据和接收状态信息 |
声明即生效 |
android.permission.ACCESS_NETWORK_STATE |
普通 |
检测当前网络连接状态,判断是否可连接打印机 |
声明即生效 |
android.permission.ACCESS_WIFI_STATE |
普通 |
获取当前连接的 WiFi SSID,用于打印机 WiFi 配网时自动填入 |
声明即生效 |
android.permission.CHANGE_WIFI_STATE |
普通 |
打印机配网过程中管理 WiFi 连接,使 App 能够切换网络 |
声明即生效 |
蓝牙相关
| 权限 |
级别 |
用途 |
申请方式 |
android.permission.BLUETOOTH |
普通 |
基础蓝牙功能,用于建立与打印机的 BLE 通信通道 |
声明即生效 |
android.permission.BLUETOOTH_ADMIN |
普通 |
蓝牙管理功能,用于执行 BLE 设备发现和扫描操作 |
声明即生效 |
android.permission.BLUETOOTH_CONNECT |
危险 |
Android 12+ 连接蓝牙设备,配网时与打印机建立 BLE 连接 |
动态申请 |
android.permission.BLUETOOTH_SCAN |
危险 |
Android 12+ 扫描附近的蓝牙打印机设备,获取设备列表 |
动态申请 |
位置相关
| 权限 |
级别 |
用途 |
申请方式 |
android.permission.ACCESS_FINE_LOCATION |
危险 |
BLE 蓝牙扫描依赖位置服务(Android 强制要求),用于发现附近打印机 |
动态申请 |
android.permission.ACCESS_COARSE_LOCATION |
危险 |
粗略位置权限,作为精确定位的回退方案,同样服务于 BLE 扫描 |
动态申请 |
注意:Android 12 (API 31) 及以上版本,BLUETOOTH_SCAN 与 ACCESS_FINE_LOCATION 必须同时授予,否则 BLE 扫描将无法发现设备。Android 12+ 不再需要 ACCESS_COARSE_LOCATION,但仍声明以保证向下兼容。
数据类型
type PrinterDevice = {
address: string
name: string
product: string
productCode: string
}
type PrinterStatusInfo = {
productModel: string
serialNumber: string
printerName: string
fwVersion: string
printedTimes: number
deviceStatus: number // 0=初始化 1=就绪 2=打印中 3=出错
errorCode: number
cyan: InkTankInfo
magenta: InkTankInfo
yellow: InkTankInfo
black: InkTankInfo
batteryStatus: number // 0=放电 1=充电 2=电量低 3=无电池 -1=无电池
remainBattery: number
}
type BleDevice = {
name: string
address: string
rssi: number
}
type PrintQualityOptions = {
printQuality: number // 0=草稿 1=普通 2=最佳
printColor: number // 0=彩色 1=灰度
paperSize: number // 0=A4 1=4x6 2=Letter
printCopy: number
isBorderlessPrint: boolean
}
平台支持
| 平台 |
状态 |
备注 |
| Android App (uni-app-x) |
支持 |
最低 Android 7.0 (API 24) |
| iOS App (uni-app-x) |
待适配 |
— |
| Web (H5) |
不支持 |
依赖原生 BLE / WiFi API |
开发环境要求
| 工具 |
最低版本 |
| HBuilderX |
3.99+ |
| uni-app-x |
3.1.0+ |
| Android SDK |
API 24+ |
| Kotlin |
1.8+ |
许可
本插件采用 MIT 协议,插件市场授权版与源码版定价请以插件市场页面为准。