代码拉取完成,页面将自动刷新
package Base
import (
"encoding/json"
"fmt"
)
// 结果对象
type IReturnAble interface {
State() int64
Message() string
Value() interface{}
ToJson() string
ToMap() DataMap
Error() error
Transform(interface{}, string) error
}
type ReturnAble struct {
Code int64 `json:"code" Tr:"code"`
Msg string `json:"msg" Tr:"msg"`
Data interface{} `json:"data" Tr:"data"`
ErrNo int64 `json:"errNo" Tr:"errno"`
ErrMsg string `json:"errMsg" Tr:"errMsg"`
}
const SuccessCode = 200
func NewReturnAble(code int64, msg string, data interface{}, errNo int64, errMsg string) IReturnAble {
return &ReturnAble{
Code: code,
Msg: msg,
Data: data,
ErrNo: errNo,
ErrMsg: errMsg,
}
}
func NewSuccessAble(data interface{}, msg string, codeArg ...int64) IReturnAble {
var code int64 = SuccessCode
if len(codeArg) > 0 {
code = codeArg[0]
}
return NewReturnAble(code, msg, data, 0, "")
}
func NewFailAbel(errMsg string, errNo int64, res ...interface{}) IReturnAble {
var data interface{}
if len(res) > 0 {
data = res[0]
}
return NewReturnAble(0, "", data, errNo, errMsg)
}
func (r *ReturnAble) State() int64 {
return r.Code
}
func (r *ReturnAble) Message() string {
return r.Msg
}
func (r *ReturnAble) Value() interface{} {
return r.Data
}
func (r *ReturnAble) ToJson() string {
var (
data []byte
err error
)
if data, err = json.Marshal(r); err != nil {
GetLoggerInstance().Error(err)
return ""
}
return string(data)
}
func (r *ReturnAble) ToMap() DataMap {
var (
data DataMap
err error
)
if data, err = TransformStruct2Map(r); err != nil {
GetLoggerInstance().Error(err)
return nil
}
return data
}
func (r *ReturnAble) Error() error {
if r.ErrNo != 0 && r.ErrMsg != "" {
return ServiceError(fmt.Sprintf("code:%d,msg:%s", r.ErrNo, r.ErrMsg))
}
return nil
}
// 对应结果体装载
func (r *ReturnAble) Transform(v interface{}, scope string) error {
if scope == "" || scope == "*" {
}
if scope == "data" || scope == "value" {
}
if scope == "error" || scope == "err" {
}
return nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。