using System.Collections.Generic; using Abp.Dependency; using IwbZero.Messages; using IwbZero.ToolCommon.LogHelpers; using WeEngine.Enum; namespace WeEngine.Message { public class WeMessageSender: IMessageSender, ISingletonDependency { public WeMessageSender(WeEngineMsgClientManager clientManager) { ClientManager = clientManager; //Listener = new MsgListener(); //if (!MsgListener.IsDelegateRegister("Send")) //{ // MsgListener.SendMsg += SendWeMessage; //} } //private MsgListener Listener { get; set; } private WeEngineMsgClientManager ClientManager { get; } public void SendMsg(MessageType msgType, string runningId, string targetClientId, string msg) { var message= new WeMessage() { Content = msg, Type = msgType, RunningId = runningId, TargetClientId = targetClientId, }; SendWeMessage(message); //SendMsg(message); } public void SendMsg(WeMessage message) { SendWeMessage(message); //Listener.AddSendMsg(message); } public void ReceiveMsg(string msgId) { //Listener.AddReceiveMsg(msgId); } protected void SendWeMessage(WeMessage message) { typeof(WeMessageSender).LogDebug( $"---[发送消息]---> [{message.RunningId}] [{message.Type}] [{(message.Content.Length > 100 ? message.Content.Substring(0, 100) : message.Content)}]"); if (message.Type != MessageType.InternalMessage) { //var urls = GetSubscriptionUrl(msg.MsgType); //if (urls != null && urls.Any()) //{ // foreach (var url in urls) // { // url.RequestPost(msg.Obj2String(),new Dictionary() // { // ["MessageId"] = msg.Id, // ["CallBackUrl"]="", // }); // } //} ClientManager.SendMessage(message); } else { } } /// /// 获取订阅消息的URL /// /// public List GetSubscriptionUrl(MessageType messageType) { var urls = new List(); return urls; } } }