package codes import ( "encoding/json" "fmt" "github.com/go-kratos/kratos/v2/errors" ) func Error(code int, msg string) error { e := errors.New(400, "", msg) e = e.WithMetadata(map[string]string{ "code": fmt.Sprint(code), }) return e } func ErrorData(code int, msg string, data interface{}) error { j, _ := json.Marshal(data) e := errors.New(400, string(j), msg) e = e.WithMetadata(map[string]string{ "code": fmt.Sprint(code), }) return e } func CommonError(err error) error { se := errors.FromError(err) if se == nil { return Error(10400, err.Error()) } return se } func SystemErr(msg string) error { return Error(10500, msg) } //Customize 自定义返回值. 如自己重定向 func Customize() error { return Error(1000, "") }