敬告:此 DEMO 演示为开放测试页面,仅用于开发者快速测试体验应用功能,请严格遵守开发者协议,了解更多。
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版 jsBridge-v20251019.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));
});
监听回调数据: