api.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package apis
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "gorm.io/gorm"
  5. "net/http"
  6. "device-manage/common/models"
  7. "device-manage/tools"
  8. )
  9. type Api struct {
  10. }
  11. // GetOrm 获取Orm DB
  12. func (e *Api) GetOrm(c *gin.Context) (*gorm.DB, error) {
  13. return tools.GetOrm(c)
  14. }
  15. // Error 通常错误数据处理
  16. func (e *Api) Error(c *gin.Context, code int, err error, msg string) {
  17. var res models.Response
  18. if err != nil {
  19. res.Msg = err.Error()
  20. }
  21. if msg != "" {
  22. res.Msg = msg
  23. }
  24. res.RequestId = tools.GenerateMsgIDFromContext(c)
  25. c.JSON(http.StatusOK, res.ReturnError(code))
  26. }
  27. // OK 通常成功数据处理
  28. func (e *Api) OK(c *gin.Context, data interface{}, msg string) {
  29. var res models.Response
  30. res.Data = data
  31. if msg != "" {
  32. res.Msg = msg
  33. }
  34. res.RequestId = tools.GenerateMsgIDFromContext(c)
  35. c.JSON(http.StatusOK, res.ReturnOK())
  36. }
  37. // PageOK 分页数据处理
  38. func (e *Api) PageOK(c *gin.Context, result interface{}, count int, pageIndex int, pageSize int, msg string) {
  39. var res models.Page
  40. res.List = result
  41. res.Count = count
  42. res.PageIndex = pageIndex
  43. res.PageSize = pageSize
  44. e.OK(c, res, msg)
  45. }
  46. // Custom 兼容函数
  47. func (e *Api) Custom(c *gin.Context, data gin.H) {
  48. c.JSON(http.StatusOK, data)
  49. }