更新记录
1.0.0(2025-09-09)
- 安卓蓝牙、usb、wifi打印;
- ESC、TSPL、CPCL指令支持;
平台兼容性
uni-app(4.76)
Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
- |
- |
- |
- |
- |
- |
5.0 |
12 |
- |
微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
快应用-华为 |
快应用-联盟 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
xl-GPrinter 开发文档
蓝牙
蓝牙通信使用说明
扫描设备
gPrinter.scanBlue((device) => {
console.log(`find device ${JSON.stringify(device)}`);
})
停止扫描
gPrinter.stopScanBlue()
连接设备
gPrinter.connectBlue(deviceId)
断开设备
gPrinter.disconnect()
写入数据
/*
需要先构造指令,写入才有效
如:
gPrinter.tscSelfTest()
gPrinter.writeData((info) => {
console.log(`writeData complete: ${info.complete}, msg: ${info.msg}`);
});
*/
// 回调参数可选:返回写入状态和信息
gPrinter.writeData((info) => {
console.log(`writeData complete: ${info.complete}, msg: ${info.msg}`);
});
蓝牙事件监听
蓝牙开关关闭监听
gPrinter.onBlueStateChange((on) => {
console.log(`蓝牙 ${on ? '开启' : '关闭'}`);
});
蓝牙连接状态监听
gPrinter.onConnectSateChange((payload) => {
uni.showToast({
title: `blue\n${payload.state}`,
icon: 'none'
})
switch (payload.state) {
case 'connectSuccess':
console.log("连接成功");
break;
case 'disconnect':
console.log("连接断开");
break;
case 'connectFail':
console.log("连接失败");
break;
}
});
蓝牙数据回传监听
gPrinter.onDataReceive((data) => {
let result = String.fromCharCode(...data);
console.log("收到打印机数据: ", result, data);
});
wifi
wifi打印(以太网) 接口说明
获取连接状态 - isConnect
const isConnect = gPrinter.isConnect();
uni.showToast({
title: `连接状态: ${isConnect ? '已连接' : '未连接'}`
})
连接(以太网)- connectNet
gPrinter.connectNet({
ip: '192.168.100.110',
port: '8000'
})
断开(以太网)- disconnect
gPrinter.disconnect()
写入数据 - writeData((info) => { // 回调 } )
/*
需要先构造指令,写入才有效
如:
gPrinter.tscSelfTest()
gPrinter.writeData((info) => {
console.log(`writeData complete: ${info.complete}, msg: ${info.msg}`);
});
*/
// 回调参数可选:返回写入状态和信息
gPrinter.writeData((info) => {
console.log(`writeData complete: ${info.complete}, msg: ${info.msg}`);
});
wifi(以太网) 事件监听
wifi(以太网)连接状态监听
gPrinter.onConnectSateChange((payload) => {
uni.showToast({
title: `blue\n${payload.state}`,
icon: 'none'
})
switch (payload.state) {
case 'connectSuccess':
console.log("连接成功");
break;
case 'disconnect':
console.log("连接断开");
break;
case 'connectFail':
console.log("连接失败");
break;
}
});
打印机数据回传监听
gPrinter.onDataReceive((data) => {
let result = String.fromCharCode(...data);
console.log("收到打印机数据: ", result, data);
});
USB(仅安卓)
USB 通信接口说明
获取连接状态 - isConnect
const isConnect = gPrinter.isConnect();
uni.showToast({
title: `连接状态: ${isConnect ? '已连接' : '未连接'}`
})
获取设备 - getUsbDevices
const devices = gPrinter.getUsbDevices();
连接USB设备- connectUsb
gPrinter.connectUsb(name) // 参数为设备名称, device.deviceName
断开USB设备- disconnect
KPrinter.disconnect();
写入数据 - writeData((info) => { // 回调 } )
/*
需要先构造指令,写入才有效
如:
gPrinter.tscSelfTest()
gPrinter.writeData((info) => {
console.log(`writeData complete: ${info.complete}, msg: ${info.msg}`);
});
*/
// 回调参数可选:返回写入状态和信息
gPrinter.writeData((info) => {
console.log(`writeData complete: ${info.complete}, msg: ${info.msg}`);
});
USB 事件监听
USB连接状态监听
gPrinter.onConnectSateChange((payload) => {
uni.showToast({
title: `blue\n${payload.state}`,
icon: 'none'
})
switch (payload.state) {
case 'connectSuccess':
console.log("连接成功");
break;
case 'disconnect':
console.log("连接断开");
break;
case 'connectFail':
console.log("连接失败");
break;
}
});
USB 设备插入事件回调
gPrinter.onUsbAttached((device) => {
console.log(`接入usb设备${JSON.stringify(device)}`);
uni.showToast({
title: `接入usb设备${device.deviceName}`
})
});
打印机数据回传监听
gPrinter.onDataReceive((data) => {
let result = String.fromCharCode(...data);
console.log("收到打印机数据: ", result, data);
});
简单打印示例 - 详细使用请下载示例运行
gPrinter.tscSize({
width: 76,
height: 130
});
gPrinter.tscCls();
gPrinter.tscText({
x: 10,
y: 60,
content: '小时不识月',
font: 'TSS24.BF2',
})
gPrinter.tscText({
x: 150,
y: 60,
content: '呼作白玉盘',
font: 'TSS24.BF2',
xScal: 2,
yScal: 2
})
gPrinter.tscPrint(1);
gPrinter.writeData((info) => {
console.log(`writeData complete: ${info.complete}, msg: ${info.msg}`);
});