diff --git a/Admin.NET/Admin.NET.Core/Const/ConfigConst.cs b/Admin.NET/Admin.NET.Core/Const/ConfigConst.cs index f69cdf9f..7fd5d753 100644 --- a/Admin.NET/Admin.NET.Core/Const/ConfigConst.cs +++ b/Admin.NET/Admin.NET.Core/Const/ConfigConst.cs @@ -131,6 +131,11 @@ public class ConfigConst /// public const string SysI18NSwitch = "sys_i18n_switch"; + /// + /// 闲置超时时间 + /// + public const string SysIdleTimeout = "sys_idle_timeout"; + /// /// 支付宝授权页面地址 /// diff --git a/Admin.NET/Admin.NET.Core/SeedData/SysConfigSeedData.cs b/Admin.NET/Admin.NET.Core/SeedData/SysConfigSeedData.cs index 46ce8f83..85c27e6f 100644 --- a/Admin.NET/Admin.NET.Core/SeedData/SysConfigSeedData.cs +++ b/Admin.NET/Admin.NET.Core/SeedData/SysConfigSeedData.cs @@ -39,6 +39,7 @@ public class SysConfigSeedData : ISqlSugarEntitySeedData new SysConfig{ Id=1300000000261, Name="密码历史记录验证", Code=ConfigConst.SysPasswordRecord, Value="False", SysFlag=YesNoEnum.Y, Remark="是否验证历史密码禁止再次使用", OrderNo=210, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2024-12-17 00:00:00") }, new SysConfig{ Id=1300000000271, Name="显示系统更新日志", Code=ConfigConst.SysUpgrade, Value="True", SysFlag=YesNoEnum.Y, Remark="是否显示系统更新日志", OrderNo=220, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2024-12-20 00:00:00") }, new SysConfig{ Id=1300000000281, Name="开启多语言切换", Code=ConfigConst.SysI18NSwitch, Value="True", SysFlag=YesNoEnum.Y, Remark="是否显示多语言切换按钮", OrderNo=230, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2024-12-20 00:00:00") }, + new SysConfig{ Id=1300000000282, Name="闲置超时时间", Code=ConfigConst.SysIdleTimeout, Value="0", SysFlag=YesNoEnum.Y, Remark="闲置超时时间(分钟),超时强制退出,0 表示不限制", OrderNo=240, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2024-12-20 00:00:00") }, new SysConfig{ Id=1300000000999, Name="系统版本号", Code=ConfigConst.SysVersion, Value="0", SysFlag=YesNoEnum.Y, Remark= "系统版本号,用于自动升级,请勿手动填写", OrderNo=1000, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2025-04-10 00:00:00") }, ]; diff --git a/Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs b/Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs index eb193f98..9126cf69 100644 --- a/Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs @@ -588,6 +588,7 @@ public class SysTenantService : IDynamicApiController, ITransient var forceChangePassword = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysForceChangePassword); // 强制修改密码 var passwordExpirationTime = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysPasswordExpirationTime); // 密码有效期 var i18NSwitch = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysI18NSwitch); // 开启多语言切换 + var idleTimeout = await _sysConfigService.GetConfigValueByCode(ConfigConst.SysIdleTimeout); // 闲置超时时间 var publicKey = App.GetConfig("Cryptogram:PublicKey", true); // 获取密码加解密公钥配置 return new @@ -612,6 +613,7 @@ public class SysTenantService : IDynamicApiController, ITransient PublicKey = publicKey, CarouselFiles = carouselFiles, I18NSwitch = i18NSwitch, + IdleTimeout = idleTimeout, }; } diff --git a/Web/src/App.vue b/Web/src/App.vue index 74282168..a98d3eb7 100644 --- a/Web/src/App.vue +++ b/Web/src/App.vue @@ -21,6 +21,7 @@ import { Local, Session } from '/@/utils/storage'; import mittBus from '/@/utils/mitt'; import setIntroduction from '/@/utils/setIconfont'; // import Watermark from '/@/utils/watermark'; +import { initIdleTimeout } from './utils/idleTimeout'; // 引入组件 const LockScreen = defineAsyncComponent(() => import('/@/layout/lockScreen/index.vue')); @@ -102,6 +103,11 @@ document.body.ondrop = function (event) { event.preventDefault(); event.stopPropagation(); }; + +// 初始化全局空闲超时 +initIdleTimeout({ + timeout: themeConfig.value.idleTimeout, +});