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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/2119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++11新特性 - override and final

override 关键字的应用 保证在派生类中声明的重载函数&#xff0c;与基类的虚函数有相同的签名为了减少程序运行时的错误&#xff0c;重写的虚函数都建议加上 override示例 class Base { public:virtual void Show(int x); // 虚函数 };class Derived : public Base { public…

怎么理解算力?1000P算力是什么概念?

算力&#xff0c;指计算机系统在单位时间内能够完成的计算任务量&#xff0c;它涵盖了CPU、GPU、TPU等硬件&#xff0c;每秒能处理的数据量&#xff0c;通常以“P”&#xff08;PetaFLOPS&#xff0c;即千万亿次浮点运算每秒&#xff09;为单位来衡量&#xff0c;是评估计算机性…

PDF被加密无法打印的解决办法

思路很清晰&#xff1a;先解密→再打印 分享四个工具&#xff0c;可以轻松解密PDF&#xff1a; ⭐i love pdf I LOVE PDF是一款免费的PDF网站&#xff0c;界面设计简洁&#xff0c;首页没有广告&#xff0c;但每个功能的操作界面是有广告的&#xff0c;不会影响使用。 部分功…

大数据开发详解

点击下载《大数据开发详解》 1. 前言 随着信息化时代的快速发展&#xff0c;大数据已经成为了企业和组织不可或缺的重要资源。大数据开发则是指通过一系列技术手段&#xff0c;对海量数据进行收集、存储、处理、分析和挖掘&#xff0c;以实现数据的价值化利用。大数据开发涉及…

byte十六进制转换读卡

需求&#xff1a;将一串十六进制字符串&#xff0c;弄成十进制 1.截取特定位数的字符串&#xff0c;比如去除 前面的标识符和后面的校验码&#xff0c;只需要中间部分 2.拿到十六进制字符串 3.将十六进制字符串转成byte 字节数组 4.调换字节数组的顺序&#xff0c; 4.将新字节数…

剑指offer--调整数字顺序使奇数位于偶数前面

题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有的偶数位于数组的后半部分. 算法分析 算法:利用快速排序的一次划分思想&#xff0c;后面的奇数往前移&#xff0c;前面的偶数往后移 时间复杂度 &#xff1a;O(n) 空间…

垃圾渗滤液如何有效处理

垃圾渗滤液&#xff0c;通常称为垃圾填埋场的渗滤液&#xff0c;是一种复杂的高浓度有机废水&#xff0c;含有多种有毒有害物质。有效处理垃圾渗滤液对环境保护至关重要。这里是一些常见且有效的处理方法&#xff1a; ### 预处理 ##### 1. 调节池 - **pH调整**&#xff1a;通过…

JavaWeb开发06-原理-Spring配置优先级-Bean管理-SpringBoot原理-Maven继承和聚合-私服

一、Spring配置优先级 不同配置文件&#xff0c;配置同一个属性谁有效 properties>yml>yaml 命令行参数>Java系统属性 项目打包后要改变属性&#xff1a; 红色是Java系统属性&#xff0c;绿色是命令行参数 ‘ 二、Bean管理 1.获取bean 获取IOC容器&#xff1a;ap…

中国1KM降水侵蚀因子R(2000-2022)

降雨侵蚀力因子其实是用来描述降雨对土壤侵蚀的潜在能力大小的&#xff0c;就是降雨的冲刷对土壤的侵蚀效应。 到降雨侵蚀力因子R的计算方法非常的繁多&#xff0c;不过这些计算方法总结下来&#xff0c;核心思路其实大概可以分为两种&#xff1a;一种是将降雨的动能引入模型来…

shell(52) : 获取资源信息(过滤无效信息)

cpu负载和cpu使用率 # cpu使用率 2.9 top -bn1|grep Cpu|awk {print $2} # cpu负载 0.13 top -bn1|grep load |awk {print $14} 内存使用率 # 16227860_12608036 总_使用 单位B free |grep Mem|awk {print $2"_"$3} 磁盘使用率 df -h | awk {print $1"_&qu…

资料总结分享:临床重要数据库

目录 RefSeqGene数据库 UCSC基因组数据库 gnomAD&#xff08;全称&#xff1a;Genome Aggregation Database&#xff09; dbSNP&#xff08;Single Nucleotide Polymorphism Database&#xff09; ExAC数据库&#xff08;Exome Aggregation Consortium&#xff09; 1000 G…

重庆思庄技术分享——Bug 12861117 RMAN 会话旋转

Bug 12861117 RMAN 会话旋转 现象&#xff1a; CPU 使用 率过高 挂起&#xff08;进程旋转&#xff09; RMAN-2005 / RMAN-565 / LFI-5 RMAN &#xff08;Recovery Manager&#xff09; 描述&#xff1a; 在某些情况下&#xff0c;如果写入日志文件时遇到磁盘已满的情况 或输入…

【数据结构-串-数组-广义表】

目录 1 串-理解1.1 串的抽象定义&#xff1a;-理解1.2 串的存储结构-不断掌握1.2.1 顺序存储结构&#xff1a;1.2.2 链式存储结构&#xff1a; 1.3 串的模式匹配算法&#xff1a;-掌握1.3.1 BF暴力求解算法-代码 -掌握1.3.2 KMP求解算法-代码--掌握 2 数组-不断掌握2.1 顺序存储…

【总结】mysql 使用shell 脚本远程安装启动不会自动退出结束

问题 使用shell脚本&#xff0c;远程安装部署mysql并启动mysql&#xff0c;当mysql启动命令执行完毕后&#xff0c;远程ssh 命令不会自动结束&#xff0c;安装程序一直卡着不动。 ssh xxx192.168.10.11 “install_mysql.sh” 在 install_mysql.sh 脚本中&#xff0c;启动mysq…

计算机网络3——数据链路层5高速以太网

文章目录 一、100BASE-T 以太网二、吉比特以太网三、10吉比特以太网(10GbE)和更快的以太网四、使用以太网进行宽带接入 随着电子技术的发展&#xff0c;以太网的速率也不断提升。从传统的10Mbits以太网一直发展到现在常用的速率为1Gbits的吉比特以太网&#xff0c;甚至更快的以…

1.求指定宽度的文本的高度,2.ubuntu下ping ipv6,3.git提示:终止提交因为提交说明为空

1.如何求指定宽度的文本的高度 paintEvent(QPaintEvent *event) {QPainter painter(this);QString text "Invalid parameter passed to C runtime function.";QFontMetrics fm(qApp->font());QTextDocument doc(text);doc.setDefaultFont(painter.font());doc.s…

Java中的super

package day33; ​ public class Person {public String name;public int age; ​public Person() {System.out.println("调用了父类的无参构造");} } ​ package day33; ​ public class teacher extends Person{public teacher() {System.out.println("调用了…

为什么iPhone支持整页中文OCR应用很少?有什么好的解决方法?

iPhone上面没有支持中文整页OCR识别的app&#xff0c;这是一个值得探讨的问题。OCR&#xff0c;即光学字符识别&#xff0c;是一种将纸质文档或图片中的文字转化为可编辑文本的技术。随着科技的发展&#xff0c;OCR技术已经广泛应用于各个领域&#xff0c;包括文档处理、图像识…

Python | Leetcode Python题解之第44题通配符匹配

题目&#xff1a; 题解&#xff1a; class Solution:def isMatch(self, s: str, p: str) -> bool:def allStars(st: str, left: int, right: int) -> bool:return all(st[i] * for i in range(left, right))def charMatch(u: str, v: str) -> bool:return u v or v…

paddlepaddle/paddle 命令注入漏洞复现_$1500 CVE-2024-0934

目录 1.漏洞概述 2.影响版本 3.漏洞等级 4.漏洞复现 4.1 安装漏洞环境