diff --git a/main.go b/main.go index b5b23ecbf..a3f3b677c 100644 --- a/main.go +++ b/main.go @@ -9,6 +9,7 @@ import ( "net/http" _ "net/http/pprof" "os" + "strconv" "time" "git.rosy.net.cn/baseapi/platformapi/dingdingapi" @@ -186,31 +187,39 @@ func handleConn(c net.Conn) { return } fmt.Println("read data:", hex.EncodeToString(buffer[:n])) - b := []byte("ok") - c.Write([]byte(hex.EncodeToString(b))) + str := "1e" + const1 := "0200ff50" + orderNo := "0001" //订单序列号 + printInit := "1b40" //打印机初始化 + voice := "1b59415501" //语音响一次 + check := "ff" + s := "oa2d" + printData := hex.EncodeToString([]byte(s)) + lenData := int64(len(str) + len(const1) + len(orderNo) + len(printInit) + len(voice) + 1 + 2 + len(printData)) + x1, x2 := int2h8l8(lenData) + data := const1 + x1 + x2 + orderNo + printInit + voice + printData + check + n2, err := c.Write([]byte(data)) + fmt.Println("write data: ", hex.EncodeToString(buffer[:n2])) } } -//func handleConn(c net.Conn) { -// if c == nil { -// fmt.Println("conn is nil") -// return -// } -// defer c.Close() -// //reader := bufio.NewReader(c) -// buffer := make([]byte, 1024) -// for { -// n, err := c.Read(buffer) -// if err != nil { -// if err == io.EOF { -// fmt.Println("connection close") -// } else { -// fmt.Println("ReadString err", err) -// } -// return -// } -// fmt.Println("read data:", buffer[:n]) -// b := []byte("ok") -// c.Write(b) -// } -//} +func int2h8l8(i int64) (h, l string) { + origin2 := fmt.Sprintf("%b", i) + flag := 16 - len(origin2) + for i := 0; i < flag; i++ { + origin2 = "0" + origin2 + } + begin8 := origin2[:8] + end8 := origin2[8:] + r1, _ := strconv.ParseInt(begin8, 2, 32) + r2, _ := strconv.ParseInt(end8, 2, 32) + h = fmt.Sprintf("%x", r1) + l = fmt.Sprintf("%x", r2) + if len(h) < 2 { + h = "0" + h + } + if len(l) < 2 { + l = "0" + l + } + return h, l +}