Files
go-admin/tools/app/return.go
T
linwenxiang e2952fa393 调整整体架构写法
调整db用法
调整日志用法
调整模版
2021-03-04 23:45:16 +08:00

75 lines
1.8 KiB
Go

package app
import (
"encoding/json"
"net/http"
"github.com/gin-gonic/gin"
log "github.com/go-admin-team/go-admin-core/logger"
"go-admin/tools"
)
// 失败数据处理
func Error(c *gin.Context, code int32, err error, msg string) {
msgID := tools.GenerateMsgIDFromContext(c)
var res Response
if err != nil {
res.Msg = err.Error()
}
if msg != "" {
res.Msg = msg
}
res.RequestId = tools.GenerateMsgIDFromContext(c)
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)
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)
}
// 分页数据处理
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)
}
// 兼容函数
func Custum(c *gin.Context, data gin.H) {
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)
}