[feat] 丰富错误内容提示
This commit is contained in:
parent
8ed7df206b
commit
95b5b15b16
23
errno.go
23
errno.go
@ -1,5 +1,7 @@
|
||||
package contracts
|
||||
|
||||
import "github.com/samber/lo"
|
||||
|
||||
// 定义错误码
|
||||
type Errno struct {
|
||||
Code int `json:"code"`
|
||||
@ -12,13 +14,14 @@ func (err Errno) Error() string {
|
||||
|
||||
// 定义错误
|
||||
type Err struct {
|
||||
Code int `json:"code"` // 错误码
|
||||
Msg string `json:"msg"` // 展示给用户看的
|
||||
Errord string `json:"errord"` // 内部错误信息
|
||||
Code int `json:"code"` // 错误码
|
||||
Msg string `json:"msg"` // 展示给用户看的
|
||||
Errord string `json:"-"` // 内部错误信息
|
||||
alert bool `json:"-"` // 是否显示内部错误信息
|
||||
}
|
||||
|
||||
func (err *Err) Error() string {
|
||||
return err.Errord
|
||||
func (err Err) Error() string {
|
||||
return lo.Ternary(err.alert && err.Errord != "", err.Errord, err.Msg)
|
||||
}
|
||||
|
||||
// 错误码设计
|
||||
@ -97,6 +100,16 @@ var (
|
||||
// 使用 错误码 和 error 创建新的 错误
|
||||
func NewErr(errno *Errno, err error) *Err {
|
||||
return &Err{
|
||||
alert: errno.Code == InternalServerError.Code,
|
||||
Code: errno.Code,
|
||||
Msg: errno.Error(),
|
||||
Errord: err.Error(),
|
||||
}
|
||||
}
|
||||
|
||||
func NewMsgErr(errno *Errno, err error) *Err {
|
||||
return &Err{
|
||||
alert: true,
|
||||
Code: errno.Code,
|
||||
Msg: errno.Error(),
|
||||
Errord: err.Error(),
|
||||
|
@ -147,7 +147,7 @@ func NewMsgResponse(msg string, code int) contracts.HttpResponse {
|
||||
}
|
||||
|
||||
func NewErrResponse(err *contracts.Err) contracts.HttpResponse {
|
||||
return NewJsonResponse([]byte(fmt.Sprintf(`{"code": %d, "msg": %q, "errord": %q}`, err.Code, err.Msg, err.Errord)))
|
||||
return NewJsonResponse([]byte(fmt.Sprintf(`{"code": %d, "msg": %q}`, err.Code, err.Error())))
|
||||
}
|
||||
|
||||
func HttpResponse(data any) contracts.HttpResponse {
|
||||
|
Loading…
Reference in New Issue
Block a user