init...
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
package resp
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// Response 数据返回结构体
|
||||
type Response struct {
|
||||
Status int `json:"status"` // 返回状态值
|
||||
Msg string `json:"msg"` // 返回的提示语
|
||||
Data interface{} `json:"data"` // 返回数据
|
||||
}
|
||||
|
||||
// Success 正确返回
|
||||
func Success(data interface{}, msg ...string) *Response {
|
||||
response := Response{
|
||||
Status: http.StatusOK,
|
||||
Data: data,
|
||||
Msg: "操作成功",
|
||||
}
|
||||
if len(msg) > 0 {
|
||||
response.Msg = msg[0]
|
||||
}
|
||||
return &response
|
||||
}
|
||||
|
||||
// ErrorResp 错误返回
|
||||
func ErrorResp(data ...interface{}) *Response {
|
||||
response := Response{
|
||||
Status: http.StatusInternalServerError,
|
||||
Msg: "操作失败",
|
||||
Data: nil,
|
||||
}
|
||||
for _, value := range data {
|
||||
switch value.(type) {
|
||||
case string:
|
||||
response.Msg = value.(string)
|
||||
case int:
|
||||
response.Status = value.(int)
|
||||
case interface{}:
|
||||
response.Data = value.(interface{})
|
||||
}
|
||||
}
|
||||
return &response
|
||||
}
|
||||
|
||||
func Error(c *gin.Context, data ...interface{}) {
|
||||
response := Response{
|
||||
Status: http.StatusInternalServerError,
|
||||
Msg: "操作失败",
|
||||
Data: nil,
|
||||
}
|
||||
for _, value := range data {
|
||||
switch value.(type) {
|
||||
case string:
|
||||
response.Msg = value.(string)
|
||||
case int:
|
||||
response.Status = value.(int)
|
||||
case interface{}:
|
||||
response.Data = value.(interface{})
|
||||
}
|
||||
}
|
||||
c.JSON(http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
func ParamError(c *gin.Context, data ...interface{}) {
|
||||
response := Response{
|
||||
Status: http.StatusInternalServerError,
|
||||
Msg: "参数绑定异常",
|
||||
Data: nil,
|
||||
}
|
||||
for _, value := range data {
|
||||
switch value.(type) {
|
||||
case string:
|
||||
response.Msg = value.(string)
|
||||
case int:
|
||||
response.Status = value.(int)
|
||||
case interface{}:
|
||||
response.Data = value.(interface{})
|
||||
}
|
||||
}
|
||||
c.JSON(http.StatusBadRequest, response)
|
||||
return
|
||||
}
|
||||
func OK(c *gin.Context, data ...interface{}) {
|
||||
response := Response{
|
||||
Status: http.StatusOK,
|
||||
Msg: "操作成功",
|
||||
Data: nil,
|
||||
}
|
||||
for _, datum := range data {
|
||||
switch datum.(type) {
|
||||
case string:
|
||||
response.Msg = datum.(string)
|
||||
case interface{}:
|
||||
response.Data = datum.(interface{})
|
||||
}
|
||||
}
|
||||
c.JSON(http.StatusOK, response)
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user