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) } }