使用测试打印机: deli 热敏票据打印机 [DL-581PW] 其接收gbk,不接收utf-8
系统: android
使用插件1: 蓝牙基础插件 bluetoothle
地址: https://ionicframework.com/docs/v3/native/bluetoothle/
使用插件2: 蓝牙插件 Bluetooth Serial
地址: https://ionicframework.com/docs/v3/native/bluetooth-serial/
插件说明: ionic提供的蓝牙插件有三种,bluetoothle / Bluetooth Serial / ble , 这边测试的打印机不是ble,是经典蓝牙,所以只能使用以上两个插件 (更多详情请百度蓝牙的种类bt 与 ble)
问题: 使用bluetoothSerial.write写入数据的时候,该插件目前只支持数字与字母, 要打印小票的话必须支持中文,所以后台人员对插件进行了修改,修改为可支持中文
demo app的地址,可以先预览测试一下
链接: https://pan.baidu.com/s/1AxWresGwdlWBBYoKrB4LWA 提取码: v2ug
如果效果可以,请继续往下浏览====================>
所有的资源下载地址:
1] 完整项目源码
2] demo apk
3] 优化后可支持中文的 bluetoothSerial插件(后续需要操作到)
下面是对资源如何使用的说明
进入项目,添加依赖: npm install
因为插件修改过,可能安装依赖的时候会报找不到(配置信息的问题),需要重新载入修改后的插件
先删除原有旧插件: ionic cordova plugin remove cordova-plugin-bluetooth-serial
把资源中的bluetoothSerial插件放置在你本地,然后根据你本地实际位置,重新载入该插件:
ionic cordova plugin add '/home/wang/桌面/对 比蓝牙/blueApp/BluetoothSerial-master'
'/home/wang/桌面/对 比蓝牙/blueApp/' 是我本地的地址,你要改成你本地这个插件的地址
最后重新打包: ionic cordova run android
到这里就完成初步,在完成打印这一步,demo的逻辑是前端直接传一个对象json,到bluetoothSerial这个插件中去,所有的打印配置信息以及打印模板都是配置在这个插件中的,按照自己的业务不同,你们是需要修改bluetoothSerial的打印配置的
这里注意:每一次修改完这个插件后,直接跑是没有作用的,必须先把这个插件拷贝出来,在外面修改好了,然后删掉原有的插件,然后再重新载入,这样插件才会重新编译(这个步骤可以看上一步,一样的操作)
我们主要修改的目录在BluetoothSerial-master/src/android/com/megster/cordova下,后续的操作需要配合后台人员,因为两份文件都是java文件,在BluetoothSerialService.java中你可以搜索到printTemplate一个方法,就可以看到里面配置的打印模板,修改主要修改这里,这里的字段名也可以对应修改成你传入的json对象对应的字段,到这里就完成了(这一步其实主要还是靠后台去修改就行)
所有的资源下载地址:
1] 完整项目源码
2] demo apk
3] 优化后可支持中文的 bluetoothSerial插件(后续需要操作到)