gtoken_resp.go 1.7 KB

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