package app import ( "encoding/json" "github.com/google/uuid" "github.com/spf13/cast" "net/http" "github.com/gin-gonic/gin" ) // Error 失败数据处理 func Error(c *gin.Context, code int, err error, msg string) { var res Response if err != nil { res.Msg = err.Error() } if msg != "" { res.Msg = msg } res.RequestId = GenerateMsgIDFromContext(c) c.JSON(http.StatusOK, res.ReturnError(code)) response, _ := json.Marshal(res) c.Set("response", string(response)) } // OK 通常成功数据处理 func OK(c *gin.Context, data interface{}, msg string) { var res Response res.Data = data if msg != "" { res.Msg = msg } res.RequestId = GenerateMsgIDFromContext(c) c.JSON(http.StatusOK, res.ReturnOK()) response, _ := json.Marshal(res) c.Set("response", string(response)) } // PageOK 分页数据处理 func PageOK(c *gin.Context, result interface{}, count int, pageIndex int, pageSize int, msg string) { var res Page res.List = result res.Count = count res.PageIndex = pageIndex res.PageSize = pageSize OK(c, res, msg) } // GenerateMsgIDFromContext 生成msgID func GenerateMsgIDFromContext(c *gin.Context) string { var msgID string data, ok := c.Get("msgID") if !ok { msgID = uuid.New().String() c.Set("msgID", msgID) return msgID } msgID = cast.ToString(data) return msgID }