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打印内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论