Prechádzať zdrojové kódy

增加账号“登入登出提醒”设置,防止连接不稳定频繁出现上下线提示

LLL 9 mesiacov pred
rodič
commit
e6bb9e171a

+ 5 - 0
Admin.NET/Admin.NET.Core/Const/ConfigConst.cs

@@ -41,6 +41,11 @@ public class ConfigConst
     /// </summary>
     public const string SysSingleLogin = "sys_single_login";
 
+    /// <summary>
+    /// 登入登出提醒
+    /// </summary>
+    public const string SysLoginOutReminder = "sys_login_out_reminder";
+
     /// <summary>
     /// 登陆时隐藏租户
     /// </summary>

+ 16 - 12
Admin.NET/Admin.NET.Core/Hub/OnlineUserHub.cs

@@ -79,12 +79,14 @@ public class OnlineUserHub : Hub<IOnlineUserHub>
 
         var userList = await _sysOnlineUerRep.AsQueryable().Filter("", true)
             .Where(u => u.TenantId == user.TenantId).Take(10).ToListAsync();
-        await _onlineUserHubContext.Clients.Groups(groupName).OnlineUserList(new OnlineUserList
-        {
-            RealName = user.RealName,
-            Online = true,
-            UserList = userList
-        });
+
+        if (await _sysConfigService.GetConfigValue<bool>(ConfigConst.SysLoginOutReminder))
+            await _onlineUserHubContext.Clients.Groups(groupName).OnlineUserList(new OnlineUserList
+            {
+                RealName = user.RealName,
+                Online = true,
+                UserList = userList
+            });
     }
 
     /// <summary>
@@ -118,12 +120,14 @@ public class OnlineUserHub : Hub<IOnlineUserHub>
         // 通知当前组用户变动
         var userList = await _sysOnlineUerRep.AsQueryable().Filter("", true)
             .Where(u => u.TenantId == user.TenantId).Take(10).ToListAsync();
-        await _onlineUserHubContext.Clients.Groups($"{GROUP_ONLINE}{user.TenantId}").OnlineUserList(new OnlineUserList
-        {
-            RealName = user.RealName,
-            Online = false,
-            UserList = userList
-        });
+
+        if (await _sysConfigService.GetConfigValue<bool>(ConfigConst.SysLoginOutReminder))
+            await _onlineUserHubContext.Clients.Groups($"{GROUP_ONLINE}{user.TenantId}").OnlineUserList(new OnlineUserList
+            {
+                RealName = user.RealName,
+                Online = false,
+                UserList = userList
+            });
     }
 
     /// <summary>

+ 1 - 0
Admin.NET/Admin.NET.Core/SeedData/SysConfigSeedData.cs

@@ -25,6 +25,7 @@ public class SysConfigSeedData : ISqlSugarEntitySeedData<SysConfig>
             new SysConfig{ Id=1300000000131, Name="日志保留天数", Code=ConfigConst.SysLogRetentionDays, Value="180", SysFlag=YesNoEnum.Y, Remark="日志保留天数(天)", OrderNo=40, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
             new SysConfig{ Id=1300000000141, Name="记录操作日志", Code=ConfigConst.SysOpLog, Value="True", SysFlag=YesNoEnum.Y, Remark="是否记录操作日志", OrderNo=50, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
             new SysConfig{ Id=1300000000151, Name="单设备登录", Code=ConfigConst.SysSingleLogin, Value="False", SysFlag=YesNoEnum.Y, Remark="是否开启单设备登录", OrderNo=60, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysConfig{ Id=1300000000152, Name="登入登出提醒", Code=ConfigConst.SysLoginOutReminder, Value="False", SysFlag=YesNoEnum.Y, Remark="是否开启登入登出提醒", OrderNo=60, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
             new SysConfig{ Id=1300000000161, Name="登录二次验证", Code=ConfigConst.SysSecondVer, Value="False", SysFlag=YesNoEnum.Y, Remark="是否开启登录二次验证", OrderNo=70, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
             new SysConfig{ Id=1300000000171, Name="图形验证码", Code=ConfigConst.SysCaptcha, Value="True", SysFlag=YesNoEnum.Y, Remark="是否开启图形验证码", OrderNo=80, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
             new SysConfig{ Id=1300000000172, Name="登录时隐藏租户", Code=ConfigConst.SysHideTenantLogin, Value="True", SysFlag=YesNoEnum.Y, Remark="登录时隐藏租户", OrderNo=90, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },