serializer.go 1.5 KB

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