package nstatus import ( "encoding/json" "fmt" ) // Result 统一返回结果 结构体 // {"code":200,"msg":"OK","data":{}} // API RPC 共用 type Result struct { Code int `json:"code"` // 返回编码(业务+错误) Msg string `json:"msg"` // 消息 Data any `json:"data,omitempty,optional"` // 数据 } func NewResult(code int, message string) *Result { return NewResultWithData(code, message, nil) } func NewResultWithData(code int, message string, data any) *Result { return &Result{ Code: code, Msg: message, Data: data, } } // Error 错误输出,同时可作为错误 func (r *Result) Error() string { return r.String() } func (r *Result) String() string { return fmt.Sprintf("Code:%d Message:%s Data:%v", r.Code, r.Msg, r.Data) } // JsonString 返回JsonString格式 func (r *Result) JsonString() string { bytes, err := json.Marshal(r) if err != nil { return "" } return string(bytes) }