This commit is contained in:
suyl
2021-07-14 16:23:37 +08:00
parent d192847ae9
commit 88c7ce9f49

View File

@@ -219,7 +219,7 @@ func handleConn(c net.Conn) {
tcpClient.s.Unlock()
}
} else if strings.Contains(data, printText) {
globals.SugarLogger.Debugf("handleConn print: %v", data)
globals.SugarLogger.Debugf("handleConn print callback: %v", data)
changePrintMsg(data)
}
}
@@ -272,7 +272,7 @@ func printFail() (err error) {
}
}
tcpClient.s.RUnlock()
if c != nil && tcpClient.Clients[printMsg.PrintNo].Status == printerStatusOnline {
if c != nil {
if _, err = c.Write(data); err != nil {
globals.SugarLogger.Debugf("handleTcpMessages err [%v]", err)
delete(tcpClient.Clients, printMsg.PrintNo)
@@ -424,7 +424,6 @@ func buildMsg(printMsg *model.PrintMsg) (data []byte, err error) {
const1 = "0200ff50"
printInit = "1b40" //打印机初始化
//voice = "1d6b401dfd001a01015b7631365d736f756e64622cc4fad3d0d0c2b6a9b5a5c0b1" //语音,中国
check = "aa"
//qr = "1d58021b5a0001061600747470733a2f2f7777772e62616964752e636f6d2f1b000A0A0A1B40"
orderNoHexH, orderNoHexL, printData string
)
@@ -433,10 +432,22 @@ func buildMsg(printMsg *model.PrintMsg) (data []byte, err error) {
printDataGBK, _ := jxutils.Utf8ToGbk([]byte(content))
printData = hex.EncodeToString(printDataGBK)
printData = replaceContent(printData, printMsg)
lenData := int64(len(str) + len(const1) + len(orderNoHexH) + len(orderNoHexL) + len(printInit) + len(check) + len(hexSignBROrEXE) + 4 + len(printData))
lenData := int64(len(str) + len(const1) + len(orderNoHexH) + len(orderNoHexL) + len(printInit) + 2 + len(hexSignBROrEXE) + 4 + len(printData))
x1, x2 := int2h8l8(lenData / 2)
dataStr := str + x1 + x2 + const1 + orderNoHexH + orderNoHexL + printInit + printData + hexSignBROrEXE + check
return jxutils.Hextob(dataStr), err
dataStr := str + x1 + x2 + const1 + orderNoHexH + orderNoHexL + printInit + printData + hexSignBROrEXE
check := getCheckSum(dataStr)
return jxutils.Hextob(dataStr + check), err
}
func getCheckSum(str string) (check string) {
var sum int64
for i := 0; i < len(str); i = i + 2 {
b := string(str[i]) + string(str[i+1])
bt, _ := strconv.ParseInt(b, 16, 32)
sum += bt
}
_, check = int2h8l8(sum)
return check
}
//内容中的标签替换成指令