欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript連接組件實(shí)現(xiàn)打印功能

 更新時(shí)間:2024年04月23日 10:47:58   作者:小兔快跑zZ  
這篇文章主要為大家詳細(xì)介紹了JavaScript如何連接連接抖音打印組件實(shí)現(xiàn)打印小票功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下

js連接抖音打印組件實(shí)現(xiàn)打印小票

安裝抖音打印組件

抖音打印組件文檔:

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

跟著文檔案例一步步配基本上沒問題,

打印的時(shí)候需要設(shè)置下打印機(jī)名稱

示例代碼

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);
  }
  /**
   * 獲取打印機(jī)列表
   */
  doGetPrinters() {
    var request = {
      requestID: this.getUUID(),
      version: "1.0",
      cmd: "getPrinters"
    };

    this.socket.send(JSON.stringify(request));
  }
  /**
   * 獲取打印機(jī)配置
   */
  doPrinterConfig() {
    var request = {
      requestID: this.getUUID(),
      version: "1.0",
      cmd: "printerConfig"
    };

    this.socket.send(JSON.stringify(request));
  }
  /**
   * 設(shè)置打印機(jī)
   * @param {*} data 
   */
  doSetPrinterConfig(data) {
    var request = {
      requestID: this.getUUID(),
      version: "1.0",
      cmd: "setPrinterConfig",
      printer: data
    };

    this.socket.send(JSON.stringify(request));
  }
  /**
   * 通過taskID查詢打印狀態(tài)
   */
  doGetTaskStatus() {
    var request = {
      requestID: "12345678901234567890",
      version: "1.0",
      cmd: "getTaskStatus",
      taskID: ["1", "2"]
    };
    this.socket.send(JSON.stringify(request));
  }
  // 通過documentId查詢打印狀態(tài)
  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服務(wù)端"
                        // }
                    ]
                }
            ]
        }
    }

    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("");
  }
}

到此這篇關(guān)于JavaScript連接組件實(shí)現(xiàn)打印功能的文章就介紹到這了,更多相關(guān)JavaScript打印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論