resp.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package resp
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "net/http"
  5. )
  6. type response struct {
  7. Code int `json:"code"`
  8. Message string `json:"message"`
  9. Data interface{} `json:"data"`
  10. }
  11. type pageResponse struct {
  12. Code int `json:"code"`
  13. Message string `json:"message"`
  14. PageNum int `json:"pageNum"`
  15. PageSize int `json:"pageSize"`
  16. Total int64 `json:"total"`
  17. Data interface{} `json:"data"`
  18. }
  19. func HandleSuccess(ctx *gin.Context, data interface{}) {
  20. if data == nil {
  21. data = map[string]string{}
  22. }
  23. resp := response{Code: 200, Message: "success", Data: data}
  24. ctx.JSON(http.StatusOK, resp)
  25. }
  26. func PageHandleSuccess(ctx *gin.Context, data interface{}, total int64, pageNum, pageSize int) {
  27. if data == nil {
  28. data = map[string]string{}
  29. }
  30. resp := pageResponse{Code: 200, Message: "success", Data: data, PageNum: pageNum, PageSize: pageSize, Total: total}
  31. ctx.JSON(http.StatusOK, resp)
  32. }
  33. func HandleError(ctx *gin.Context, code int, message string, data interface{}) {
  34. if data == nil {
  35. data = map[string]string{}
  36. }
  37. resp := response{Code: code, Message: message, Data: data}
  38. ctx.JSON(http.StatusOK, resp)
  39. }