UNPKG

label-print-design

Version:

操作简单,组件丰富的一站式打印解决方案打印设计器

1 lines 6.81 kB
{"version":3,"file":"myprintClientService.mjs","sources":["../../../../src/plugins/myprintClientService.ts"],"sourcesContent":["import { useSocket } from '@myprint/design/stores/socket';\nimport { ClientCmd, ClientResult, Panel, Printer, PrintOptions, PrintResult } from '@myprint/design/types/entity';\nimport { generateUUID } from '@myprint/design/utils/utils';\nimport { unit2unit } from '@myprint/design/utils/devicePixelRatio';\nimport { getCurrentPanelUnit, getPrintRealHeight } from '@myprint/design/utils/elementUtil';\n\nexport const myPrintClientService = {\n print(clientCmd: ClientCmd, panel: Panel) {\n const options = clientCmd.options!;\n if (options.html != null) {\n options.width = unit2unit(getCurrentPanelUnit(panel), 'mm', panel.width);\n options.height = unit2unit(getCurrentPanelUnit(panel), 'mm', getPrintRealHeight(panel));\n }\n return new Promise<ClientResult>((resolve, _reject) => {\n useSocket().SEND(clientCmd.taskId, JSON.stringify(clientCmd)).then((msg: ClientResult) => {\n resolve(msg);\n });\n });\n },\n\n connectIs() {\n return useSocket().connect;\n },\n\n getPrinterList() {\n return useSocket().printerList as Printer[];\n },\n\n asyncGetPrinterList() {\n return new Promise<Printer[]>((resolve, reject) => {\n if (useSocket().connect) {\n const taskId = generateUUID();\n useSocket().SEND(taskId, JSON.stringify({\n taskId,\n cmd: 'printerList'\n })).then((res: ClientResult) => {\n useSocket().SET_PRINTER_LIST(res.data);\n resolve(res.data);\n }).catch(e => {\n reject(e);\n });\n } else {\n reject({ msg: '客户端未连接' });\n }\n });\n }\n};\n\nexport const handleClientResult = (clientCmd: ClientResult, printResult: Function, previewTimeOutMap: any, resolveMap: any) => {\n if (clientCmd.cmd == 'printResult') {\n printResult(clientCmd.taskId, {\n status: clientCmd.status ? 'SUCCESS' : 'ERROR',\n msg: clientCmd.msg,\n type: 'CLIENT_PRINT'\n }, previewTimeOutMap, resolveMap);\n }\n\n if (clientCmd.cmd == 'generatePdfResult') {\n let data = clientCmd.data as Buffer;\n let blob: Blob = null!;\n if (data != null) {\n // 将Buffer对象转换为Uint8Array数组\n // @ts-ignore\n const uint8Array = new Uint8Array(data.data);\n // 将Uint8Array数组转换为Blob对象\n blob = new Blob([uint8Array], { type: 'application/octet-stream' });\n // download(blob, pdfName + '.pdf');\n }\n\n printResult(clientCmd.taskId, {\n status: 'SUCCESS',\n msg: '',\n blob,\n type: 'CLIENT_GENERATE_PDF'\n }, previewTimeOutMap, resolveMap);\n\n return blob;\n }\n};\n\nexport function printResult(taskId: string, result: PrintResult, previewTimeOutMap: any, resolveMap: any) {\n if (previewTimeOutMap[taskId]) {\n clearTimeout(previewTimeOutMap[taskId]);\n delete previewTimeOutMap[taskId];\n }\n\n if (resolveMap[taskId]) {\n resolveMap[taskId](result);\n delete resolveMap[taskId];\n }\n}\n\nexport function handleTimeOut(printProps: PrintOptions, previewTimeOutMap: any, resolveMap: any) {\n if (printProps.timeout! > 0) {\n previewTimeOutMap[printProps.taskId!] = setTimeout(() => {\n printResult(printProps.taskId!, {\n status: 'TIMEOUT',\n type: 'TIMEOUT'\n }, previewTimeOutMap, resolveMap);\n }, printProps.timeout);\n }\n}\n"],"names":["printResult"],"mappings":"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"}