敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20241118.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
♦ 示例步骤(测试设备 C750便携式条码扫描枪):
1. 扫描设备使用手册,无线传输方式设为 “蓝牙传输”;
2. 扫描设备使用手册,蓝牙工作模式设为 “蓝牙SPP”;
3. 调用 setListener 接口设置监听器,回调处理扫描枪数据;
4. 调用 setMode 接口设置APP为 SPP蓝牙连接模式(mode参数4);
5. 调用 getBlueToothList 接口获取附近的扫描枪设备(uuid);
6. 调用 connectSppBlueTooth 连接扫描枪;
7. 在 setListener 监听器里面处理 DataReceive 事件即为扫描枪识别到的条码数据;
事件监听
• 如需接口调用事件,请设置此监听器;
jsBridge.netum.setListener(function(event, data) { show({ event: event, data : data }); }); //请拉到页面底部查看回调数据信息 $('html,body').animate({ scrollTop: $('#view').offset().top }, 500); /** 回调参数说明: event - 事件名称,字符串类型,可能的事件名称: BluetoothConnectSuccess 蓝牙连接成功 BluetoothConnectFail 蓝牙连接失败 BleBluetoothDisconnect BLE蓝牙断开连接 SppBluetoothDisconnect SPP蓝牙断开连接 UsbConnect USB连接 DataReceive 收到数据 DataSend 发送数据 data - 事件数据,JSON 对象 DataReceive 或 DataSend 事件的数据对象: { dataStr: "", //数据的字符串格式 dataHex: "FAD8" //数据的十六进制格式,可自行转换为 byte 数组 } **/
//移除监听器,不会再收到回调通知 //在需要时可重新调用 setListener jsBridge.netum.removeListener();
操作
//设置工作模式 jsBridge.netum.setMode({ //必须,数字类型,连接模式,可选值: //1 USBHID连接模式 //2 USBVCOMM连接模式 //3 HID蓝牙模式 //4 SPP蓝牙模式 //5 BLE蓝牙模式 mode: 4 }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//获取蓝牙设备列表(请开启蓝牙功能,APP需要定位权限) jsBridge.netum.getBlueToothList(function(succ, data) { //data 为 json array 类型 show(data); });
//连接蓝牙 jsBridge.netum.connectSppBlueTooth({ //必须,字符串类型,getBlueToothList 获取到的蓝牙设备 uuid uuid: "DC:0D:30:BF:56:7C" }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
//向设备发送指令 jsBridge.netum.sendCommand({ //必须,字符串类型,指令(请参考设备厂家官方文档) cmd: "" }, function(succ, data) { if (!succ) { alert(JSON.stringify(data)); } });
监听回调数据: