收藏
评论

打印机打印标签

项目地址:https://github.com/dyl169/WAPP_printer.git有需要的可以参考一下

1.在需要调用蓝牙的页面中
初始化是传入设备的主服务UUID base.Ble.initBle(['FFF0', '0A71']);

2.在onLoad中执行监听函数(记得在onUnload中 remove掉事件监听)
//初始化所有监听
    initListen: function() {
        //监听蓝牙可用状态
        base.Event.listen(base.EventModel.EVENT_BLESTATE, function(data) {
            if (data.code) {
                console.log('蓝牙已打开')
                base.blestate = true;
            } else {
                console.log('蓝牙已关闭')
                base.blestate = false;
            }
        })

        //监听扫描设备
        base.Event.listen(base.EventModel.EVENT_SCAN, function(data) {
            if (data.stop) {
                console.log('停止扫描');
                that.setData({
                    bleSearchIng: false,
                })
            } else {
                var device = data.datainfo[0];
                console.log('扫描到的设备 : ' + JSON.stringify(device));
                that.data.deviceArray.push(device);
                that.setData({
                    deviceArray: that.data.deviceArray,
                    showDeviceDialog: true,
                })
            }
        })

        //监听蓝牙连接状态
        base.Event.listen(base.EventModel.EVENT_CONNSTATE, function(data) {
            console.log('连接状态变化');
            if (data.code == true) {
                console.log('index 连接成功')

                for (var i = 0; i < that.data.deviceArray.length; i++) {
                    if (that.data.deviceArray[i].deviceId === data.datainfo) {
                        that.data.connDevice = that.data.deviceArray[i];
                    }
                }

                that.setData({
                    connSucced: true,
                    connDevice: that.data.connDevice,
                })
            } else {
                that.setData({
                    connSucced: false,
                })
            }
        })

        //监听蓝牙值变化
        base.Event.listen(base.EventModel.EVENT_RECEIVE, function(result) {
            if (result.code == true && pageState == 'onLoad' || pageState == 'onShow') {
                var data = result.datainfo;
                console.log('main 页面接受到消息:' + data);

            }
        })
    },

3.如果打印机无法打印 请查看打印机说明书 知否支持TSPL或ESC指令指令 (本demo使用的佳博答应机)
  自行将PrintUtil.js中的打印指令修改为对应的打印指令即可



WAPP_printer

基于小程序开发的蓝牙连接打印机打印标签

最后一次编辑于  2019-08-19
收藏

10 个评论

  • Bຼlan๊k
    Bຼlan๊k
    06-09

    我这边为什么打印文字的时候 只是转了一下方向,然后打印出来的文字只有一半是怎么回事

    06-09
    赞同
    回复
  • 田大千
    田大千
    2019-12-06

    可以打印图片吗

    2019-12-06
    赞同
    回复 1
    • 啊 五彩斑斓的黑
      啊 五彩斑斓的黑
      2019-12-09
      对应的打印指令如果有打印图片的话就可以
      2019-12-09
      回复
  • apen
    apen
    2019-08-07

    我换了个佳博的打印机,果然使用同样的代码就可以支持打印了。

    2019-08-07
    赞同
    回复 3
    • 啊 五彩斑斓的黑
      啊 五彩斑斓的黑
      2019-08-07

      其实换成其他打印机也可以,首先initBle的时候设置serviceID (这里是为了搜索到主服务ID为设置的serviceID的蓝牙设备),然后修改打印机对应的不同的打印指令也可以,

      2019-08-07
      回复
    • apen
      apen
      2019-08-07

      就是不知道怎么修改。哥哥指引一下路线呗,在何处修改,有案例吗?

      2019-08-07
      回复
    • 啊 五彩斑斓的黑
      啊 五彩斑斓的黑
      2019-08-19

      将其修改为你需要的指令就可以了

      2019-08-19
      回复
  • apen
    apen
    2019-07-26

    大佬,我调你的程序链接上蓝牙打印机了,执行发送是成功的,但是打印机没反应。

    问了打印机厂商,他们说是微信做了传输速率的限制,每次只能传输20个字节?有这个问题吗?

    另外看到各位大佬说更改打印指令,不知道如何更改,我看你的程序好像也没有特指哪种打印协议TSC、ESC。能告知一下吗?

    2019-07-26
    赞同
    回复 4
    • 啊 五彩斑斓的黑
      啊 五彩斑斓的黑
      2019-07-30
      demo做了分包发送
      2019-07-30
      回复
    • 啊 五彩斑斓的黑
      啊 五彩斑斓的黑
      2019-07-30
      协议的话目前还得你根据需求来自定义打印样式
      2019-07-30
      回复
    • apen
      apen
      2019-07-30
      我直接写的hello这个字符串都没反应,应该和样式无关
      2019-07-30
      回复
    • apen
      apen
      2019-07-30

      我也看到你有数据分包的代码,



      另外,

      base.Ble.initBle(['FFF0', '0A71']);

      这个设备的id,你是怎么找到并配置的,这里搞了我好久,我是从主服务那边遍历出来4个,一个个找到然后配置上去的。才能扫描出来这个设备并连接上去的。

      base.Ble.initBle(['18F0', '0A71']);


      2019-07-30
      回复
  • Avalon
    Avalon
    2019-05-14

    大佬,你这demo支持esc命令吗

    2019-05-14
    赞同
    回复 3
    • 啊 五彩斑斓的黑
      啊 五彩斑斓的黑
      2019-05-14

      指令方式你可以自己修改成别其他的命令

      2019-05-14
      回复
    • Avalon
      Avalon
      2019-05-14

      这里的主服务ID是在serviceId吗?

      2019-05-14
      回复
    • 啊 五彩斑斓的黑
      啊 五彩斑斓的黑
      2019-05-17

      是的

      2019-05-17
      回复
  • Fairy新
    Fairy新
    2019-02-13

    这个打印机好贵啊


    这样的 是不是不支持二次开发 是专门定制好的?

    2019-02-13
    赞同
    回复 9
    查看更多(4)
  • Fairy新
    Fairy新
    2019-02-12

    打印机型号 什么 可以支持这个二次开发


    2019-02-12
    赞同
    回复 1
  • J
    J
    2019-01-16

    可以用了,谢谢

    2019-01-16
    赞同
    回复 1
  • J
    J
    2019-01-16

    可以打印了,谢谢

    2019-01-16
    赞同
    回复
  • J
    J
    2019-01-16

    我用了一下,标签打印出来了,文字没有 为什么??

    2019-01-16
    赞同
    回复 2
登录 后发表内容