From 262f553ac5510fa77cf4436d618aed22d330cc04 Mon Sep 17 00:00:00 2001 From: aihe <961836564@qq.com> Date: Fri, 9 Aug 2024 01:05:36 +0800 Subject: [PATCH] uu --- .../render-template-native.vue | 19 ++++++++++++------- .../tpx-bluetooth-print-preview.vue | 2 +- package.json | 3 ++- pages/print/bluetoothPrinter.vue | 2 +- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/components/tpx-bluetooth-print/render-template-native.vue b/components/tpx-bluetooth-print/render-template-native.vue index e26c845..8c02e20 100644 --- a/components/tpx-bluetooth-print/render-template-native.vue +++ b/components/tpx-bluetooth-print/render-template-native.vue @@ -21,6 +21,7 @@ import * as canvasUtil from "@/common/canvasUtil" import tanexPrinterUniSdk from './nativePrint/tanexPrinterUniSdk' import printModule from './nativePrint/print' import dayjs from "dayjs" +import { Base64 } from "js-base64" export default { props:{ @@ -77,13 +78,17 @@ export default { }) }, // 直接传打印指令给打印机 - handlePrintCommandData(str){ - let { bl, deviceId } = that.checkPrintParam() - if(!bl) { - return reject('打印参数校验不通过') - } - debugger - printModule.sendData(str) + handlePrintCommandData(bs64Str){ + let that = this + return new Promise((resolve, reject)=> { + let { bl, deviceId } = that.checkPrintParam() + if(!bl) { + return reject('打印参数校验不通过') + } + let cmdStr = Base64.decode(bs64Str) + printModule.sendData(cmdStr) + resolve(true) + }) }, checkPrintParam() { let msg = '', bl = false diff --git a/components/tpx-bluetooth-print/tpx-bluetooth-print-preview.vue b/components/tpx-bluetooth-print/tpx-bluetooth-print-preview.vue index 7f8abce..3d947d2 100644 --- a/components/tpx-bluetooth-print/tpx-bluetooth-print-preview.vue +++ b/components/tpx-bluetooth-print/tpx-bluetooth-print-preview.vue @@ -84,7 +84,7 @@ export default { async confirmPrint(opt = { }){ let { imageUrl, prtCmdData } = opt imageUrl = imageUrl || this.imageUrl || [] - prtCmdData = prtCmdData || '' + prtCmdData = encodeURIComponent(prtCmdData || '') if(imageUrl.length == 0 && !prtCmdData) { this.showToast('缺少打印内容') } else { diff --git a/package.json b/package.json index aa831de..9fb5c8e 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,8 @@ "dayjs": "^1.11.10", "file-saver": "2.0.5", "pdf-lib": "1.17.1", - "vconsole": "3.15.1" + "vconsole": "3.15.1", + "js-base64": "3.7.7" }, "dcloudext": { "category": [ diff --git a/pages/print/bluetoothPrinter.vue b/pages/print/bluetoothPrinter.vue index 970a008..05552fa 100644 --- a/pages/print/bluetoothPrinter.vue +++ b/pages/print/bluetoothPrinter.vue @@ -32,7 +32,7 @@ export default { methods: { initData(){ let urls = this.queryOption?.imageUrl?.split(",") - let prtCmdData = this.queryOption?.prtCmdData || '' + let prtCmdData = decodeURIComponent(this.queryOption?.prtCmdData || '') this.pageLoading = false if(urls?.length > 0) { this.$refs.curPrint.startPrint({