From 0f8bcb94343b53f2f440941115f804cad49656bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Sun, 19 Jun 2022 11:36:32 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E6=96=B0=E5=A2=9E=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E7=94=A8=E6=88=B7=E8=81=8A=E5=A4=A9=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Admin.WebApi/Hubs/MessageHub.cs | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/ZR.Admin.WebApi/Hubs/MessageHub.cs b/ZR.Admin.WebApi/Hubs/MessageHub.cs index 5695418..b48ff74 100644 --- a/ZR.Admin.WebApi/Hubs/MessageHub.cs +++ b/ZR.Admin.WebApi/Hubs/MessageHub.cs @@ -17,7 +17,7 @@ namespace ZR.Admin.WebApi.Hubs private static readonly List clientUsers = new(); private readonly NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); private readonly ISysNoticeService SysNoticeService; - + public MessageHub(ISysNoticeService noticeService) { SysNoticeService = noticeService; @@ -41,7 +41,7 @@ namespace ZR.Admin.WebApi.Hubs var name = Context.User.Identity.Name; var ip = HttpContextExtension.GetClientUserIp(App.HttpContext); var ip_info = IpTool.Search(ip); - + LoginUser loginUser = JwtUtil.GetLoginUser(App.HttpContext); var user = clientUsers.Any(u => u.ConnnectionId == Context.ConnectionId); //判断用户是否存在,否则添加集合 @@ -56,7 +56,7 @@ namespace ZR.Admin.WebApi.Hubs //Clients.All.SendAsync("welcome", $"欢迎您:{name},当前时间:{DateTime.Now}"); Clients.All.SendAsync(HubsConstant.MoreNotice, SendNotice()); } - + Clients.All.SendAsync(HubsConstant.OnlineNum, clientUsers.Count); Clients.All.SendAsync(HubsConstant.OnlineUser, clientUsers); return base.OnConnectedAsync(); @@ -81,5 +81,25 @@ namespace ZR.Admin.WebApi.Hubs } #endregion + + /// + /// 注册信息 + /// + /// + /// + /// + /// + [HubMethodName("SendMessage")] + public async Task SendMessage(string connectId, string userName, string message) + { + Console.WriteLine($"{connectId},message={message}"); + bool isDemoMode = AppSettings.GetAppConfig("DemoMode", true); + if (isDemoMode) + { + await Clients.Caller.SendAsync("receiveChat", new { userName, message = "当前环境为演示环境,消息不会发送给对方" }); + return; + } + await Clients.Client(connectId).SendAsync("receiveChat", new { userName, message }); + } } }