Blame view

cmd/httpserver/AccountAction.go 1.4 KB
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
1
  package main
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
2
3
  
  import (
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
4
  	"github.com/gin-gonic/gin"
765431a4   zhangqijia   增加schema接口, 抽象 mo...
5
  	"pro2d/common"
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
6
  	"pro2d/models"
7f269318   zhangqijia   add pb.go; 添加关闭连接...
7
  	"pro2d/pb"
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
8
  	"pro2d/utils"
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
9
10
  )
  
62d5d847   zhangqijia   http服务只用写actionSt...
11
  type AccountAction struct {
0e5d52de   zhangqijia   reactor: 重构底层框架1.0
12
  	HttpServer *AccountServer
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
13
14
  }
  
62d5d847   zhangqijia   http服务只用写actionSt...
15
  func (h *AccountAction) Register(c *gin.Context) (int, interface{}){
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
16
17
  	var register pb.Register
  	if err := c.ShouldBindJSON(&register); err != nil {
62d5d847   zhangqijia   http服务只用写actionSt...
18
  		return -1, err.Error()
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
19
20
21
22
  	}
  
  	account := models.NewAccount(register.Phone)
  	if err := account.Load(); err == nil {
38dd96b4   zhangqijia   定时器+网络数据 peer 在一条...
23
  		return -2 , "account exists: " + register.Phone
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
24
25
  	}
  
765431a4   zhangqijia   增加schema接口, 抽象 mo...
26
  	account.Uid = common.SnowFlack.NextValStr()
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
27
  	account.Password = utils.Md5V(register.Password)
33ea26ab   zhangqijia   使用schema封装mongo
28
  	if  err := account.Create(); err != nil{
62d5d847   zhangqijia   http服务只用写actionSt...
29
  		return -3, "account register err: " + err.Error()
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
30
31
  	}
  	account.Password = register.Password
62d5d847   zhangqijia   http服务只用写actionSt...
32
  	return 0, account.Account
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
33
34
  }
  
62d5d847   zhangqijia   http服务只用写actionSt...
35
  func (h *AccountAction) Login(c *gin.Context) (int,interface{}) {
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
36
37
  	var login pb.Account
  	if err := c.ShouldBindJSON(&login); err != nil {
62d5d847   zhangqijia   http服务只用写actionSt...
38
  		return -1, err.Error()
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
39
40
41
  	}
  	account := models.NewAccount(login.Phone)
  	if err := account.Load(); err != nil {
62d5d847   zhangqijia   http服务只用写actionSt...
42
  		return -2, err.Error()
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
43
44
45
  	}
  
  	if utils.Md5V(login.Password) != account.Password {
62d5d847   zhangqijia   http服务只用写actionSt...
46
  		return -3, "password error"
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
47
48
  	}
  
a0c46341   zhangqijia   fix: http login
49
  	var gs []*pb.ServiceInfo
765431a4   zhangqijia   增加schema接口, 抽象 mo...
50
  	for k, v := range h.HttpServer.EtcdClient.GetByPrefix(common.GlobalConf.GameConf.Name) {
a0c46341   zhangqijia   fix: http login
51
52
  		gs = append(gs, &pb.ServiceInfo{
  			Id:      k,
765431a4   zhangqijia   增加schema接口, 抽象 mo...
53
  			Name:    common.GlobalConf.GameConf.Name,
a0c46341   zhangqijia   fix: http login
54
55
56
57
58
59
60
  			Address: v,
  		})
  	}
  	rsp := &pb.LoginRsp{
  		Uid:         account.Uid,
  		GameService: gs,
  	}
62d5d847   zhangqijia   http服务只用写actionSt...
61
  	return 0, rsp
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
62
  }