1 Commits

Author SHA1 Message Date
247490c35d fix: resp 多参数问题 2025-07-14 11:16:34 +08:00
2 changed files with 46 additions and 15 deletions

View File

@ -43,22 +43,44 @@ func RE(c *gin.Context, err error) {
func _r(c *gin.Context, r *res, args ...any) { func _r(c *gin.Context, r *res, args ...any) {
length := len(args) length := len(args)
switch length {
case 0: if length == 0 {
break goto END
case 1:
if msg, ok := args[0].(string); ok {
r.Msg = msg
} }
case 2:
r.Data = args[1] if length >= 4 {
case 3: goto H4
r.Err = args[2] }
case 4:
if length >= 3 {
goto H3
}
if length >= 2 {
goto H2
}
if length >= 1 {
goto H1
}
H4:
if code, err := cast.ToIntE(args[3]); err == nil { if code, err := cast.ToIntE(args[3]); err == nil {
r.Code = code r.Code = code
} }
H3:
if es, ok := args[2].(error); ok {
r.Err = es.Error()
} else {
r.Err = args[2]
} }
H2:
r.Data = args[1]
H1:
if msg, ok := args[0].(string); ok {
r.Msg = msg
}
END:
if r.Msg == "" { if r.Msg == "" {
r.Msg = Msg(r.Status) r.Msg = Msg(r.Status)

9
resp/resp_test.go Normal file
View File

@ -0,0 +1,9 @@
package resp
import (
"testing"
)
func TestResp(t *testing.T) {
}