Blame view

src/actions/HttpAction.go 1.61 KB
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
1
2
3
  package actions
  
  import (
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
4
5
  	"github.com/gin-gonic/gin"
  	"net/http"
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
6
  	"pro2d/conf"
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
7
  	"pro2d/protos/pb"
252ca9a0   zhangqijia   解释目录结构
8
  	"pro2d/src/components/net"
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
9
10
  	"pro2d/src/models"
  	"pro2d/src/utils"
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
11
12
13
  )
  
  type HttpAction struct {
252ca9a0   zhangqijia   解释目录结构
14
  	HttpServer *net.HttpServer
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
15
16
  }
  
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  
  func PubRsp(c *gin.Context, code int, data interface{}) {
  	c.JSON(http.StatusOK, gin.H{"code": code, "data": data})
  }
  
  func (h *HttpAction) Register(c *gin.Context) {
  	var register pb.Register
  	if err := c.ShouldBindJSON(&register); err != nil {
  		PubRsp(c, -1, err.Error())
  		return
  	}
  
  	account := models.NewAccount(register.Phone)
  	if err := account.Load(); err == nil {
  		PubRsp(c, -2, "account exist: " + register.Phone)
  		return
  	}
  
  	account.Uid = conf.SnowFlack.NextValStr()
  	account.Password = utils.Md5V(register.Password)
  	if _, err := account.Create(); err != nil{
  		PubRsp(c, -3, "account register err: " + err.Error())
  		return
  	}
  	account.Password = register.Password
  	PubRsp(c, 0, account.Account)
  }
  
  func (h *HttpAction) Login(c *gin.Context) {
  	var login pb.Account
  	if err := c.ShouldBindJSON(&login); err != nil {
  		PubRsp(c, -1, err.Error())
  		return
  	}
  	account := models.NewAccount(login.Phone)
  	if err := account.Load(); err != nil {
  		PubRsp(c, -2, err.Error())
  		return
  	}
  
  	if utils.Md5V(login.Password) != account.Password {
  		PubRsp(c, -3, "password error")
  		return
  	}
  
a0c46341   zhangqijia   fix: http login
62
  	var gs []*pb.ServiceInfo
252ca9a0   zhangqijia   解释目录结构
63
  	for k, v := range h.HttpServer.EtcdClient.GetByPrefix(conf.GlobalConf.GameConf.Name) {
a0c46341   zhangqijia   fix: http login
64
65
66
67
68
69
70
71
72
73
74
  		gs = append(gs, &pb.ServiceInfo{
  			Id:      k,
  			Name:    conf.GlobalConf.GameConf.Name,
  			Address: v,
  		})
  	}
  	rsp := &pb.LoginRsp{
  		Uid:         account.Uid,
  		GameService: gs,
  	}
  	PubRsp(c, 0, rsp)
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
75
  }