using System.Collections.Generic; using System.Linq; using Abp.Dependency; using IwbZero.Messages; using IwbZero.ToolCommon; using IwbZero.ToolCommon.StringModel; using WeEngine.Enum; namespace WeEngine.Module.Message { public class WeMessageSender: IWeMessageSender, ISingletonDependency { public static WeMessageSender Instance = new WeMessageSender(); public WeMessageSender() { Listener = new MsgListener(); if (!MsgListener.IsDelegateRegister("Send")) { MsgListener.SendMsg += SendWeMessage; } } private MsgListener Listener { get; set; } public void SendMsg(string msg, MessageType msgType) { var message= new WeMessage() { MsgContent = msg, MsgType = msgType }; SendMsg(message); } public void SendMsg(WeMessage msg) { Listener.AddSendMsg(msg); } public void ReceiveMsg(string msgId) { Listener.AddReceiveMsg(msgId); } protected void SendWeMessage(WeMessage msg) { if (msg.MsgType != 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"]="", }); } } } else { } } /// /// 获取订阅消息的URL /// /// public List GetSubscriptionUrl(MessageType messageType) { var urls = new List(); return urls; } } }