pb modify

This commit is contained in:
Gordon 2022-03-17 10:41:34 +08:00
parent a0e3488af0
commit 2bb6061a44
2 changed files with 16 additions and 35 deletions

View File

@ -5,13 +5,11 @@ import (
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
"context"
"errors"
"github.com/jinzhu/copier"
"google.golang.org/grpc"
)
const (
MediaAddress = "ws://43.128.5.63:7880"
ApiKey = "APIGPW3gnFTzqHH"
ApiSecret = "23ztfSqsfQ8hKkHzHTl3Z4bvaxro0snjk5jwbp5p6Q3"
// Address gRPC服务地址
Address = "127.0.0.1:11300"
)
@ -19,36 +17,30 @@ const (
//var roomClient *lksdk.RoomServiceClient
type Media struct {
MediaAddress string
ApiKey string
ApiSecret string
}
func NewMedia() *Media {
return &Media{MediaAddress: MediaAddress,
ApiKey: ApiKey,
ApiSecret: ApiSecret}
}
func (m *Media) GetUrl() string {
return m.MediaAddress
return &Media{}
}
func (m *Media) GetJoinToken(room, identity string, operationID string, data *open_im_sdk.ParticipantMetaData) (string, error) {
func (m *Media) GetJoinToken(room, identity string, operationID string, data *open_im_sdk.ParticipantMetaData) (string, string, error) {
var newData pbRtc.ParticipantMetaData
copier.Copy(&newData, data)
conn, err := grpc.Dial(Address, grpc.WithInsecure())
if err != nil {
return "", err
return "", "", err
}
defer conn.Close()
c := pbRtc.NewRtcServiceClient(conn)
req := &pbRtc.GetJoinTokenReq{ApiKey: m.ApiKey, ApiSecret: m.ApiSecret, Room: room, OperationID: operationID, Identity: identity, MetaData: data}
req := &pbRtc.GetJoinTokenReq{Room: room, OperationID: operationID, Identity: identity, MetaData: &newData}
resp, err := c.GetJoinToken(context.Background(), req)
if err != nil {
return "", err
return "", "", err
}
if resp.CommonResp.ErrCode != 0 {
return "", errors.New(resp.CommonResp.ErrMsg)
return "", "", errors.New(resp.CommonResp.ErrMsg)
}
return resp.Jwt, nil
return resp.Jwt, resp.LiveURL, nil
//at := auth.NewAccessToken(m.ApiKey, m.ApiSecret)
//grant := &auth.VideoGrant{
// RoomJoin: true,

View File

@ -139,20 +139,14 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s
msg.Options = options
switch payload := s.Payload.(type) {
case *open_im_sdk.SignalReq_Invite:
//_, err := media.CreateRoom(payload.Invite.Invitation.RoomID)
//if err != nil {
// return false, 201, err.Error(), nil, nil
//
//}
token, err2 := media.GetJoinToken(payload.Invite.Invitation.RoomID, payload.Invite.Invitation.InviterUserID, operationID, payload.Invite.Participant)
token, liveURL, err2 := media.GetJoinToken(payload.Invite.Invitation.RoomID, payload.Invite.Invitation.InviterUserID, operationID, payload.Invite.Participant)
if err2 != nil {
return false, 202, err2.Error(), nil, nil
}
invite := open_im_sdk.SignalResp_Invite{&open_im_sdk.SignalInviteReply{
Token: token,
RoomID: payload.Invite.Invitation.RoomID,
LiveURL: media.GetUrl(),
LiveURL: liveURL,
}}
resp.Payload = &invite
msg.SenderPlatformID = payload.Invite.Invitation.PlatformID
@ -167,19 +161,14 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s
msg.ClientMsgID = utils.GetMsgID(payload.Invite.Invitation.InviterUserID)
return true, 0, "", &resp, &msg
case *open_im_sdk.SignalReq_InviteInGroup:
//_, err := media.CreateRoom(payload.InviteInGroup.Invitation.RoomID)
//if err != nil {
// return false, 201, err.Error(), nil, nil
//
//}
token, err2 := media.GetJoinToken(payload.InviteInGroup.Invitation.RoomID, payload.InviteInGroup.Invitation.InviterUserID, operationID, payload.InviteInGroup.Participant)
token, liveURL, err2 := media.GetJoinToken(payload.InviteInGroup.Invitation.RoomID, payload.InviteInGroup.Invitation.InviterUserID, operationID, payload.InviteInGroup.Participant)
if err2 != nil {
return false, 204, err2.Error(), nil, nil
}
inviteGroup := open_im_sdk.SignalResp_InviteInGroup{&open_im_sdk.SignalInviteInGroupReply{
RoomID: payload.InviteInGroup.Invitation.RoomID,
Token: token,
LiveURL: media.GetUrl(),
LiveURL: liveURL,
}}
resp.Payload = &inviteGroup
msg.SenderPlatformID = payload.InviteInGroup.Invitation.PlatformID
@ -214,13 +203,13 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq, operationID s
msg.ClientMsgID = utils.GetMsgID(payload.Cancel.OpUserID)
return true, 0, "", &resp, &msg
case *open_im_sdk.SignalReq_Accept:
token, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.OpUserID, operationID, payload.Accept.Participant)
token, liveURL, err2 := media.GetJoinToken(payload.Accept.Invitation.RoomID, payload.Accept.OpUserID, operationID, payload.Accept.Participant)
if err2 != nil {
return false, 207, err2.Error(), nil, nil
}
accept := open_im_sdk.SignalResp_Accept{&open_im_sdk.SignalAcceptReply{
Token: token,
LiveURL: media.GetUrl(),
LiveURL: liveURL,
RoomID: payload.Accept.Invitation.RoomID,
}}
resp.Payload = &accept