更新记录
1.0.0(2025-12-08)
平台兼容性
uni-app(4.85)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| - |
- |
- |
- |
√ |
√ |
5.0 |
× |
10 |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| - |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
uni-app x(4.85)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| - |
- |
5.0 |
× |
10 |
- |
XL USB Device SDK
一个基于 UTS 的 USB 设备通信接口封装,支持安卓和鸿蒙NEXT,用于获取 USB 设备列表、建立连接、断开连接、发送数据以及接收设备返回数据。
适用于 USB 打印机 / USB 硬件设备通信场景。
📦 功能特性
- 🔍 获取当前可用的 USB 设备列表
- 🔌 连接 / 断开 USB 设备
- 📤 向 USB 设备写入数据(字符串 / 字节数组)
- 📥 监听并接收 USB 设备返回的数据
- ⚠️ 提供清晰的连接状态回调
📘 类型定义说明
USB 设备信息 XLUsbDevice
export type XLUsbDevice = {
deviceName: string;
deviceId: string;
productName: string;
productId: string; // pid
vendorId: string; // vid
manufacturerName: string;
};
连接状态 StateFlag
type StateFlag = 'connected' | 'disconnected' | 'failConnected' | 'PermissionDenied';
回调类型
export type ConnectBack = (msg: StateFlag) => void;
export type DataBack = (datas: number[]) => void;
🧩 API 接口说明
获取 USB 设备列表
getUsbDevices(): XLUsbDevice[];
连接 USB 设备
connectUsb(name: string, callback: ConnectBack): void;
断开 USB 连接
disconnectUsb(): void;
向 USB 设备写入数据
writeData(data: string | number[]): void;
接收 USB 设备数据
onReceiveData(callback: DataBack): void;
🧪 使用示例
const devices = getUsbDevices();
connectUsb(devices[0].deviceName, (state) => {
if (state === 'connected') {
writeData('Hello USB');
}
});
onReceiveData((data) => {
console.log(data);
});