|
- package response
-
- import (
- "bytes"
- "encoding/json"
- )
-
- const (
- JsonMsgDefaultOk = "ok"
- JsonMsgDefaultFailed = "unknown"
- )
-
- type Json struct {
- Code int `json:"code"`
- Data interface{} `json:"data,omitempty"`
- Msg string `json:"msg"`
- Status bool `json:"status"`
- }
-
- func (j *Json) SetCode(code int) {
- j.Code = code
- }
-
- func (j *Json) SetMessage(msg string) {
- j.Msg = msg
- }
-
- func (j *Json) SetData(data interface{}) {
- j.Data = data
- }
-
- func (j *Json) SetStatus(status bool) {
- j.Status = status
- }
-
- func (j *Json) String() string {
- s, _ := j.ToString()
- return s
- }
-
- func (j *Json) ToString() (str string, err error) {
- var b []byte
- b, err = json.Marshal(j)
- return bytes.NewBuffer(b).String(), err
- }
-
- func NewJsonByDefaultSuccess(data ...interface{}) JsonInterface {
- return NewJson(true, 0, JsonMsgDefaultOk, data...)
- }
-
- func NewJsonByDefaultFailed(data ...interface{}) JsonInterface {
- return NewJson(false, 1, JsonMsgDefaultFailed, data...)
- }
-
- func NewJonsByFailed(code int, msg string) JsonInterface {
- return NewJson(false, code, msg)
- }
-
- func NewJson(status bool, code int, msg string, data ...interface{}) JsonInterface {
- if len(data) > 0 {
- return &Json{
- Code: code,
- Data: data[0],
- Msg: msg,
- Status: status,
- }
- } else {
- return &Json{
- Code: code,
- Data: nil,
- Msg: msg,
- Status: status,
- }
- }
- }
|