From 9915f63a0305cc060dcc5decbf3470eba90992d6 Mon Sep 17 00:00:00 2001 From: Rice <1840169763@qq.com> Date: Wed, 15 Apr 2026 10:03:28 +0800 Subject: [PATCH] init --- apps/m9zCtrlTty/m9zCtrlTty.go | 6 +- .../module/maincontrollerClient/serialport.go | 5 +- utility/paramsCheck.go | 107 ------------------ 3 files changed, 6 insertions(+), 112 deletions(-) delete mode 100644 utility/paramsCheck.go diff --git a/apps/m9zCtrlTty/m9zCtrlTty.go b/apps/m9zCtrlTty/m9zCtrlTty.go index 50ad981..f26a41f 100644 --- a/apps/m9zCtrlTty/m9zCtrlTty.go +++ b/apps/m9zCtrlTty/m9zCtrlTty.go @@ -34,9 +34,9 @@ func main() { defer func() { if exception := recover(); exception != nil { if v, ok := exception.(error); ok && gerror.HasStack(v) { - zap.S().Error("err %+v \n", v) + zap.S().Errorf("err %+v \n", v) } else { - zap.S().Error("recover exception %+v\n", gerror.NewCodef(tcode.CodeInternalPanic, "%+v", exception)) + zap.S().Errorf("recover exception %+v\n", gerror.NewCodef(tcode.CodeInternalPanic, "%+v", exception)) } } }() @@ -84,7 +84,7 @@ func start() { towgo.SetFunc("/getMessageInterval", getMessageInterval) err = maincontrollerClient.UseSerialPort(serialPortAddress, baudRateint) if err != nil { - panic(err) + panic(gerror.Wrap(err, "串口启动失败")) } webServer := www.WebServer{} webServer.Wwwroot = system.GetPathOfProgram() + "wwwroot" diff --git a/internal/module/maincontrollerClient/serialport.go b/internal/module/maincontrollerClient/serialport.go index 6359075..b780c6c 100644 --- a/internal/module/maincontrollerClient/serialport.go +++ b/internal/module/maincontrollerClient/serialport.go @@ -5,6 +5,7 @@ import ( "context" "encoding/binary" "encoding/json" + "github.com/gogf/gf/v2/errors/gerror" "github.com/towgo/towgo/errors/terror" "io" "reflect" @@ -61,7 +62,7 @@ func UseSerialPort(portName string, baudRate int) error { err := serialPort.Open() if err != nil { - return err + return gerror.Wrap(err, "串口连接打开失败") } serialPort.OnDataReceived(func(data []byte) { @@ -94,7 +95,7 @@ func (sp *SerialPort) Open() error { port, err := serial.Open(sp.address, sp.config) if err != nil { - return err + return gerror.Wrap(err, "串口打开失败") } sp.dataChan = make(chan byte, 1) diff --git a/utility/paramsCheck.go b/utility/paramsCheck.go deleted file mode 100644 index e4d75fd..0000000 --- a/utility/paramsCheck.go +++ /dev/null @@ -1,107 +0,0 @@ -package utility - -import ( - "fmt" - "github.com/gogf/gf/v2/util/gconv" - "reflect" - "strings" -) - -/* -* -数字转成固定长度字符串,并在空缺位置补足固定字符串 -num 数字 -str 空缺替代字符串 -l 长度 -*/ -func SuppLenZero(num int64, str string, l int) string { - lenStr := gconv.String(num) - if len(lenStr) == l { - return lenStr - } - if len(lenStr) < l { - count := l - len(lenStr) - for i := 0; i < count; i++ { - lenStr = str + lenStr - } - } else { - temp := "" - for i := 0; i < l; i++ { - temp += str - } - return temp - } - return lenStr -} -func CheckNum(num int64) int64 { - if num > 100 { - return 100 - } - if num < 0 { - return 0 - } - return num - -} -func FormatStringSliceToSQL(s []string) string { - var builder strings.Builder - builder.WriteString("(") - for i, v := range s { - if i > 0 { - builder.WriteString(", ") - } - builder.WriteString("'") - builder.WriteString(v) - builder.WriteString("'") - } - builder.WriteString(")") - return builder.String() -} - -// FormatSliceToSQL 接受一个任意类型的切片,并将其格式化为类似 ('a', 'b', 'c') 的字符串 -func FormatSliceToSQL(slice interface{}) (string, error) { - // 使用反射获取切片的类型信息 - v := reflect.ValueOf(slice) - if v.Kind() != reflect.Slice { - return "", fmt.Errorf("input is not a slice") - } - - var builder strings.Builder - - length := v.Len() - for i := 0; i < length; i++ { - if i > 0 { - builder.WriteString(", ") - } - element := v.Index(i).Interface() - // 根据元素类型进行格式化 - switch element.(type) { - case string: - builder.WriteString("'") - builder.WriteString(element.(string)) - builder.WriteString("'") - case int, int8, int16, int32, int64: - builder.WriteString("'") - - builder.WriteString(gconv.String(reflect.ValueOf(element).Int())) - builder.WriteString("'") - - case uint, uint8, uint16, uint32, uint64: - builder.WriteString("'") - - builder.WriteString(gconv.String(reflect.ValueOf(element).Uint())) - builder.WriteString("'") - - case float32, float64: - builder.WriteString("'") - - builder.WriteString(gconv.String(reflect.ValueOf(element).Float())) - builder.WriteString("'") - - default: - return "", fmt.Errorf("unsupported type: %T", element) - } - } - - return builder.String(), nil -}