更新记录

1.0.1(2022-03-11)

发布1.0.1版本 测试机型:L36/L361 Printer/L31 BT Print/L36 BT Print 思普瑞特蓝牙便携式打印机均可使用


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


思普瑞特便携式打印机(L36/L361 Printer/L31 BT Printer)

1.打印机实例化
参数:mac 蓝牙地址
SprtPlugin.getPrinterInstance({mac:""},res=>{});
2.连接打印机
参数: 无
返回: true 连接成功;false 连接失败
SprtPlugin.openConnection(res => {});
3.关闭与打印机的连接
参数: 无
返回: {msg:""}
SprtPlugin.closeConnection(res => {});
4.向打印机发送十六进制数据
参数:
    {
        bytes: bytes[] // srcDatabyte数组
    }
返回:
> 0   成功发送到打印机的字节数
-1      未初始化打印
-2      srcData为空或者srcData里没有数据
-3      向打印机发送数据失败
SprtPlugin.sendBytesData(params, res => {});
5.读取打印机返回的数据
参数: 用于接收读到字节的数组
    {
    bytes: bytes[] // srcDatabyte数组
  }
返回: 
> 0   成功读到的字节数
-1      未初始化打印
-2      srcData为空或者srcData里没有数据
SprtPlugin.read(params, res => {});
6.设置要打印区域的页宽和页高
参数: 
    { 
    paperWidth:"80", // 设置纸张类型 58 | 80 | 100
    pageWidth:100,   // 页宽
    pageHeight:100   // 页高
    }
注意: 设置纸张类型 58, 80, 100 ==> 58mm, 80mm, 100mm 默认80mm
SprtPlugin.pageSetup(params, res => {})
7.打印直线
参数: 
    {
    lineWidth:1, // 打印线条的宽度
    startX:12,   // 开始点X坐标
    startY:12,   // 开始点Y坐标
    endX:30,         // 结束点X坐标
    startY:30,   // 结束点Y坐标
    isSolidLine:true // true 实线;false虚线
  }
SprtPlugin.drawLine(params, res => {});
8.打印框体
参数: 
    {
    lineWidth:1,          // 打印线条的宽度
    top_left_x:10,        // 框体左上角点X坐标
    top_left_y:20,        // 框体左上角点Y坐标
    bottom_right_x:30,  // 框体右下角点X坐标
    bottom_right_y:30   // 框体右下角点Y坐标
  }
SprtPlugin.drawBorder(params, res => {});
9.打印文本
参数: 
    {
    text_x:10, // 打印起始点X坐标
    text_y:20, // 打印起始点Y坐标
    text:"",  // 要打印的文本内容
    fontSize:16, // 支持16,24,32,48,64,72,96
    bold:1,     //1 加粗  0不加粗
    reverse:1, //1 反白   0不反白
    underline:1, // 1有下划线  0 无下划线
    rotate:0 //旋转角度  支持90度, 180度, 270度, 默认不旋转
  }
SprtPlugin.drawText(params, res => {});
10.区域中打印文字
参数: 
    { 
     area_start_x:10,   // 矩形区域的左上角X点坐标
     area_start_y:10, // 矩形区域的左上角Y点坐标
     area_end_x:20,     // 矩形区域的右下角X点坐标
     area_end_y:20,     // 矩形区域的右下角Y点坐标
     xAlign:"start",    // 水平位置,可以是center居中,end居右,默认start居左
     yAlign:"start",    // 竖直位置,可以是center居中,end居下,默认start居上
     fontSize:16,           // 支持16,24,32,48,64,72,96
     bold:1,                // 是否加粗   1 加粗  0不加粗
     reverse:1,           // 是否反白  1 反白   0不反白
     underline:1,         // 是否有下划线   1有下划线  0 无下划线
     deleteline:1,    // 是否有删除线 1有删除线 0无删除线
     rotate:0         //旋转角度  支持90度, 180度, 270度, 默认不旋转
  }
SprtPlugin.areaText(params, res => {});
11.打印一维条码
参数: 
    { 
     start_x:10,        // 开始位置x坐标
   start_y:10,      // 开始位置y坐标
   text:"",         // 要打印的条码数据内容
   type:"CODE128",// 一维条码类型,支持类型如下:默认CODE128,JAN3_EAN13,JAN8_EAN8,CODE93,JAN3_EAN13,UPC_A,ITF,UPC_E,QR
   height:80,     // 条码高度
   rotate:0,      // 旋转角度  支持90度, 180度, 270度, 默认不旋转
   linewidth:1    // 条码窄条宽
    }
SprtPlugin.drawBarCode(params, res => {});
12.区域内打印一维条码
参数: 
    { 
     area_start_x:10,       // 矩形区域位置左上角x坐标
   area_start_y:10,     // 矩形区域位置左上角y坐标
   area_end_x:100,      // 矩形区域位置右下角x坐标
   area_end_y:80,         // 矩形区域位置右下角y坐标
   xAlign:"start",  // 水平位置,可以是center居中,end居右,默认start居左
   yAlign:"start",  // 竖直位置,可以是center居中,end居下,默认start居上
   start_x:20,      // 区域内条码起始位置X坐标
   start_y:20,  // 区域内条码起始位置Y坐标
   text:"",         // 要打印的条码数据内容
   type:"CODE128",// 一维条码类型,支持类型如下:默认CODE128,JAN3_EAN13,JAN8_EAN8,CODE93,JAN3_EAN13,UPC_A,ITF,UPC_E,QR
   height:80,     // 条码高度
   rotate:0,      // 旋转角度  支持90度, 180度, 270度, 默认不旋转
   linewidth:1    // 条码窄条宽
    }
SprtPlugin.areaDrawBarCode(params, res => {})
13.打印二维码
参数:
    {
    start_x:20, // 二维码起始X位置
    start_y:20, // 二维码起始Y坐标
    text:"",        // 二维条码的内容数据
    rotate:0,     // 旋转角度  支持90度, 180度, 270度, 默认不旋转
    ver:6           // QrCode放大倍数(1-6)默认是6
    lel:3           // 纠错等级,0纠错等级L;1纠错等级M,2纠错等级Q,3纠错等级H
  }
SprtPlugin.drawQrCode(params, res => {})
14.打印位图
参数:
    {
    start_x:20,             // 打印图片位置的X坐标
    start_y:20,             // 打印图片位置的Y坐标
    bmp_size_x:20,      // 位图宽度
    bmp_size_y:20,      // 位图高度
    image:"base64图片" // 图片
  }
SprtPlugin.drawGraphic(params, res => {});
15.区域内打印位图
参数:
    {
    area_start_x:20,        //矩形区域的左上角X点坐标
    area_start_y:20,        //矩形区域的左上角Y点坐标
    area_end_x:60,        //矩形区域的右下角X点坐标
    area_end_y:60,        //矩形区域的右下角Y点坐标
    xAlign:"start",         //水平位置,可以是center居中,end居右,默认start居左
    yAlign:"start",         //竖直位置,可以是center居中,end居下,默认start居上
    bmp_size_x:40,          //位图宽度
    bmp_size_y:40,          //位图高度
    image:"base64图片"   //图片
  }
返回: 大于0:正常,否则异常
SprtPlugin.areaDrawGraphic(params, res => {});
16.开启打印
参数:
    {
     rotate:0, // 旋转角度  支持90度, 180度, 270度, 默认不旋转
     skip:1    // 0:打印结束后不定位,直接停止;1:打印结束后定位到标签分割线,如果无缝隙,最大走纸30cm后停止
  }
SprtPlugin.print(params, res => {});
17.切纸
参数:
    {
    cutterType:65,
    n:1
  }
// 48直接全切
// 49直接半切
// 65进纸到(切纸位置+[n ×(纵向移动单位)])并且全切
// 66进纸到(切纸位置+[n×(纵向移动单位)])并且半切
方法描述: 切纸,可全切,半切
注意: 纵向移动单位为1点, n: 纵向移动点数,当cutterType为65有效
SprtPlugin.cutPaper(params, res => {});
18.控制蜂鸣器响
参数:
    {
        time:100
    }
方法描述:控制蜂鸣器响 time 秒
参数说明:time 蜂鸣器响秒数
SprtPlugin.ringBuzzer(params, res => {});
19.获取打印机当前状态
参数:无
返回:
 0      打印状态正常 
-1      打印机通信异常
-2      缺纸
-3      纸将尽
-4      打印机开盖
其他   获取错误
SprtPlugin.getCurrentStatus(res => {});
20.打印机打印是否完成
参数:
    {
    timeout:1000
    }
方法描述:判断打印机打印是否完成。(注意:该功能在 T7 等部分机型上不适用。要使用此功能请先联系售前技术确认打印机是否支持该功能。)
参数说明:timeout 此超时时间应长于预估的打印一单需要的时间(ms)
返回:
0 当前打印已经完成
-1 未知异常
-2 当前打印机正在打印中
-3 打印未完成,缺纸
-4 打印未完成,纸舱盖开盖
-5 打印未完成,与打印机通信失败
-6 数据发送失败,通信异常
-7 接收数据格式不正确
其他  获取错误
SprtPlugin.getPrintingStatus(params, res => {});
21.判断打印机是否缺纸
参数: 无
返回: true 缺纸;false不缺纸
SprtPlugin.isPaperOut(res => {});
22.判断打印机是否纸将尽
参数: 无
方法描述:判断打印机是否纸将尽,只有部分机型有纸将尽传感器,获取纸将尽状态前需要开启纸将尽使能功能
返回:true 纸将尽, false纸足够
SprtPlugin.isPaperWillOut(res => {});

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<uses-permission android:name=\"android.permission.BLUETOOTH\"/> <uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问