From 93d16237ba397888b1d42f3285894a04fdeb022e Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Wed, 30 Jun 2021 10:41:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E6=A0=87=E7=AD=BE=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/event/event_tcp.go | 55 +++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/business/jxstore/event/event_tcp.go b/business/jxstore/event/event_tcp.go index 0f7407827..d7bb44c1e 100644 --- a/business/jxstore/event/event_tcp.go +++ b/business/jxstore/event/event_tcp.go @@ -37,18 +37,30 @@ const ( //标签 const ( -//
:换行符 -// :切刀指令(主动切纸,仅限切刀打印机使用才有效果) -// :打印LOGO指令(前提是预先在机器内置LOGO图片) -// :钱箱或者外置音响指令 -//:居中放大 -//:放大一倍 -//:居中 -//:字体变高一倍 -//:字体变宽一倍 -//:二维码(单个订单,最多只能打印一个二维码) -//:右对齐 -//:字体加粗 + //
:换行符 + //:居中放大 + //:放大一倍 + //:居中 + //:字体变高一倍 + //:字体变宽一倍 + //:二维码(单个订单,最多只能打印一个二维码) + //:右对齐 + //:字体加粗 + signBR = "
" //换行 + signCenter = "
" //居中 + signLeft = "" //居左 + signRight = "" //居右 + signBig = "" //字体放大 + signHighBig = "" //字体纵向放大 + signWideBig = "" //字体横向放大 + + byteSignBR = "3c62723e" //换行 + byteSignCenter = "3c63656e7465723e" //居中 + byteSignLeft = "3c6c6566743e" //居左 + byteSignRight = "3c72696768743e" //居右 + byteSignBig = "3c623e" //字体放大 + byteSignHighBig = "3c68623e" //字体纵向放大 + byteSignWideBig = "3c77623e" //字体横向放大 ) var ( @@ -57,6 +69,16 @@ var ( printErrMap = map[string]string{ printErrWithoutPaper: "打印机缺纸!", } + + signMap = map[string]string{ + byteSignBR: "oa", + byteSignCenter: "1b6101", + byteSignLeft: "1b6100", + byteSignRight: "1b6102", + byteSignBig: "1b2130", + byteSignHighBig: "1b2110", + byteSignWideBig: "1b2120", + } ) //连接的客户端,吧每个客户端都放进来 @@ -241,10 +263,10 @@ func buildMsg(printMsg *model.PrintMsg) (data []byte, err error) { orderNoHexH, orderNoHexL, printData string ) //写入数据 - content = replaceContent(content) orderNoHexH, orderNoHexL = int2h8l8(int64(orderNo)) printDataGBK, _ := jxutils.Utf8ToGbk([]byte(content)) printData = hex.EncodeToString(printDataGBK) + printData = replaceContent(printData) lenData := int64(len(str) + len(const1) + len(orderNoHexH) + len(orderNoHexL) + len(printInit) + len(voice) + len(check) + 4 + len(printData)) x1, x2 := int2h8l8(lenData / 2) dataStr := str + x1 + x2 + const1 + orderNoHexH + orderNoHexL + printInit + voice + printData + check @@ -252,7 +274,12 @@ func buildMsg(printMsg *model.PrintMsg) (data []byte, err error) { } func replaceContent(content string) (result string) { - + result = content + for k, v := range signMap { + if strings.Contains(result, k) { + result = strings.ReplaceAll(result, k, v) + } + } return result }