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
}