Files
mayfly-go/server/pkg/model/result.go

64 lines
1.3 KiB
Go
Raw Normal View History

2021-01-08 15:37:32 +08:00
package model
2020-09-01 10:34:11 +08:00
import (
"encoding/json"
"fmt"
"mayfly-go/pkg/errorx"
2020-09-01 10:34:11 +08:00
)
const (
SuccessCode = 200
SuccessMsg = "success"
)
// 统一返回结果结构体
type Result struct {
Code int16 `json:"code"`
Msg string `json:"msg"`
Data any `json:"data"`
2020-09-01 10:34:11 +08:00
}
// 将Result转为json字符串
func (r *Result) ToJson() string {
jsonData, err := json.Marshal(r)
if err != nil {
fmt.Println("data转json错误")
}
return string(jsonData)
}
// 判断该Result是否为成功状态
func (r *Result) IsSuccess() bool {
return r.Code == SuccessCode
}
// 返回成功状态的Result
// @param data 成功附带的数据消息
func Success(data any) *Result {
2020-09-01 10:34:11 +08:00
return &Result{Code: SuccessCode, Msg: SuccessMsg, Data: data}
}
// 返回成功状态的Result
// @param data 成功不附带数据
func SuccessNoData() *Result {
return &Result{Code: SuccessCode, Msg: SuccessMsg}
}
2024-10-23 17:30:05 +08:00
func Error(bizerr *errorx.BizError) *Result {
return &Result{Code: bizerr.Code(), Msg: bizerr.Error()}
}
2020-09-01 10:34:11 +08:00
// 返回服务器错误Result
func ServerError(msg string) *Result {
serverErr := errorx.NewBizCode(errorx.ServerError.Code(), msg)
return Error(serverErr)
2020-09-01 10:34:11 +08:00
}
func TokenError() *Result {
return Error(errorx.PermissionErr)
2020-09-01 10:34:11 +08:00
}
func ErrorBy(code int16, msg string) *Result {
return &Result{Code: code, Msg: msg}
2020-09-01 10:34:11 +08:00
}