serializer.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package serializer
  2. import (
  3. "gadmin/internal/admin/consts"
  4. "net/http"
  5. "github.com/gin-gonic/gin"
  6. "github.com/sirupsen/logrus"
  7. )
  8. type GameApiResponse struct {
  9. ErrCode int `json:"errCode"`
  10. Data interface{} `json:"data,omitempty"`
  11. Msg string `json:"msg"`
  12. }
  13. type Response struct {
  14. Code int `json:"code"`
  15. Data interface{} `json:"data,omitempty"`
  16. Msg string `json:"msg"`
  17. Error string `json:"error,omitempty"`
  18. }
  19. type TrackedErrorResponse struct {
  20. Response
  21. TrackID string `json:"track_id"`
  22. }
  23. func CheckLogin() Response {
  24. return Response{
  25. Code: consts.CodeCheckLogin,
  26. Msg: "未登录",
  27. }
  28. }
  29. func Suc(data interface{}, msg ...interface{}) Response {
  30. newMsg := "OK"
  31. if len(msg) > 0 {
  32. newMsg = msg[0].(string)
  33. }
  34. res := Response{
  35. Code: consts.CodeSuccess,
  36. Data: data,
  37. Msg: newMsg,
  38. }
  39. return res
  40. }
  41. func Err(errCode int, msg string, err error) Response {
  42. res := Response{
  43. Code: errCode,
  44. Msg: msg,
  45. }
  46. // 正式服隐藏详细的报错信息
  47. //if err != nil && gin.Mode() != gin.ReleaseMode {
  48. // res.Error = err.Error()
  49. //}
  50. if err != nil {
  51. res.Error = err.Error()
  52. }
  53. logrus.Warnf("serializer.Err msg:%v, err:%+v", msg, err)
  54. return res
  55. }
  56. func DBErr(msg string, err error) Response {
  57. if msg == "" {
  58. msg = "数据库操作失败"
  59. }
  60. return Err(consts.CodeDBError, msg, err)
  61. }
  62. func ParamErr(msg string, err error) Response {
  63. if msg == "" {
  64. msg = "参数错误"
  65. }
  66. return Err(consts.CodeParamErr, msg, err)
  67. }
  68. func JSONErrorExit(c *gin.Context, msg string) {
  69. logrus.Warnf("serializer.JSONErrorExit msg:%v", msg)
  70. c.JSON(http.StatusOK, Response{
  71. Code: consts.CodePanicErr,
  72. Msg: msg,
  73. })
  74. }