package result import ( "context" "net/http" "muyu-apiserver/pkg/xerr" "github.com/zeromicro/go-zero/rest/httpx" ) type Response struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json:"data,omitempty"` } func Success(ctx context.Context, w http.ResponseWriter, data interface{}) { httpx.OkJsonCtx(ctx, w, &Response{ Code: xerr.OK, Msg: "success", Data: data, }) } func Fail(ctx context.Context, w http.ResponseWriter, err error) { var resp Response switch e := err.(type) { case *xerr.BizError: resp.Code = e.Code resp.Msg = e.Msg default: resp.Code = xerr.ServerError resp.Msg = err.Error() } httpx.OkJsonCtx(ctx, w, &resp) } func ParamError(ctx context.Context, w http.ResponseWriter, err error) { httpx.OkJsonCtx(ctx, w, &Response{ Code: xerr.ParamError, Msg: err.Error(), }) }