From 505dd4229406176e23c96168e31f00ecced93ddb Mon Sep 17 00:00:00 2001 From: youngq Date: Tue, 25 Feb 2025 16:42:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=85=B1=E4=BA=AB=E4=BA=BA?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E5=85=B1=E4=BA=AB=E5=B1=8F=E5=B9=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Frontend/RoomController.cs | 19 +++++++++++++++++++ WGShare.API/Hubs/IMessageClient.cs | 6 ++++++ 2 files changed, 25 insertions(+) diff --git a/WGShare.API/Controllers/Frontend/RoomController.cs b/WGShare.API/Controllers/Frontend/RoomController.cs index d540e62..491c4ae 100644 --- a/WGShare.API/Controllers/Frontend/RoomController.cs +++ b/WGShare.API/Controllers/Frontend/RoomController.cs @@ -681,6 +681,25 @@ namespace WGShare.API.Controllers.Frontend await _hubContext.Clients.Group(roomNum).ShowUser(UId, UserName, string.Empty, string.Empty); } + /// + /// 共享人取消共享屏幕 + /// + /// + [HttpPost("stop-shared-screen")] + public async Task StopedSharedScreen([FromQuery] string roomNum) + { + if (RedisHelper.Instance.HGet(RedisKeyConstant.SessionManage.GetChannelShowUserKey(TenantId), roomNum) != ScreenShareId) + { + // 不是共享屏幕的人,不做处理 + return; + } + + // 设置新的共享屏幕 + RedisHelper.Instance.HSet(RedisKeyConstant.SessionManage.GetChannelShowUserKey(TenantId), roomNum, UId); + + await _hubContext.Clients.Group(roomNum).StopedSharedScreen(ScreenShareId); + } + #region 文件分享 /// /// 分享上传文件 diff --git a/WGShare.API/Hubs/IMessageClient.cs b/WGShare.API/Hubs/IMessageClient.cs index 3095936..8aa358d 100644 --- a/WGShare.API/Hubs/IMessageClient.cs +++ b/WGShare.API/Hubs/IMessageClient.cs @@ -61,6 +61,12 @@ namespace WGShare.API.Hubs /// Task ShowUser(string uid, string uname, string operUid, string operUserName); + /// + /// 共享人取消共享屏幕 + /// + /// + Task StopedSharedScreen(string ScreenShareId); + /// /// 用户加入频道回调 ///