app.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package http
  2. import (
  3. "go-common/app/interface/main/space/model"
  4. bm "go-common/library/net/http/blademaster"
  5. )
  6. func appIndex(c *bm.Context) {
  7. v := new(model.AppIndexArg)
  8. if err := c.Bind(v); err != nil {
  9. return
  10. }
  11. if midInter, ok := c.Get("mid"); ok {
  12. v.Mid = midInter.(int64)
  13. }
  14. c.JSON(spcSvc.AppIndex(c, v))
  15. }
  16. func appPlayedGame(c *bm.Context) {
  17. var (
  18. mid int64
  19. list []*model.AppGame
  20. count int
  21. err error
  22. )
  23. v := new(struct {
  24. VMid int64 `form:"mid" validate:"min=1"`
  25. Platform string `form:"platform" default:"android" validate:"required"`
  26. Pn int `form:"pn" default:"1" validate:"min=1"`
  27. Ps int `form:"ps" default:"20" validate:"min=1"`
  28. })
  29. if err = c.Bind(v); err != nil {
  30. return
  31. }
  32. if midInter, ok := c.Get("mid"); ok {
  33. mid = midInter.(int64)
  34. }
  35. list, count, err = spcSvc.AppPlayedGame(c, mid, v.VMid, v.Platform, v.Pn, v.Ps)
  36. if err != nil {
  37. c.JSON(nil, err)
  38. return
  39. }
  40. data := make(map[string]interface{}, 2)
  41. page := map[string]int{
  42. "pn": v.Pn,
  43. "ps": v.Ps,
  44. "count": count,
  45. }
  46. data["page"] = page
  47. data["list"] = list
  48. c.JSON(data, nil)
  49. }
  50. func appTopPhoto(c *bm.Context) {
  51. var mid int64
  52. v := new(struct {
  53. Vmid int64 `form:"mid" validate:"min=1"`
  54. Platform string `form:"platform" default:"android"`
  55. Device string `form:"device"`
  56. })
  57. if err := c.Bind(v); err != nil {
  58. return
  59. }
  60. if midInter, ok := c.Get("mid"); ok {
  61. mid = midInter.(int64)
  62. }
  63. imgURL := spcSvc.AppTopPhoto(c, mid, v.Vmid, v.Platform, v.Device)
  64. c.JSON(&struct {
  65. ImgURL string `json:"img_url"`
  66. }{ImgURL: imgURL}, nil)
  67. }