尝试标签替换

This commit is contained in:
suyl
2021-06-30 10:41:10 +08:00
parent fb42bb293e
commit 93d16237ba

View File

@@ -37,18 +37,30 @@ const (
//标签 //标签
const ( const (
//<BR> :换行符 //<BR> :换行符
//<CUT> :切刀指令(主动切纸,仅限切刀打印机使用才有效果) //<CB></CB>:居中放大
//<LOGO> 打印LOGO指令(前提是预先在机器内置LOGO图片) //<B></B>:放大一倍
//<PLUGIN> :钱箱或者外置音响指令 //<C></C>:居中
//<CB></CB>:居中放大 //<L></L>:字体变高一倍
//<B></B>放大一倍 //<W></W>字体变宽一倍
//<C></C>:居中 //<QR></QR>:二维码(单个订单,最多只能打印一个二维码)
//<L></L>:字体变高一倍 //<RIGHT></RIGHT>:右对齐
//<W></W>:字体变宽一倍 //<BOLD></BOLD>:字体加粗
//<QR></QR>:二维码(单个订单,最多只能打印一个二维码) signBR = "<br>" //换行
//<RIGHT></RIGHT>:右对齐 signCenter = "<center>" //居中
//<BOLD></BOLD>:字体加粗 signLeft = "<left>" //居左
signRight = "<right>" //居右
signBig = "<b>" //字体放大
signHighBig = "<hb>" //字体纵向放大
signWideBig = "<wb>" //字体横向放大
byteSignBR = "3c62723e" //换行
byteSignCenter = "3c63656e7465723e" //居中
byteSignLeft = "3c6c6566743e" //居左
byteSignRight = "3c72696768743e" //居右
byteSignBig = "3c623e" //字体放大
byteSignHighBig = "3c68623e" //字体纵向放大
byteSignWideBig = "3c77623e" //字体横向放大
) )
var ( var (
@@ -57,6 +69,16 @@ var (
printErrMap = map[string]string{ printErrMap = map[string]string{
printErrWithoutPaper: "打印机缺纸!", 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 orderNoHexH, orderNoHexL, printData string
) )
//写入数据 //写入数据
content = replaceContent(content)
orderNoHexH, orderNoHexL = int2h8l8(int64(orderNo)) orderNoHexH, orderNoHexL = int2h8l8(int64(orderNo))
printDataGBK, _ := jxutils.Utf8ToGbk([]byte(content)) printDataGBK, _ := jxutils.Utf8ToGbk([]byte(content))
printData = hex.EncodeToString(printDataGBK) 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)) lenData := int64(len(str) + len(const1) + len(orderNoHexH) + len(orderNoHexL) + len(printInit) + len(voice) + len(check) + 4 + len(printData))
x1, x2 := int2h8l8(lenData / 2) x1, x2 := int2h8l8(lenData / 2)
dataStr := str + x1 + x2 + const1 + orderNoHexH + orderNoHexL + printInit + voice + printData + check 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) { 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 return result
} }