mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-23 18:00:32 +08:00
add Signal message
This commit is contained in:
parent
433fef9992
commit
9659638f0c
@ -196,12 +196,10 @@ func (ws *WServer) sendMsgResp(conn *UserConn, m *Req, pb *pbChat.SendMsgResp) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) {
|
func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) {
|
||||||
sendMsgCount++
|
|
||||||
log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq start", m.MsgIncr, m.ReqIdentifier, m.SendID)
|
log.NewInfo(m.OperationID, "Ws call success to sendSignalMsgReq start", m.MsgIncr, m.ReqIdentifier, m.SendID)
|
||||||
nReply := new(pbChat.SendMsgResp)
|
nReply := new(pbChat.SendMsgResp)
|
||||||
isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WSSendSignalMsg)
|
isPass, errCode, errMsg, pData := ws.argsValidate(m, constant.WSSendSignalMsg)
|
||||||
isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq))
|
isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq))
|
||||||
|
|
||||||
if isPass && isPass2 {
|
if isPass && isPass2 {
|
||||||
pbData := pbChat.SendMsgReq{
|
pbData := pbChat.SendMsgReq{
|
||||||
Token: m.Token,
|
Token: m.Token,
|
||||||
@ -224,6 +222,7 @@ func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
if isPass {
|
if isPass {
|
||||||
|
log.NewError(m.OperationID, isPass2, errCode2, errMsg2, *signalResp, *msgData)
|
||||||
ws.sendSignalMsgResp(conn, errCode2, errMsg2, m, signalResp)
|
ws.sendSignalMsgResp(conn, errCode2, errMsg2, m, signalResp)
|
||||||
} else {
|
} else {
|
||||||
ws.sendSignalMsgResp(conn, errCode, errMsg, m, signalResp)
|
ws.sendSignalMsgResp(conn, errCode, errMsg, m, signalResp)
|
||||||
|
@ -193,45 +193,71 @@ func (ws *WServer) signalMessageAssemble(s *open_im_sdk.SignalReq) (isPass bool,
|
|||||||
|
|
||||||
return true, 0, "", &resp, &msg
|
return true, 0, "", &resp, &msg
|
||||||
case *open_im_sdk.SignalReq_Cancel:
|
case *open_im_sdk.SignalReq_Cancel:
|
||||||
// cancel:=open_im_sdk.SignalResp_Cancel{&open_im_sdk.SignalCancelReply{
|
cancel := open_im_sdk.SignalResp_Cancel{&open_im_sdk.SignalCancelReply{}}
|
||||||
// }}
|
resp.Payload = &cancel
|
||||||
// resp.Payload = &cancel
|
msg.OfflinePushInfo = payload.Cancel.Invitation.OfflinePushInfo
|
||||||
// msg.OfflinePushInfo = payload.Cancel.Invitation.OfflinePushInfo
|
msg.SendID = payload.Cancel.Invitation.Invitation.InviterUserID
|
||||||
// msg.SendID = payload.Cancel.Invitation.Invitation.InviterUserID
|
msg.SenderPlatformID = payload.Cancel.Invitation.Invitation.PlatformID
|
||||||
// msg.SessionType = payload.Cancel.Invitation.Invitation.SessionType
|
msg.SessionType = payload.Cancel.Invitation.Invitation.SessionType
|
||||||
// if len(payload.Cancel.Invitation.Invitation.InviteeUserIDList) > 0 {
|
if len(payload.Cancel.Invitation.Invitation.InviteeUserIDList) > 0 {
|
||||||
// switch payload.Cancel.Invitation.Invitation.SessionType {
|
switch payload.Cancel.Invitation.Invitation.SessionType {
|
||||||
// case constant.SingleChatType:
|
case constant.SingleChatType:
|
||||||
// msg.RecvID = payload.Cancel.Invitation.Invitation.InviteeUserIDList[0]
|
msg.RecvID = payload.Cancel.Invitation.Invitation.InviteeUserIDList[0]
|
||||||
// case constant.GroupChatType:
|
case constant.GroupChatType:
|
||||||
// msg.GroupID = payload.Cancel.Invitation.Invitation.GroupID
|
msg.GroupID = payload.Cancel.Invitation.Invitation.GroupID
|
||||||
// }
|
}
|
||||||
// }else {
|
} else {
|
||||||
// return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil
|
return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil
|
||||||
// }
|
}
|
||||||
// msg.ClientMsgID = utils.GetMsgID(payload.Cancel.Invitation.Invitation.InviterUserID)
|
msg.ClientMsgID = utils.GetMsgID(payload.Cancel.InviterUserID)
|
||||||
// return true, 0, "", &resp, &msg
|
return true, 0, "", &resp, &msg
|
||||||
//case *open_im_sdk.SignalReq_Accept:
|
case *open_im_sdk.SignalReq_Accept:
|
||||||
// cancel:=open_im_sdk.SignalResp_Accept{&open_im_sdk.SignalCancelReply{
|
token, err2 := media.GetJoinToken(payload.Accept.Invitation.Invitation.RoomID, payload.Accept.InviteeUserID)
|
||||||
// }}
|
if err2 != nil {
|
||||||
// resp.Payload = &cancel
|
return false, 201, err2.Error(), nil, nil
|
||||||
// msg.OfflinePushInfo = payload.Cancel.Invitation.OfflinePushInfo
|
}
|
||||||
// msg.SendID = payload.Cancel.Invitation.Invitation.InviterUserID
|
cancel := open_im_sdk.SignalResp_Accept{&open_im_sdk.SignalAcceptReply{
|
||||||
// msg.SessionType = payload.Cancel.Invitation.Invitation.SessionType
|
Token: token,
|
||||||
// if len(payload.Cancel.Invitation.Invitation.InviteeUserIDList) > 0 {
|
LiveURL: media.GetUrl(),
|
||||||
// switch payload.Cancel.Invitation.Invitation.SessionType {
|
RoomID: payload.Accept.Invitation.Invitation.RoomID,
|
||||||
// case constant.SingleChatType:
|
}}
|
||||||
// msg.RecvID = payload.Cancel.Invitation.Invitation.InviteeUserIDList[0]
|
resp.Payload = &cancel
|
||||||
// case constant.GroupChatType:
|
msg.OfflinePushInfo = payload.Accept.Invitation.OfflinePushInfo
|
||||||
// msg.GroupID = payload.Cancel.Invitation.Invitation.GroupID
|
msg.SendID = payload.Accept.InviteeUserID
|
||||||
// }
|
msg.SenderPlatformID = payload.Accept.Invitation.Invitation.PlatformID
|
||||||
// }else {
|
msg.SessionType = payload.Accept.Invitation.Invitation.SessionType
|
||||||
// return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil
|
if len(payload.Accept.Invitation.Invitation.InviteeUserIDList) > 0 {
|
||||||
// }
|
switch payload.Accept.Invitation.Invitation.SessionType {
|
||||||
// msg.ClientMsgID = utils.GetMsgID(payload.Cancel.Invitation.Invitation.InviterUserID)
|
case constant.SingleChatType:
|
||||||
// return true, 0, "", &resp, &msg
|
msg.RecvID = payload.Accept.Invitation.Invitation.InviterUserID
|
||||||
|
case constant.GroupChatType:
|
||||||
|
msg.GroupID = payload.Accept.Invitation.Invitation.GroupID
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil
|
||||||
|
}
|
||||||
|
msg.ClientMsgID = utils.GetMsgID(payload.Accept.InviteeUserID)
|
||||||
|
return true, 0, "", &resp, &msg
|
||||||
case *open_im_sdk.SignalReq_HungUp:
|
case *open_im_sdk.SignalReq_HungUp:
|
||||||
case *open_im_sdk.SignalReq_Reject:
|
case *open_im_sdk.SignalReq_Reject:
|
||||||
|
cancel := open_im_sdk.SignalResp_Reject{&open_im_sdk.SignalRejectReply{}}
|
||||||
|
resp.Payload = &cancel
|
||||||
|
msg.OfflinePushInfo = payload.Reject.Invitation.OfflinePushInfo
|
||||||
|
msg.SendID = payload.Reject.InviteeUserID
|
||||||
|
msg.SenderPlatformID = payload.Reject.Invitation.Invitation.PlatformID
|
||||||
|
msg.SessionType = payload.Reject.Invitation.Invitation.SessionType
|
||||||
|
if len(payload.Reject.Invitation.Invitation.InviteeUserIDList) > 0 {
|
||||||
|
switch payload.Reject.Invitation.Invitation.SessionType {
|
||||||
|
case constant.SingleChatType:
|
||||||
|
msg.RecvID = payload.Reject.Invitation.Invitation.InviterUserID
|
||||||
|
case constant.GroupChatType:
|
||||||
|
msg.GroupID = payload.Reject.Invitation.Invitation.GroupID
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil
|
||||||
|
}
|
||||||
|
msg.ClientMsgID = utils.GetMsgID(payload.Reject.InviteeUserID)
|
||||||
|
return true, 0, "", &resp, &msg
|
||||||
}
|
}
|
||||||
return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil
|
return false, 201, errors.New("InviteeUserIDList is null").Error(), nil, nil
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user