diff --git a/common/apis/api.go b/common/apis/api.go index 59ffbe62..66de1a9d 100644 --- a/common/apis/api.go +++ b/common/apis/api.go @@ -1,7 +1,9 @@ package apis import ( + "encoding/json" "github.com/gin-gonic/gin" + "go-admin/common/log" "gorm.io/gorm" "net/http" @@ -27,7 +29,9 @@ func (e *Api) Error(c *gin.Context, code int, err error, msg string) { res.Msg = msg } res.RequestId = tools.GenerateMsgIDFromContext(c) - c.AbortWithStatusJSON(http.StatusOK, res.ReturnError(code)) + Return := res.ReturnError(code) + setResult(c, Return, res.RequestId, code) + c.AbortWithStatusJSON(http.StatusOK, Return) } // OK 通常成功数据处理 @@ -38,7 +42,9 @@ func (e *Api) OK(c *gin.Context, data interface{}, msg string) { res.Msg = msg } res.RequestId = tools.GenerateMsgIDFromContext(c) - c.AbortWithStatusJSON(http.StatusOK, res.ReturnOK()) + Return := res.ReturnOK() + setResult(c, Return, res.RequestId, 200) + c.AbortWithStatusJSON(http.StatusOK, Return) } // PageOK 分页数据处理 @@ -53,5 +59,18 @@ func (e *Api) PageOK(c *gin.Context, result interface{}, count int, pageIndex in // Custom 兼容函数 func (e *Api) Custom(c *gin.Context, data gin.H) { - c.AbortWithStatusJSON(http.StatusOK, data) + msgID := tools.GenerateMsgIDFromContext(c) + Return := data + setResult(c, Return, msgID, 200) + c.AbortWithStatusJSON(http.StatusOK, Return) +} + +func setResult(c *gin.Context, Return interface{}, msgID string, status int) { + var jsonStr []byte + jsonStr, err := json.Marshal(Return) + if err != nil { + log.Debugf("MsgID[%s] setResult error: %#v", msgID, err.Error()) + } + c.Set("result", string(jsonStr)) + c.Set("status", status) } diff --git a/tools/app/return.go b/tools/app/return.go index 94a05a4c..bd92e256 100644 --- a/tools/app/return.go +++ b/tools/app/return.go @@ -1,6 +1,8 @@ package app import ( + "encoding/json" + "go-admin/common/log" "net/http" "github.com/gin-gonic/gin" @@ -10,6 +12,7 @@ import ( // 失败数据处理 func Error(c *gin.Context, code int, err error, msg string) { + msgID := tools.GenerateMsgIDFromContext(c) var res Response if err != nil { res.Msg = err.Error() @@ -18,18 +21,33 @@ func Error(c *gin.Context, code int, err error, msg string) { res.Msg = msg } res.RequestId = tools.GenerateMsgIDFromContext(c) - c.AbortWithStatusJSON(http.StatusOK, res.ReturnError(code)) + Return := res.ReturnError(code) + var jsonStr []byte + jsonStr, err = json.Marshal(Return) + if err != nil { + log.Debugf("MsgID[%s] ShouldBind error: %#v", msgID, err.Error()) + } + c.Set("result",string(jsonStr)) + c.AbortWithStatusJSON(http.StatusOK, Return) } // 通常成功数据处理 func OK(c *gin.Context, data interface{}, msg string) { + msgID := tools.GenerateMsgIDFromContext(c) var res Response res.Data = data if msg != "" { res.Msg = msg } res.RequestId = tools.GenerateMsgIDFromContext(c) - c.AbortWithStatusJSON(http.StatusOK, res.ReturnOK()) + Return := res.ReturnOK() + var jsonStr []byte + jsonStr, err := json.Marshal(Return) + if err != nil { + log.Debugf("MsgID[%s] ShouldBind error: %#v", msgID, err.Error()) + } + c.Set("result",string(jsonStr)) + c.AbortWithStatusJSON(http.StatusOK, Return) } // 分页数据处理 @@ -44,5 +62,13 @@ func PageOK(c *gin.Context, result interface{}, count int, pageIndex int, pageSi // 兼容函数 func Custum(c *gin.Context, data gin.H) { - c.AbortWithStatusJSON(http.StatusOK, data) + msgID := tools.GenerateMsgIDFromContext(c) + Return := data + var jsonStr []byte + jsonStr, err := json.Marshal(Return) + if err != nil { + log.Debugf("MsgID[%s] ShouldBind error: %#v", msgID, err.Error()) + } + c.Set("result",string(jsonStr)) + c.AbortWithStatusJSON(http.StatusOK, Return) }