resp.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package resp
  2. import (
  3. "encoding/json"
  4. "github.com/gogf/gf/util/gconv"
  5. )
  6. const (
  7. SUCCESS = 0
  8. FAIL = -1
  9. ERROR = -99
  10. UNAUTHORIZED = -401
  11. )
  12. type Resp struct {
  13. Code int `json:"code"`
  14. Msg string `json:"msg"`
  15. Data interface{} `json:"data"`
  16. }
  17. // 获取Data值转字符串
  18. func (resp Resp) Success() bool {
  19. return resp.Code == SUCCESS
  20. }
  21. // 获取Data转字符串
  22. func (resp Resp) DataString() string {
  23. return gconv.String(resp.Data)
  24. }
  25. // 获取Data转Int
  26. func (resp Resp) DataInt() int {
  27. return gconv.Int(resp.Data)
  28. }
  29. // 获取Data值转字符串
  30. func (resp Resp) GetString(key string) string {
  31. return gconv.String(resp.Get(key))
  32. }
  33. // 获取Data值转Int
  34. func (resp Resp) GetInt(key string) int {
  35. return gconv.Int(resp.Get(key))
  36. }
  37. // 获取Data值
  38. func (resp Resp) Get(key string) interface{} {
  39. m := gconv.Map(resp.Data)
  40. if m == nil {
  41. return ""
  42. }
  43. return m[key]
  44. }
  45. func (resp Resp) Json() string {
  46. str, _ := json.Marshal(resp)
  47. return string(str)
  48. }
  49. // 成功
  50. func Succ(data interface{}) Resp {
  51. return Resp{SUCCESS, "success", data}
  52. }
  53. // 失败
  54. func Fail(msg string) Resp {
  55. return Resp{FAIL, msg, ""}
  56. }
  57. // 失败设置Data
  58. func FailData(msg string, data interface{}) Resp {
  59. return Resp{FAIL, msg, data}
  60. }
  61. // 错误
  62. func Error(msg string) Resp {
  63. return Resp{ERROR, msg, ""}
  64. }
  65. // 错误设置Data
  66. func ErrorData(msg string, data interface{}) Resp {
  67. return Resp{ERROR, msg, data}
  68. }
  69. // 认证失败
  70. func Unauthorized(msg string, data interface{}) Resp {
  71. return Resp{UNAUTHORIZED, msg, data}
  72. }