当前位置: 代码网 > it编程>编程语言>Javascript > JavaScript连接组件实现打印功能

JavaScript连接组件实现打印功能

2024年05月28日 Javascript 我要评论
js连接抖音打印组件实现打印小票安装抖音打印组件抖音打印组件文档:https://bytedance.larkoffice.com/docs/doccn2vboodd3kwrcd6z93nilvg跟着

js连接抖音打印组件实现打印小票

安装抖音打印组件

抖音打印组件文档:

https://bytedance.larkoffice.com/docs/doccn2vboodd3kwrcd6z93nilvg

跟着文档案例一步步配基本上没问题,

打印的时候需要设置下打印机名称

示例代码

export class douyinprint {
  constructor(socketurl = "ws://127.0.0.1:13888") {
    this.url = socketurl;
    this.doconnect();
    this.isready = false;
  }
  doconnect() {
    this.socket = new websocket(this.url);
  }
  /**
   * 获取打印机列表
   */
  dogetprinters() {
    var request = {
      requestid: this.getuuid(),
      version: "1.0",
      cmd: "getprinters"
    };

    this.socket.send(json.stringify(request));
  }
  /**
   * 获取打印机配置
   */
  doprinterconfig() {
    var request = {
      requestid: this.getuuid(),
      version: "1.0",
      cmd: "printerconfig"
    };

    this.socket.send(json.stringify(request));
  }
  /**
   * 设置打印机
   * @param {*} data 
   */
  dosetprinterconfig(data) {
    var request = {
      requestid: this.getuuid(),
      version: "1.0",
      cmd: "setprinterconfig",
      printer: data
    };

    this.socket.send(json.stringify(request));
  }
  /**
   * 通过taskid查询打印状态
   */
  dogettaskstatus() {
    var request = {
      requestid: "12345678901234567890",
      version: "1.0",
      cmd: "gettaskstatus",
      taskid: ["1", "2"]
    };
    this.socket.send(json.stringify(request));
  }
  // 通过documentid查询打印状态
  dogetdocumentstatus() {
    var request = {
      requestid: "12345678901234567890",
      version: "1.0",
      cmd: "getdocumentstatus",
      documentids: ["9890000076011"]
    };
    this.socket.send(json.stringify(request));
  }
  /**
   * 打印
   * @param {*} printer_name 
   * @param {*} data 
   * @param {*} order_id 
   */
  doprint(printer_name, data,order_id) {
    let request ={
        "cmd": "print",
        "requestid": data.pack_id,
        "version": "1.0",
        "task": {
            "taskid": `${order_id}_${this.getuuid()}`,
            "preview": false,
            "printer": printer_name,
            "documents": [
                {
                    "documentid":data.warehouse_danhao,
                    "contents": [
                        {
                            "templateurl": data.templateurl,
                            "params": data.params,
                            "signature": data.signature,
                            "encrypteddata": data.encrypteddata,
                            "adddata": data.adddata
                        },
                        // {
                        //     "data": {},
                        //     "templateurl": "自定义模板url,保存在isv服务端"
                        // }
                    ]
                }
            ]
        }
    }

    this.socket.send(json.stringify(request));
  }
  getuuid(len, radix) {
    var chars = "0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz".split(
      ""
    );
    var uuid = [],
      i;
    radix = radix || chars.length;
    if (len) {
      for (i = 0; i < len; i++) uuid[i] = chars[0 | (math.random() * radix)];
    } else {
      var r;
      uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-";
      uuid[14] = "4";
      for (i = 0; i < 36; i++) {
        if (!uuid[i]) {
          r = 0 | (math.random() * 16);
          uuid[i] = chars[i == 19 ? (r & 0x3) | 0x8 : r];
        }
      }
    }
    return uuid.join("");
  }
}

到此这篇关于javascript连接组件实现打印功能的文章就介绍到这了,更多相关javascript打印内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com