Commit 92131fd9010388c981cfa3252ca512e239cac503
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) |