敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20241118.zip,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
蓝牙
//如果没有权限,可调用 jsBridge.appSettings() 跳转到应用设置,提示用户手动开启权限。 jsBridge.yk.requestPermission(function(succ, res) { if (succ) { alert("已允许"); } else { alert("没有权限"); } });
//拥有蓝牙权限之后判断是否已打开蓝牙功能 jsBridge.yk.requestEnable(function(succ, res) { alert(succ ? "已开启" : "未开启"); });
jsBridge.yk.scan(function(succ, res) { if (succ) { console.log(res); } else { alert("失败\n" + JSON.stringify(res)); } }); /* 系统会多次执行回调 回调参数 res 为找到的蓝牙设备数组 [ { uuid: "02:5C:00:00:58:1F", //设备的mac地址 name: "TP2-Y", //设备名称 rssi: -50 //信号强度 }, ... ] */
jsBridge.yk.stopScan(function(succ, res) { alert(succ); });
打印机
btMac:
jsBridge.yk.connect({ //打印机的蓝牙MAC地址 btMac: $("#connect_btMac").val() }, function(succ, res) { alert(succ + "\n" + JSON.stringify(res)); });
jsBridge.yk.disconnect(function(succ, res) { alert(succ + "\n" + JSON.stringify(res)); });
jsBridge.yk.getPrinterInfo(function(succ, res) { alert(JSON.stringify(res)); });
jsBridge.yk.setAutoOffTime({ //取值0~255,单位为10分钟,0表示不自动关机 autoOffTime: 1 }, function(succ, res) { alert(succ + "\n" + JSON.stringify(res)); });
size:
//仅支持四寸打印机 //四寸打印机支持打印二寸纸、三寸纸和四寸纸 jsBridge.yk.setPaperSize({ //纸张大小,可能的取值为 //2 二寸 //3 三寸 //4 四寸 size: parseInt($("#setPaperSize_size").val()) }, function(succ, res) { alert(succ + "\n" + JSON.stringify(res)); });
image:
speed:
density:
widthDot:
jsBridge.yk.printImage({ //jpg、png格式图片的 Base64 编码 image: $("#printImage_image").val(), //二值化处理图片 //printImageProcJava 或 printTextProcJava,其他取值则不进行二值化处理 imageProc: "printTextProcJava", //打印浓度,取值0~15,建议取值 9 中等浓度 density: parseInt($("#printImage_density").val()), //仅支持 Android,iOS 自动适配 //打印速度,取值10~50,四寸打印机建议使用 25 //T81型号取值 0、1、2 控制打印浓度 偏淡、适中、偏浓 speed: parseInt($("#printImage_speed").val()), //宽度点数,仅支持 Android,iOS 自动适配 //384: 二寸纸(200dpi) //576: 二寸纸(300dpi) //864: 三寸纸 //1280: 四寸纸 //1680: A4(P81热敏) //2478: A4(T81色带单纸张) widthDot: parseInt($("#printImage_widthDot").val()), //是否走纸,仅支持 Android isFeed: true, //是否切纸,仅支持 Android isCut: true }, function(succ, res) { alert(succ + "\n" + JSON.stringify(res)); });
dot:
jsBridge.yk.printBlankLine({ //走纸多少个点 dot: parseFloat($("#printBlankLine_dot").val()) }, function(succ, res) { alert(succ + "\n" + JSON.stringify(res)); });
jsBridge.yk.cut(function(succ, res) { alert(succ + "\n" + JSON.stringify(res)); });
监听回调数据: