JavaScript連接組件實(shí)現(xiàn)打印功能
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)文章
JavaScript實(shí)現(xiàn)同一個(gè)頁面打開多張圖片
這篇文章主要介紹了JavaScript實(shí)現(xiàn)同一個(gè)頁面打開多張圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12JavaScript中String.prototype用法實(shí)例
這篇文章主要介紹了JavaScript中String.prototype用法,實(shí)例分析了prototype的功能及使用技巧,需要的朋友可以參考下2015-05-05微信公眾號(hào)獲取用戶地理位置并列出附近的門店的示例代碼
這篇文章主要介紹了微信公眾號(hào)獲取用戶地理位置并列出附近的門店的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07JavaScript 獲取任一float型小數(shù)點(diǎn)后兩位的小數(shù)
這篇文章主要介紹了JavaScript如何獲取小數(shù)任一小數(shù)點(diǎn)后的位數(shù)的小數(shù),需要的朋友可以參考下2014-06-06