package connect import ( "context" "fmt" "google.golang.org/grpc" "speech-nlu-parse/global" "speech-nlu-parse/pkg/logger" "speech-nlu-parse/pkg/proto/token" "time" ) const ( TokenSpot = "dmsdk" ) func TokenGrpc(requestId, mac, mid, vender string) (*token.TokenSearchResponseNetease, error) { // consul注册中心获取host port serviceInfo, err := global.ConsulObj.GetService(TokenSpot, "") if err != nil { return nil, err } conn, err := grpc.Dial(fmt.Sprintf("%s:%d", serviceInfo.GetAddress(), serviceInfo.GetPort()), grpc.WithInsecure(), grpc.WithNoProxy()) if err != nil { return nil, err } defer conn.Close() ctx, cancel := context.WithTimeout(context.Background(), time.Second*2) defer cancel() c := token.NewTokenSearchClient(conn) req := &token.TokenSearchRequestV2{ AppInfo: &token.AppInfo{RequestId: requestId}, DevInfo: &token.DevInfo{ Mac: mac, Mid: mid, Vender: vender, }, IsReBind: false, } resp, err := c.TokenSearchNetease(ctx, req) if err != nil { global.Logger.WithFields(logger.Fields{ "requestId": requestId, "dmsdk serverName": TokenSpot, "dmsdk request": req, }).Errorf("dmsdk error: %v", err) return nil, err } global.Logger.WithFields(logger.Fields{ "requestId": requestId, "dmsdk serverName": TokenSpot, "dmsdk request": req, "dmsdk response": resp, }).Info("dmsdk") return resp, nil }