更新记录

1.1.3(2026-06-16)

1.1.3(2026-06-16)

  • printer-config.vue 样式全面重构:内联 CSS、显式 display: flexborder-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_SCANACCESS_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 协议,插件市场授权版与源码版定价请以插件市场页面为准。

隐私、权限声明

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

- android.permission.INTERNET - android.permission.ACCESS_NETWORK_STATE - android.permission.ACCESS_WIFI_STATE - android.permission.CHANGE_WIFI_STATE - android.permission.BLUETOOTH - android.permission.BLUETOOTH_ADMIN - android.permission.ACCESS_FINE_LOCATION - android.permission.ACCESS_COARSE_LOCATION - android.permission.BLUETOOTH_CONNECT - android.permission.BLUETOOTH_SCAN

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

不采集任何数据

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

暂无用户评论。