Blame view

actions/RoleAction.go 1.19 KB
ee23102d   zhangqijia   支持mongo, grpc接服务器
1
2
3
4
5
  package actions
  
  import (
  	"context"
  	"errors"
ee23102d   zhangqijia   支持mongo, grpc接服务器
6
  	"google.golang.org/grpc/metadata"
563acaf7   zhangqijia   在拦截器中认证jwt
7
  	"google.golang.org/protobuf/types/known/emptypb"
f7f4beb5   zhangqijia   新增grpc平滑关闭,修复crea...
8
  	"pro2d/conf"
ee23102d   zhangqijia   支持mongo, grpc接服务器
9
10
11
  	"pro2d/models"
  	"pro2d/protos/pb"
  	"pro2d/utils"
ee23102d   zhangqijia   支持mongo, grpc接服务器
12
13
  )
  
563acaf7   zhangqijia   在拦截器中认证jwt
14
  func (s *GameServer) HeartBeatHandler(ctx context.Context, empty *emptypb.Empty) (*pb.HeartRsp, error) {
ee23102d   zhangqijia   支持mongo, grpc接服务器
15
16
  	utils.Sugar.Debugf("HeartBeatHandler被调用!!!")
  	//获取元数据信息
563acaf7   zhangqijia   在拦截器中认证jwt
17
  	_,ok := metadata.FromIncomingContext(ctx)
ee23102d   zhangqijia   支持mongo, grpc接服务器
18
19
20
  	if !ok {
  		return nil,errors.New("未传输token")
  	}
ee23102d   zhangqijia   支持mongo, grpc接服务器
21
  
563acaf7   zhangqijia   在拦截器中认证jwt
22
  	return &pb.HeartRsp{
ee23102d   zhangqijia   支持mongo, grpc接服务器
23
  		Code: 0,
ee23102d   zhangqijia   支持mongo, grpc接服务器
24
25
26
  	}, nil
  }
  
563acaf7   zhangqijia   在拦截器中认证jwt
27
  func (s *GameServer) CreateRoleHandler(ctx context.Context, in  *pb.LoginReq) (*pb.RoleRsp, error) {
1b1ad555   zhangqijia   tls测试代码
28
29
  	uid := ctx.Value("uid").(string)
  	ok, role := models.RoleExistByUid(uid)
ee23102d   zhangqijia   支持mongo, grpc接服务器
30
  	if !ok {
f7f4beb5   zhangqijia   新增grpc平滑关闭,修复crea...
31
  		role = models.NewRole(conf.SnowFlack.NextVal())
563acaf7   zhangqijia   在拦截器中认证jwt
32
  		role.Role.Device = in.Device
1b1ad555   zhangqijia   tls测试代码
33
  		role.Role.Uid = uid
ee23102d   zhangqijia   支持mongo, grpc接服务器
34
  		role.Create()
ee23102d   zhangqijia   支持mongo, grpc接服务器
35
36
  	}
  	return &pb.RoleRsp{
563acaf7   zhangqijia   在拦截器中认证jwt
37
  		Code: 0,
ee23102d   zhangqijia   支持mongo, grpc接服务器
38
39
40
41
  		Role: role.Role,
  	}, nil
  }
  
563acaf7   zhangqijia   在拦截器中认证jwt
42
  func (s *GameServer) LoginHandler(ctx context.Context, in *pb.LoginReq) (*pb.RoleRsp, error) {
1b1ad555   zhangqijia   tls测试代码
43
44
  	uid := ctx.Value("uid").(string)
  	ok, role := models.RoleExistByUid(uid)
ee23102d   zhangqijia   支持mongo, grpc接服务器
45
46
  	if !ok {
  		return &pb.RoleRsp{
563acaf7   zhangqijia   在拦截器中认证jwt
47
  			Code: 1,
ee23102d   zhangqijia   支持mongo, grpc接服务器
48
49
50
  		}, nil
  	}
  	return &pb.RoleRsp{
563acaf7   zhangqijia   在拦截器中认证jwt
51
  		Code: 0,
ee23102d   zhangqijia   支持mongo, grpc接服务器
52
  		Role: role.Role,
eb417b0b   zhangqijia   reactor mongo
53
  		Hero: models.GetHeros(role.Heros),
ee23102d   zhangqijia   支持mongo, grpc接服务器
54
55
  	}, nil
  }