1
0

response.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package micro
  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 = 200
  9. FAIL = 500
  10. ERROR = 400
  11. UNAUTHORIZED = 401
  12. )
  13. type Response struct {
  14. Code int64 `json:"code"`
  15. Message string `json:"message"`
  16. Data any `json:"data"`
  17. }
  18. // Succ 成功
  19. func (resp Response) SuccNil() {
  20. resp.Succ("")
  21. }
  22. // Succ 成功
  23. func (resp Response) Succ(data any) {
  24. resp.Code = SUCCESS
  25. resp.Message = "success"
  26. resp.Data = data
  27. }
  28. // IsSuccess 获取Data值转字符串
  29. func (resp Response) IsSuccess() bool {
  30. return resp.Code == SUCCESS
  31. }
  32. // String 获取Data转字符串
  33. func (resp Response) String() string {
  34. return gconv.String(resp.Data)
  35. }
  36. // Json 获取Data转JSON格式
  37. func (resp Response) Json() string {
  38. str, _ := json.Marshal(resp)
  39. return string(str)
  40. }
  41. // Get 获取Data值
  42. func (resp Response) Get(key string) *gvar.Var {
  43. m := gconv.Map(resp.Data)
  44. if m == nil {
  45. return nil
  46. }
  47. return gvar.New(m[key])
  48. }
  49. // Success 成功
  50. func Success(data interface{}) *Response {
  51. return &Response{SUCCESS, "success", data}
  52. }
  53. // Fail 失败
  54. func Fail(msg string) *Response {
  55. return &Response{FAIL, msg, ""}
  56. }
  57. // Error 错误
  58. func Error(msg string) *Response {
  59. return &Response{ERROR, msg, ""}
  60. }
  61. // Unauthorized 认证失败
  62. func Unauthorized(msg string, data interface{}) *Response {
  63. return &Response{UNAUTHORIZED, msg, data}
  64. }