cloudreve中的通用返回对象的处理
cloudreve中的通用返回对象的处理
包名: serializer
基础化的响应结构体
// Response 基础序列化器
type Response struct {
Code int `json:"code"`
Data interface{} `json:"data,omitempty"`
Msg string `json:"msg"`
Error string `json:"error,omitempty"`
}
// Err 通用错误处理
func Err(errCode int, msg string, err error) Response {
// 底层错误是AppError,则尝试从AppError中获取详细信息
var appError AppError
if errors.As(err, &appError) {
errCode = appError.Code
err = appError.RawError
msg = appError.Msg
}
res := Response{
Code: errCode,
Msg: msg,
}
// 生产环境隐藏底层报错
if err != nil && gin.Mode() != gin.ReleaseMode {
res.Error = err.Error()
}
return res
}

浙公网安备 33010602011771号