|
@@ -31,7 +31,7 @@ public class SysConfigService : IDynamicApiController, ITransient
|
|
|
public async Task<SqlSugarPagedList<SysConfig>> Page(PageConfigInput input)
|
|
public async Task<SqlSugarPagedList<SysConfig>> Page(PageConfigInput input)
|
|
|
{
|
|
{
|
|
|
return await _sysConfigRep.AsQueryable()
|
|
return await _sysConfigRep.AsQueryable()
|
|
|
- .Where(u => u.GroupCode != "WebConfig"/*不显示 WebConfig 分组*/)
|
|
|
|
|
|
|
+ .Where(u => u.GroupCode != "WebConfig") // 不显示 WebConfig 分组
|
|
|
.WhereIF(!string.IsNullOrWhiteSpace(input.Name?.Trim()), u => u.Name.Contains(input.Name))
|
|
.WhereIF(!string.IsNullOrWhiteSpace(input.Name?.Trim()), u => u.Name.Contains(input.Name))
|
|
|
.WhereIF(!string.IsNullOrWhiteSpace(input.Code?.Trim()), u => u.Code.Contains(input.Code))
|
|
.WhereIF(!string.IsNullOrWhiteSpace(input.Code?.Trim()), u => u.Code.Contains(input.Code))
|
|
|
.WhereIF(!string.IsNullOrWhiteSpace(input.GroupCode?.Trim()), u => u.GroupCode.Equals(input.GroupCode))
|
|
.WhereIF(!string.IsNullOrWhiteSpace(input.GroupCode?.Trim()), u => u.GroupCode.Equals(input.GroupCode))
|
|
@@ -180,17 +180,43 @@ public class SysConfigService : IDynamicApiController, ITransient
|
|
|
[DisplayName("获取分组列表")]
|
|
[DisplayName("获取分组列表")]
|
|
|
public async Task<List<string>> GetGroupList()
|
|
public async Task<List<string>> GetGroupList()
|
|
|
{
|
|
{
|
|
|
- return await _sysConfigRep.AsQueryable().Where(u => u.GroupCode != "WebConfig"/*不显示 WebConfig 分组*/).GroupBy(u => u.GroupCode).Select(u => u.GroupCode).ToListAsync();
|
|
|
|
|
|
|
+ return await _sysConfigRep.AsQueryable()
|
|
|
|
|
+ .Where(u => u.GroupCode != "WebConfig") // 不显示 WebConfig 分组
|
|
|
|
|
+ .GroupBy(u => u.GroupCode)
|
|
|
|
|
+ .Select(u => u.GroupCode).ToListAsync();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 获取 Token 过期时间
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <returns></returns>
|
|
|
|
|
+ [NonAction]
|
|
|
|
|
+ public async Task<int> GetTokenExpire()
|
|
|
|
|
+ {
|
|
|
|
|
+ var tokenExpireStr = await GetConfigValue<string>(CommonConst.SysTokenExpire);
|
|
|
|
|
+ _ = int.TryParse(tokenExpireStr, out var tokenExpire);
|
|
|
|
|
+ return tokenExpire == 0 ? 20 : tokenExpire;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
- /// 获取系统信息
|
|
|
|
|
|
|
+ /// 获取 RefreshToken 过期时间
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ /// <returns></returns>
|
|
|
|
|
+ [NonAction]
|
|
|
|
|
+ public async Task<int> GetRefreshTokenExpire()
|
|
|
|
|
+ {
|
|
|
|
|
+ var refreshTokenExpireStr = await GetConfigValue<string>(CommonConst.SysRefreshTokenExpire);
|
|
|
|
|
+ _ = int.TryParse(refreshTokenExpireStr, out var refreshTokenExpire);
|
|
|
|
|
+ return refreshTokenExpire == 0 ? 40 : refreshTokenExpire;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 获取系统信息 🔖
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
|
[SuppressMonitor]
|
|
[SuppressMonitor]
|
|
|
- [DisplayName("获取系统信息")]
|
|
|
|
|
[AllowAnonymous]
|
|
[AllowAnonymous]
|
|
|
|
|
+ [DisplayName("获取系统信息")]
|
|
|
public async Task<dynamic> GetSysInfo()
|
|
public async Task<dynamic> GetSysInfo()
|
|
|
{
|
|
{
|
|
|
var sysLogo = await GetConfigValue<string>("sys_web_logo");
|
|
var sysLogo = await GetConfigValue<string>("sys_web_logo");
|
|
@@ -211,16 +237,16 @@ public class SysConfigService : IDynamicApiController, ITransient
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
- /// 保存系统信息
|
|
|
|
|
|
|
+ /// 保存系统信息 🔖
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
|
[DisplayName("保存系统信息")]
|
|
[DisplayName("保存系统信息")]
|
|
|
public async Task SaveSysInfo(InfoSaveInput input)
|
|
public async Task SaveSysInfo(InfoSaveInput input)
|
|
|
{
|
|
{
|
|
|
- //不为空才保存 SysLogo
|
|
|
|
|
|
|
+ // logo 不为空才保存
|
|
|
if (!string.IsNullOrEmpty(input.SysLogoBase64))
|
|
if (!string.IsNullOrEmpty(input.SysLogoBase64))
|
|
|
{
|
|
{
|
|
|
- //旧图标文件相对路径
|
|
|
|
|
|
|
+ // 旧图标文件相对路径
|
|
|
var oldSysLogoRelativeFilePath = await GetConfigValue<string>("sys_web_logo") ?? "";
|
|
var oldSysLogoRelativeFilePath = await GetConfigValue<string>("sys_web_logo") ?? "";
|
|
|
var oldSysLogoAbsoluteFilePath = Path.Combine(App.WebHostEnvironment.WebRootPath, oldSysLogoRelativeFilePath);
|
|
var oldSysLogoAbsoluteFilePath = Path.Combine(App.WebHostEnvironment.WebRootPath, oldSysLogoRelativeFilePath);
|
|
|
|
|
|
|
@@ -229,26 +255,26 @@ public class SysConfigService : IDynamicApiController, ITransient
|
|
|
var base64Data = groups["data"].Value;
|
|
var base64Data = groups["data"].Value;
|
|
|
var binData = Convert.FromBase64String(base64Data);
|
|
var binData = Convert.FromBase64String(base64Data);
|
|
|
|
|
|
|
|
- //本地保存图标路径
|
|
|
|
|
- var path = "Upload/Logo";
|
|
|
|
|
|
|
+ // 本地保存图标路径
|
|
|
|
|
+ var path = "Upload";
|
|
|
|
|
|
|
|
- //文件路径
|
|
|
|
|
|
|
+ // 文件路径
|
|
|
var relativeUrl = $"{path}/logo.{type}";
|
|
var relativeUrl = $"{path}/logo.{type}";
|
|
|
var absoluteFilePath = Path.Combine(App.WebHostEnvironment.WebRootPath, path, $"logo.{type}");
|
|
var absoluteFilePath = Path.Combine(App.WebHostEnvironment.WebRootPath, path, $"logo.{type}");
|
|
|
|
|
|
|
|
- //删除已存在文件
|
|
|
|
|
|
|
+ // 删除已存在文件
|
|
|
if (File.Exists(oldSysLogoAbsoluteFilePath))
|
|
if (File.Exists(oldSysLogoAbsoluteFilePath))
|
|
|
File.Delete(oldSysLogoAbsoluteFilePath);
|
|
File.Delete(oldSysLogoAbsoluteFilePath);
|
|
|
|
|
|
|
|
- //创建文件夹
|
|
|
|
|
- var absoluteFileDir = Path.GetDirectoryName(absoluteFilePath);
|
|
|
|
|
- if (!Directory.Exists(absoluteFileDir))
|
|
|
|
|
- Directory.CreateDirectory(absoluteFileDir);
|
|
|
|
|
|
|
+ //// 创建文件夹
|
|
|
|
|
+ //var absoluteFileDir = Path.GetDirectoryName(absoluteFilePath);
|
|
|
|
|
+ //if (!Directory.Exists(absoluteFileDir))
|
|
|
|
|
+ // Directory.CreateDirectory(absoluteFileDir);
|
|
|
|
|
|
|
|
- //保存文件
|
|
|
|
|
|
|
+ // 保存文件
|
|
|
await File.WriteAllBytesAsync(absoluteFilePath, binData);
|
|
await File.WriteAllBytesAsync(absoluteFilePath, binData);
|
|
|
|
|
|
|
|
- //保存图标配置
|
|
|
|
|
|
|
+ // 保存图标配置
|
|
|
await UpdateConfigValue("sys_web_logo", relativeUrl);
|
|
await UpdateConfigValue("sys_web_logo", relativeUrl);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -258,28 +284,4 @@ public class SysConfigService : IDynamicApiController, ITransient
|
|
|
await UpdateConfigValue("sys_web_watermark", input.SysWatermark);
|
|
await UpdateConfigValue("sys_web_watermark", input.SysWatermark);
|
|
|
await UpdateConfigValue("sys_web_copyright", input.SysCopyright);
|
|
await UpdateConfigValue("sys_web_copyright", input.SysCopyright);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- /// <summary>
|
|
|
|
|
- /// 获取 Token 过期时间
|
|
|
|
|
- /// </summary>
|
|
|
|
|
- /// <returns></returns>
|
|
|
|
|
- [NonAction]
|
|
|
|
|
- public async Task<int> GetTokenExpire()
|
|
|
|
|
- {
|
|
|
|
|
- var tokenExpireStr = await GetConfigValue<string>(CommonConst.SysTokenExpire);
|
|
|
|
|
- _ = int.TryParse(tokenExpireStr, out var tokenExpire);
|
|
|
|
|
- return tokenExpire == 0 ? 20 : tokenExpire;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /// <summary>
|
|
|
|
|
- /// 获取 RefreshToken 过期时间
|
|
|
|
|
- /// </summary>
|
|
|
|
|
- /// <returns></returns>
|
|
|
|
|
- [NonAction]
|
|
|
|
|
- public async Task<int> GetRefreshTokenExpire()
|
|
|
|
|
- {
|
|
|
|
|
- var refreshTokenExpireStr = await GetConfigValue<string>(CommonConst.SysRefreshTokenExpire);
|
|
|
|
|
- _ = int.TryParse(refreshTokenExpireStr, out var refreshTokenExpire);
|
|
|
|
|
- return refreshTokenExpire == 0 ? 40 : refreshTokenExpire;
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|