player_controller.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package controller
  2. import (
  3. "f1-game/internal/code"
  4. "f1-game/internal/component/redis"
  5. nameKey "f1-game/internal/name/key"
  6. "f1-game/nodes/web/internal/middleware"
  7. clog "github.com/cherry-game/cherry/logger"
  8. cgin "github.com/cherry-game/components/gin"
  9. )
  10. type PlayerController struct {
  11. cgin.BaseController
  12. }
  13. func (p *PlayerController) Init() {
  14. group := p.Group("/player", middleware.ValidateToken())
  15. {
  16. group.GET("/last-login", p.lastLoginPlayer)
  17. group.GET("/cd-key", p.cdKey)
  18. }
  19. }
  20. func (p *PlayerController) cdKey(c *cgin.Context) {
  21. var (
  22. pid = c.GetInt32(nameKey.PID, 0)
  23. openID = c.GetString(nameKey.OpenID, "")
  24. playerID = c.GetInt64(nameKey.PlayerID, 0)
  25. gameNodeID = c.GetInt32(nameKey.GameNodeID, 0)
  26. key = c.GetString(nameKey.Key, "")
  27. )
  28. clog.Infof("pid=%s, openID=%s, playerID=%d, gameNodeID = %d, key = %s",
  29. pid,
  30. openID,
  31. playerID,
  32. gameNodeID,
  33. key,
  34. )
  35. code.JSONResult(c, code.OK)
  36. //验证cdkey成功,则rpc消息到具体的游戏服
  37. }
  38. // lastLogin 最后登录的玩家列表
  39. // http://127.0.0.1/player/last-login?token=xxx
  40. func (p *PlayerController) lastLoginPlayer(c *cgin.Context) {
  41. var (
  42. pid = c.GetInt32(nameKey.PID, 0)
  43. openID = c.GetString(nameKey.OpenID, "")
  44. )
  45. rsp := redis.Center.GetLastLoginPlayer(pid, openID)
  46. code.JSONResult(c, code.OK, rsp)
  47. }