mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-28 04:48:44 +08:00
tag and set private tips
This commit is contained in:
parent
2b03b57b5c
commit
f4921d1317
@ -588,5 +588,6 @@ demo:
|
|||||||
smtpAddr: "smtp.qq.com"
|
smtpAddr: "smtp.qq.com"
|
||||||
smtpPort: 25 #需开放此端口 出口方向
|
smtpPort: 25 #需开放此端口 出口方向
|
||||||
|
|
||||||
|
rtc:
|
||||||
|
port: 11300
|
||||||
|
address: 127.0.0.1
|
@ -6,13 +6,17 @@ import (
|
|||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/grpc-etcdv3/getcdv3"
|
"Open_IM/pkg/grpc-etcdv3/getcdv3"
|
||||||
pbChat "Open_IM/pkg/proto/chat"
|
pbChat "Open_IM/pkg/proto/chat"
|
||||||
|
pbRtc "Open_IM/pkg/proto/rtc"
|
||||||
sdk_ws "Open_IM/pkg/proto/sdk_ws"
|
sdk_ws "Open_IM/pkg/proto/sdk_ws"
|
||||||
|
"Open_IM/pkg/utils"
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
"encoding/gob"
|
"encoding/gob"
|
||||||
"github.com/golang/protobuf/proto"
|
"github.com/golang/protobuf/proto"
|
||||||
"github.com/gorilla/websocket"
|
"github.com/gorilla/websocket"
|
||||||
|
"google.golang.org/grpc"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -200,8 +204,28 @@ func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) {
|
|||||||
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)
|
||||||
if isPass {
|
if isPass {
|
||||||
isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq), m.OperationID)
|
signalResp := pbRtc.SignalResp{}
|
||||||
if isPass2 {
|
//isPass2, errCode2, errMsg2, signalResp, msgData := ws.signalMessageAssemble(pData.(*sdk_ws.SignalReq), m.OperationID)
|
||||||
|
connGrpc, err := grpc.Dial(config.Config.Rtc.Address+":"+strconv.Itoa(config.Config.Rtc.Port), grpc.WithInsecure())
|
||||||
|
if err != nil {
|
||||||
|
log.NewError(m.OperationID, utils.GetSelfFuncName(), "grpc.Dial failed", err.Error())
|
||||||
|
ws.sendSignalMsgResp(conn, 204, "create grpc failed"+err.Error(), m, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
rtcClient := pbRtc.NewRtcServiceClient(connGrpc)
|
||||||
|
req := &pbRtc.SignalMessageAssembleReq{
|
||||||
|
SignalReq: pData.(*pbRtc.SignalReq),
|
||||||
|
}
|
||||||
|
respPb, err := rtcClient.SignalMessageAssemble(context.Background(), req)
|
||||||
|
if err != nil {
|
||||||
|
log.NewError(m.OperationID, utils.GetSelfFuncName(), "SignalMessageAssemble", err.Error())
|
||||||
|
ws.sendSignalMsgResp(conn, 204, "grpc SignalMessageAssemble failed: "+err.Error(), m, &signalResp)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
signalResp.Payload = respPb.SignalResp.Payload
|
||||||
|
msgData := &sdk_ws.MsgData{}
|
||||||
|
utils.CopyStructFields(msgData, respPb.MsgData)
|
||||||
|
if respPb.IsPass {
|
||||||
pbData := pbChat.SendMsgReq{
|
pbData := pbChat.SendMsgReq{
|
||||||
Token: m.Token,
|
Token: m.Token,
|
||||||
OperationID: m.OperationID,
|
OperationID: m.OperationID,
|
||||||
@ -212,24 +236,24 @@ func (ws *WServer) sendSignalMsgReq(conn *UserConn, m *Req) {
|
|||||||
client := pbChat.NewChatClient(etcdConn)
|
client := pbChat.NewChatClient(etcdConn)
|
||||||
reply, err := client.SendMsg(context.Background(), &pbData)
|
reply, err := client.SendMsg(context.Background(), &pbData)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.NewError(pbData.OperationID, "rpc sendMsg err", err.Error())
|
log.NewError(pbData.OperationID, utils.GetSelfFuncName(), "rpc sendMsg err", err.Error())
|
||||||
nReply.ErrCode = 200
|
nReply.ErrCode = 200
|
||||||
nReply.ErrMsg = err.Error()
|
nReply.ErrMsg = err.Error()
|
||||||
ws.sendSignalMsgResp(conn, 200, err.Error(), m, signalResp)
|
ws.sendSignalMsgResp(conn, 200, err.Error(), m, &signalResp)
|
||||||
} else {
|
} else {
|
||||||
log.NewInfo(pbData.OperationID, "rpc call success to sendMsgReq", reply.String())
|
log.NewInfo(pbData.OperationID, "rpc call success to sendMsgReq", reply.String())
|
||||||
ws.sendSignalMsgResp(conn, 0, "", m, signalResp)
|
ws.sendSignalMsgResp(conn, 0, "", m, &signalResp)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
log.NewError(m.OperationID, isPass2, errCode2, errMsg2)
|
log.NewError(m.OperationID, utils.GetSelfFuncName(), respPb.IsPass, respPb.CommonResp.ErrCode, respPb.CommonResp.ErrMsg)
|
||||||
ws.sendSignalMsgResp(conn, errCode2, errMsg2, m, signalResp)
|
ws.sendSignalMsgResp(conn, respPb.CommonResp.ErrCode, respPb.CommonResp.ErrMsg, m, &signalResp)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ws.sendSignalMsgResp(conn, errCode, errMsg, m, nil)
|
ws.sendSignalMsgResp(conn, errCode, errMsg, m, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
func (ws *WServer) sendSignalMsgResp(conn *UserConn, errCode int32, errMsg string, m *Req, pb *sdk_ws.SignalResp) {
|
func (ws *WServer) sendSignalMsgResp(conn *UserConn, errCode int32, errMsg string, m *Req, pb *pbRtc.SignalResp) {
|
||||||
// := make(map[string]interface{})
|
// := make(map[string]interface{})
|
||||||
|
|
||||||
b, _ := proto.Marshal(pb)
|
b, _ := proto.Marshal(pb)
|
||||||
|
12
internal/push/getui/push.go
Normal file
12
internal/push/getui/push.go
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
package getui
|
||||||
|
|
||||||
|
type Getui struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (g *Getui) Push(userIDList []string, alert, detailContent, platform string) (resp string, err error) {
|
||||||
|
return "", nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (g *Getui) Auth(apiKey, secretKey string, timeStamp int64) (token string, err error) {
|
||||||
|
return "", nil
|
||||||
|
}
|
@ -13,6 +13,9 @@ import (
|
|||||||
type JPushResp struct {
|
type JPushResp struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type JPush struct {
|
||||||
|
}
|
||||||
|
|
||||||
func JGAccountListPush(accounts []string, alert, detailContent, platform string) ([]byte, error) {
|
func JGAccountListPush(accounts []string, alert, detailContent, platform string) ([]byte, error) {
|
||||||
|
|
||||||
var pf requestBody.Platform
|
var pf requestBody.Platform
|
||||||
|
6
internal/push/push_interface.go
Normal file
6
internal/push/push_interface.go
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
package push
|
||||||
|
|
||||||
|
type offlinePusher interface {
|
||||||
|
auth(apiKey, secretKey string, timeStamp int64) (token string, err error)
|
||||||
|
push(userIDList []string, alert, detailContent, platform string) (resp string, err error)
|
||||||
|
}
|
@ -377,6 +377,10 @@ type config struct {
|
|||||||
SmtpPort int `yaml:"smtpPort"`
|
SmtpPort int `yaml:"smtpPort"`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Rtc struct {
|
||||||
|
Port int `yaml:"rtcPort"`
|
||||||
|
Address string `yaml:"address"`
|
||||||
|
} `yaml:"rtc"`
|
||||||
}
|
}
|
||||||
type PConversation struct {
|
type PConversation struct {
|
||||||
ReliabilityLevel int `yaml:"reliabilityLevel"`
|
ReliabilityLevel int `yaml:"reliabilityLevel"`
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,12 +1,34 @@
|
|||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
option go_package = "./rtc;rtc";
|
option go_package = "./rtc;rtc";
|
||||||
package rtc;
|
package proto;
|
||||||
|
|
||||||
message CommonResp{
|
message CommonResp{
|
||||||
int32 errCode = 1;
|
int32 errCode = 1;
|
||||||
string errMsg = 2;
|
string errMsg = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message MsgData {
|
||||||
|
string sendID = 1;
|
||||||
|
string recvID = 2;
|
||||||
|
string groupID = 3;
|
||||||
|
string clientMsgID = 4;
|
||||||
|
string serverMsgID = 5;
|
||||||
|
int32 senderPlatformID = 6;
|
||||||
|
string senderNickname = 7;
|
||||||
|
string senderFaceURL = 8;
|
||||||
|
int32 sessionType = 9;
|
||||||
|
int32 msgFrom = 10;
|
||||||
|
int32 contentType = 11;
|
||||||
|
bytes content = 12;
|
||||||
|
uint32 seq = 14;
|
||||||
|
int64 sendTime = 15;
|
||||||
|
int64 createTime = 16;
|
||||||
|
int32 status = 17;
|
||||||
|
map<string, bool> options = 18;
|
||||||
|
OfflinePushInfo offlinePushInfo = 19;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
message GroupInfo{
|
message GroupInfo{
|
||||||
string groupID = 1;
|
string groupID = 1;
|
||||||
string groupName = 2;
|
string groupName = 2;
|
||||||
@ -62,8 +84,136 @@ message GetJoinTokenResp{
|
|||||||
string liveURL = 3;
|
string liveURL = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
service RtcService {
|
message OfflinePushInfo{
|
||||||
rpc GetJoinToken(GetJoinTokenReq) returns(GetJoinTokenResp);
|
string title = 1;
|
||||||
|
string desc = 2;
|
||||||
|
string ex = 3;
|
||||||
|
string iOSPushSound = 4;
|
||||||
|
bool iOSBadgeCount = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalReq {
|
||||||
|
oneof payload {
|
||||||
|
SignalInviteReq invite = 1;
|
||||||
|
SignalInviteInGroupReq inviteInGroup= 2;
|
||||||
|
SignalCancelReq cancel = 3;
|
||||||
|
SignalAcceptReq accept = 4;
|
||||||
|
SignalHungUpReq hungUp = 5;
|
||||||
|
SignalRejectReq reject = 6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalResp {
|
||||||
|
oneof payload {
|
||||||
|
SignalInviteReply invite = 1;
|
||||||
|
SignalInviteInGroupReply inviteInGroup= 2;
|
||||||
|
SignalCancelReply cancel = 3;
|
||||||
|
SignalAcceptReply accept = 4;
|
||||||
|
SignalHungUpReply hungUp = 5;
|
||||||
|
SignalRejectReply reject = 6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message InvitationInfo {
|
||||||
|
string inviterUserID = 1;
|
||||||
|
repeated string inviteeUserIDList = 2;
|
||||||
|
string customData = 3;
|
||||||
|
string groupID = 4;
|
||||||
|
string roomID = 5;
|
||||||
|
int32 timeout = 6;
|
||||||
|
string mediaType = 7;
|
||||||
|
int32 platformID = 8;
|
||||||
|
int32 sessionType = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
message SignalInviteReq {
|
||||||
|
string opUserID = 1;
|
||||||
|
InvitationInfo invitation = 2;
|
||||||
|
OfflinePushInfo offlinePushInfo = 3;
|
||||||
|
ParticipantMetaData participant = 4;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalInviteReply {
|
||||||
|
string token = 1;
|
||||||
|
string roomID = 2;
|
||||||
|
string liveURL = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalInviteInGroupReq {
|
||||||
|
string opUserID = 1;
|
||||||
|
InvitationInfo invitation = 2;
|
||||||
|
OfflinePushInfo offlinePushInfo = 3;
|
||||||
|
ParticipantMetaData participant = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalInviteInGroupReply {
|
||||||
|
string token = 1;
|
||||||
|
string roomID = 2;
|
||||||
|
string liveURL = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalCancelReq {
|
||||||
|
string opUserID = 1;
|
||||||
|
InvitationInfo invitation = 2;
|
||||||
|
OfflinePushInfo offlinePushInfo = 3;
|
||||||
|
ParticipantMetaData participant = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalCancelReply {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalAcceptReq {
|
||||||
|
string opUserID = 1;
|
||||||
|
InvitationInfo invitation = 2;
|
||||||
|
OfflinePushInfo offlinePushInfo = 3;
|
||||||
|
ParticipantMetaData participant = 4;
|
||||||
|
int32 opUserPlatformID = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalAcceptReply {
|
||||||
|
string token = 1;
|
||||||
|
string roomID = 2;
|
||||||
|
string liveURL = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalHungUpReq {
|
||||||
|
string opUserID = 1;
|
||||||
|
InvitationInfo invitation = 2;
|
||||||
|
OfflinePushInfo offlinePushInfo = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalHungUpReply {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
message SignalRejectReq {
|
||||||
|
string opUserID = 1;
|
||||||
|
InvitationInfo invitation = 2;
|
||||||
|
OfflinePushInfo offlinePushInfo = 3;
|
||||||
|
ParticipantMetaData participant = 4;
|
||||||
|
int32 opUserPlatformID = 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalRejectReply {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalMessageAssembleReq {
|
||||||
|
SignalReq signalReq = 1;
|
||||||
|
string operationID = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message SignalMessageAssembleResp {
|
||||||
|
CommonResp commonResp = 1;
|
||||||
|
bool isPass = 2;
|
||||||
|
SignalResp signalResp = 3;
|
||||||
|
MsgData msgData = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
service RtcService {
|
||||||
|
rpc SignalMessageAssemble(SignalMessageAssembleReq) returns(SignalMessageAssembleResp);
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user