package cmd import ( "context" "fmt" "code.widuu.com/widuu/micro_service/demo1/proto" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" "google.golang.org/grpc/status" "google.golang.org/protobuf/types/known/anypb" "google.golang.org/protobuf/types/known/emptypb" ) func RunClient(port string) { credential := insecure.NewCredentials() conn, err := grpc.NewClient(port, grpc.WithTransportCredentials(credential)) if err != nil { panic(err) } defer conn.Close() client := proto.NewUserClient(conn) rsp, err := client.Register(context.Background(), &proto.RegisterRequest{ Username: "test", Password: "123456", Email: "test@widuu.com", Mobile: "13800138000", Hobbies: []string{"football", "basketball"}, Sex: proto.Sex_Male, }) if err != nil { fmt.Println(status.FromError(err)) return } if rsp.GetCode() != 1 { fmt.Println("Register Fail", rsp.GetMsg(), rsp.GetMessage()) return } fmt.Println(rsp.GetMsg(), rsp.GetMessage(), rsp.GetInfo()) // 登录 other, _ := anypb.New(&proto.Code{ Code: "0192E2", }) rsp, err = client.Login(context.Background(), &proto.LoginRequest{ Username: "test", Password: "123456", Other: other, }) if err != nil { fmt.Println(status.FromError(err)) return } if rsp.GetCode() != 1 { fmt.Println(rsp.GetMsg(), rsp.GetMessage()) return } fmt.Println("Login Success, Token:", rsp.GetToken(), rsp.GetInfo()) // 获取信息 rsp, err = client.GetUserInfo(context.Background(), &emptypb.Empty{}) if err != nil { fmt.Println(status.FromError(err)) return } fmt.Println(rsp.GetMsg(), rsp.GetToken(), rsp.GetInfo()["username"]) }