WeMessageSender.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using System.Collections.Generic;
  2. using Abp.Dependency;
  3. using IwbZero.Messages;
  4. using IwbZero.ToolCommon.LogHelpers;
  5. using WeEngine.Enum;
  6. namespace WeEngine.Message
  7. {
  8. public class WeMessageSender: IMessageSender, ISingletonDependency
  9. {
  10. public WeMessageSender(WeEngineMsgClientManager clientManager)
  11. {
  12. ClientManager = clientManager;
  13. //Listener = new MsgListener<WeMessage>();
  14. //if (!MsgListener<WeMessage>.IsDelegateRegister("Send"))
  15. //{
  16. // MsgListener<WeMessage>.SendMsg += SendWeMessage;
  17. //}
  18. }
  19. //private MsgListener<WeMessage> Listener { get; set; }
  20. private WeEngineMsgClientManager ClientManager { get; }
  21. public void SendMsg(MessageType msgType, string runningId, string targetClientId, string msg)
  22. {
  23. var message= new WeMessage()
  24. {
  25. Content = msg,
  26. Type = msgType,
  27. RunningId = runningId,
  28. TargetClientId = targetClientId,
  29. };
  30. SendWeMessage(message);
  31. //SendMsg(message);
  32. }
  33. public void SendMsg(WeMessage message)
  34. {
  35. SendWeMessage(message);
  36. //Listener.AddSendMsg(message);
  37. }
  38. public void ReceiveMsg(string msgId)
  39. {
  40. //Listener.AddReceiveMsg(msgId);
  41. }
  42. protected void SendWeMessage(WeMessage message)
  43. {
  44. typeof(WeMessageSender).LogDebug(
  45. $"---[发送消息]---> [{message.RunningId}] [{message.Type}] [{(message.Content.Length > 100 ? message.Content.Substring(0, 100) : message.Content)}]");
  46. if (message.Type != MessageType.InternalMessage)
  47. {
  48. //var urls = GetSubscriptionUrl(msg.MsgType);
  49. //if (urls != null && urls.Any())
  50. //{
  51. // foreach (var url in urls)
  52. // {
  53. // url.RequestPost(msg.Obj2String(),new Dictionary<string, string>()
  54. // {
  55. // ["MessageId"] = msg.Id,
  56. // ["CallBackUrl"]="",
  57. // });
  58. // }
  59. //}
  60. ClientManager.SendMessage(message);
  61. }
  62. else
  63. {
  64. }
  65. }
  66. /// <summary>
  67. /// 获取订阅消息的URL
  68. /// </summary>
  69. /// <returns></returns>
  70. public List<string> GetSubscriptionUrl(MessageType messageType)
  71. {
  72. var urls = new List<string>();
  73. return urls;
  74. }
  75. }
  76. }