Commit 92131fd9010388c981cfa3252ca512e239cac503

Authored by zhangqijia
1 parent 944a2ef6

fix: gm支持GET请求

Showing 1 changed file with 25 additions and 10 deletions   Show diff stats
cmd/gameserver/service/gm.go
@@ -23,13 +23,33 @@ func NewGmServer(server components.IServer, port ...string) *GmServer { @@ -23,13 +23,33 @@ func NewGmServer(server components.IServer, port ...string) *GmServer {
23 23
24 func (s *GmServer) HandlerFuncObj(tvl, obj reflect.Value) gin.HandlerFunc { 24 func (s *GmServer) HandlerFuncObj(tvl, obj reflect.Value) gin.HandlerFunc {
25 return func(c *gin.Context) { 25 return func(c *gin.Context) {
26 - c.Request.ParseForm()  
27 - roleId, ok := c.GetPostForm("role_id") 26 + var roleId string
  27 + var ok bool
  28 + properties := make(map[string]interface{})
  29 + //请求类型,以及 format 参数
  30 + if c.Request.Method == "POST" {
  31 + c.Request.ParseForm()
  32 + for k, v := range c.Request.PostForm {
  33 + properties[k] = v[0]
  34 + }
  35 + roleId, ok = c.GetPostForm("role_id")
  36 +
  37 + } else if c.Request.Method == "GET" {
  38 + roleId, ok = c.GetQuery("role_id")
  39 + for k, v := range c.Request.URL.Query() {
  40 + properties[k] = v[0]
  41 + }
  42 + } else {
  43 + c.JSON(http.StatusOK, gin.H{"code": -101, "message": "not support method"})
  44 + return
  45 + }
  46 +
28 if !ok { 47 if !ok {
29 - c.JSON(http.StatusOK, gin.H{"code": -101, "message": "role not exist"}) 48 + c.JSON(http.StatusOK, gin.H{"code": -102, "message": "role not exist"})
30 return 49 return
31 } 50 }
32 51
  52 + //role start
33 conn := s.Server.GetConnManage().GetConnByRID(roleId) 53 conn := s.Server.GetConnManage().GetConnByRID(roleId)
34 var role *models.RoleModel 54 var role *models.RoleModel
35 if conn != nil { 55 if conn != nil {
@@ -39,21 +59,16 @@ func (s *GmServer) HandlerFuncObj(tvl, obj reflect.Value) gin.HandlerFunc { @@ -39,21 +59,16 @@ func (s *GmServer) HandlerFuncObj(tvl, obj reflect.Value) gin.HandlerFunc {
39 //离线 59 //离线
40 role = models.NewRole(roleId) 60 role = models.NewRole(roleId)
41 if err := role.Load(); err != nil { 61 if err := role.Load(); err != nil {
42 - c.JSON(http.StatusOK, gin.H{"code": -102, "message": "role not exist"}) 62 + c.JSON(http.StatusOK, gin.H{"code": -103, "message": "role not exist"})
43 return 63 return
44 } 64 }
45 role.LoadAll() 65 role.LoadAll()
46 } 66 }
47 67
48 - properties := make(map[string]interface{})  
49 -  
50 - for k, v := range c.Request.PostForm {  
51 - properties[k] = v[0]  
52 - }  
53 -  
54 properties["_conn"] = conn 68 properties["_conn"] = conn
55 properties["_role"] = role 69 properties["_role"] = role
56 70
  71 + //func start
57 v := tvl.Call([]reflect.Value{obj, reflect.ValueOf(properties)}) 72 v := tvl.Call([]reflect.Value{obj, reflect.ValueOf(properties)})
58 73
59 role.SaveRoleData(0) 74 role.SaveRoleData(0)