init commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package result
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"github.com/perfect-panel/ppanel-server/pkg/xerr"
|
||||
)
|
||||
|
||||
// HttpResult HTTP Result
|
||||
func HttpResult(ctx *gin.Context, resp interface{}, err error) {
|
||||
|
||||
if err == nil {
|
||||
// Success Result
|
||||
ctx.JSON(http.StatusOK, Success(resp))
|
||||
return
|
||||
}
|
||||
|
||||
// Init Error Code and Message
|
||||
code := xerr.ERROR
|
||||
msg := "Internal Server Error"
|
||||
|
||||
// Get Error Type
|
||||
var e *xerr.CodeError
|
||||
if errors.As(errors.Cause(err), &e) {
|
||||
// Custom Code Error
|
||||
code = e.GetErrCode()
|
||||
msg = e.GetErrMsg()
|
||||
}
|
||||
ctx.JSON(http.StatusOK, Error(code, msg))
|
||||
}
|
||||
|
||||
// ParamErrorResult Param Error Result
|
||||
func ParamErrorResult(ctx *gin.Context, err error) {
|
||||
errMsg := err.Error()
|
||||
_ = ctx.Error(errors.New(errMsg))
|
||||
ctx.JSON(http.StatusOK, Error(xerr.InvalidParams, errMsg))
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package result
|
||||
|
||||
type ResponseSuccessBean struct {
|
||||
Code uint32 `json:"code"`
|
||||
Msg string `json:"msg"`
|
||||
Data interface{} `json:"data,omitempty"`
|
||||
}
|
||||
type NullJson struct{}
|
||||
|
||||
func Success(data interface{}) *ResponseSuccessBean {
|
||||
return &ResponseSuccessBean{200, "success", data}
|
||||
}
|
||||
|
||||
type ResponseErrorBean struct {
|
||||
Code uint32 `json:"code"`
|
||||
Msg string `json:"msg"`
|
||||
}
|
||||
|
||||
func Error(errCode uint32, errMsg string) *ResponseErrorBean {
|
||||
return &ResponseErrorBean{errCode, errMsg}
|
||||
}
|
||||
Reference in New Issue
Block a user