优化交易创建流程,客户管理新增折扣与来源字段及功能
This commit is contained in:
16
web/error.go
16
web/error.go
@@ -8,6 +8,7 @@ import (
|
||||
"platform/web/auth"
|
||||
"platform/web/core"
|
||||
"reflect"
|
||||
"time"
|
||||
|
||||
"github.com/gofiber/fiber/v2"
|
||||
)
|
||||
@@ -22,6 +23,7 @@ func ErrorHandler(c *fiber.Ctx, err error) error {
|
||||
var bizErr *core.BizErr
|
||||
var servErr *core.ServErr
|
||||
var jsonErr *json.UnmarshalTypeError
|
||||
var timeErr *time.ParseError
|
||||
|
||||
switch {
|
||||
|
||||
@@ -55,9 +57,21 @@ func ErrorHandler(c *fiber.Ctx, err error) error {
|
||||
code = fiber.StatusBadRequest
|
||||
message = fmt.Sprintf("参数 %s 类型不正确,传入类型为 %s,正确类型应该为 %s", jsonErr.Field, jsonErr.Value, jsonErr.Type.Name())
|
||||
|
||||
case errors.As(err, &timeErr):
|
||||
code = fiber.StatusBadRequest
|
||||
message = fmt.Sprintf("时间格式不正确,传入值为 %s,检查传参是否为时间类型", timeErr.Value)
|
||||
|
||||
// 所有未手动声明的错误类型
|
||||
default:
|
||||
slog.Warn("未处理的异常", slog.String("type", reflect.TypeOf(err).Name()), slog.String("error", err.Error()))
|
||||
t := reflect.TypeOf(err)
|
||||
for {
|
||||
if t.Kind() == reflect.Pointer {
|
||||
t = t.Elem()
|
||||
continue
|
||||
}
|
||||
break
|
||||
}
|
||||
slog.Warn("未处理的异常", slog.String("type", t.String()), slog.String("error", err.Error()))
|
||||
}
|
||||
|
||||
c.Set(fiber.HeaderContentType, fiber.MIMETextPlainCharsetUTF8)
|
||||
|
||||
Reference in New Issue
Block a user