client.go
2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package main
import (
"context"
"fmt"
"google.golang.org/grpc"
_ "pro2d/conf"
"pro2d/protos/pb"
"pro2d/utils"
)
func Register(c pb.AccountClient, phone, password string) error {
r, err := c.RegisterHandler(context.Background(), &pb.Register{
Phone: "17683852936",
Password: "123456",
Code: 0,
})
if err != nil {
return err
}
if r.Code != 0 {
return fmt.Errorf("%s", r.Msg)
}
utils.Sugar.Debug("register success")
return nil
}
func Login(loginUri, token string) {
gameConn, err := grpc.Dial(loginUri, grpc.WithInsecure() )
if err != nil {
utils.Sugar.Errorf("game conn err: %v", err)
return
}
defer gameConn.Close()
client:= pb.NewGameClient(gameConn)
var role *pb.Role
loginRsp, err := client.LoginHandler(context.Background(), &pb.Token{
Token: token,
})
if err != nil {
utils.Sugar.Errorf("login error: %v", err)
return
}
role = loginRsp.Role
if loginRsp.Rsp.Code != 0 {
utils.Sugar.Debugf("login rsp: %v", loginRsp.Rsp.Msg)
createRole, err := client.CreateRoleHandler(context.Background(), &pb.Token{Token: token})
if err != nil {
utils.Sugar.Errorf("create role err: %v", err)
return
}
utils.Sugar.Debug("create role rsp: ", createRole.Rsp.Code, createRole.Rsp.Msg)
role = createRole.Role
}
utils.Sugar.Debugf("login successful role: %v", role)
}
func main() {
conn, err := grpc.Dial("localhost:8848", grpc.WithInsecure())
if err != nil {
utils.Sugar.Errorf("conn err: %v", err)
return
}
defer conn.Close()
c := pb.NewAccountClient(conn)
//err = Register(c,"17683852936", "123456")
//if err != nil {
// utils.Sugar.Errorf("register err: %v", err)
// return
//}
rsp, err := c.CreateTokenHandler(context.Background(), &pb.AccountInfo{
Phone: "17683852936",
Password: "123456",
})
if err != nil {
utils.Sugar.Errorf("createtoken err: %v", err)
return
}
if rsp.Rsp.Code != 0 {
utils.Sugar.Errorf("createtoken err: %v", rsp.Rsp.Msg)
return
}
if len(rsp.GameService) >0 {
Login(rsp.GameService[0].Address, rsp.Token)
}
}