😎代码优化与升级依赖

This commit is contained in:
zuohuaijun 2025-02-14 01:43:12 +08:00
parent 7fd20084ba
commit 1d31cb5c6e
12 changed files with 53 additions and 177 deletions

View File

@ -20,9 +20,9 @@
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" /> <PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
<PackageReference Include="BouncyCastle.Cryptography" Version="2.5.1" Aliases="BouncyCastleV2" /> <PackageReference Include="BouncyCastle.Cryptography" Version="2.5.1" Aliases="BouncyCastleV2" />
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.17.1" /> <PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.17.1" />
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.5" /> <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.7" />
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.5" /> <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.7" />
<PackageReference Include="Furion.Pure" Version="4.9.7.5" /> <PackageReference Include="Furion.Pure" Version="4.9.7.7" />
<PackageReference Include="Hardware.Info" Version="101.0.0.1" /> <PackageReference Include="Hardware.Info" Version="101.0.0.1" />
<PackageReference Include="Hashids.net" Version="1.7.0" /> <PackageReference Include="Hashids.net" Version="1.7.0" />
<PackageReference Include="IPTools.China" Version="1.6.0" /> <PackageReference Include="IPTools.China" Version="1.6.0" />
@ -36,7 +36,7 @@
<PackageReference Include="MiniWord" Version="0.9.2" /> <PackageReference Include="MiniWord" Version="0.9.2" />
<PackageReference Include="MQTTnet" Version="5.0.1.1416" /> <PackageReference Include="MQTTnet" Version="5.0.1.1416" />
<PackageReference Include="MySqlBackup.NET.MySqlConnector" Version="2.3.8" /> <PackageReference Include="MySqlBackup.NET.MySqlConnector" Version="2.3.8" />
<PackageReference Include="NewLife.Redis" Version="6.0.2025.101" /> <PackageReference Include="NewLife.Redis" Version="6.1.2025.209" />
<PackageReference Include="Novell.Directory.Ldap.NETStandard" Version="3.6.0" /> <PackageReference Include="Novell.Directory.Ldap.NETStandard" Version="3.6.0" />
<PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.2.0" /> <PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.2.0" />
<PackageReference Include="QRCoder" Version="1.6.0" /> <PackageReference Include="QRCoder" Version="1.6.0" />
@ -44,11 +44,11 @@
<PackageReference Include="SixLabors.ImageSharp.Web" Version="3.1.3" /> <PackageReference Include="SixLabors.ImageSharp.Web" Version="3.1.3" />
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="3.7.0" /> <PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="3.7.0" />
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="3.10.0" /> <PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="3.10.0" />
<PackageReference Include="SqlSugarCore" Version="5.1.4.175" /> <PackageReference Include="SqlSugarCore" Version="5.1.4.176" />
<PackageReference Include="SSH.NET" Version="2024.2.0" /> <PackageReference Include="SSH.NET" Version="2024.2.0" />
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.0.1" /> <PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.0.2" />
<PackageReference Include="System.Net.Http" Version="4.3.4" /> <PackageReference Include="System.Net.Http" Version="4.3.4" />
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1175" /> <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1179" />
<PackageReference Include="UAParser" Version="3.1.47" /> <PackageReference Include="UAParser" Version="3.1.47" />
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" /> <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
</ItemGroup> </ItemGroup>
@ -67,9 +67,9 @@
<PackageReference Include="AspNet.Security.OAuth.Gitee" Version="9.0.0" /> <PackageReference Include="AspNet.Security.OAuth.Gitee" Version="9.0.0" />
<PackageReference Include="AspNet.Security.OAuth.Weixin" Version="9.0.0" /> <PackageReference Include="AspNet.Security.OAuth.Weixin" Version="9.0.0" />
<PackageReference Include="Lazy.Captcha.Core" Version="2.1.0" /> <PackageReference Include="Lazy.Captcha.Core" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.1" /> <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.2" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="9.0.1" /> <PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="9.0.2" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="9.0.1" /> <PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="9.0.2" />
<PackageReference Include="Microsoft.PowerShell.SDK" Version="7.5.0" /> <PackageReference Include="Microsoft.PowerShell.SDK" Version="7.5.0" />
</ItemGroup> </ItemGroup>

View File

@ -13,52 +13,11 @@ namespace Admin.NET.Core;
[SysTable] [SysTable]
[SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)] [SugarIndex("index_{table}_N", nameof(Name), OrderByType.Asc)]
[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc, IsUnique = true)] [SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc, IsUnique = true)]
public partial class SysConfigTenant : EntityTenant public partial class SysConfigTenant : SysConfig, ITenantIdFilter
{ {
/// <summary> /// <summary>
/// 名称 /// 租户Id
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "名称", Length = 64)] [SugarColumn(ColumnDescription = "租户Id", IsOnlyIgnoreUpdate = true)]
[Required, MaxLength(64)] public virtual long? TenantId { get; set; }
public virtual string Name { get; set; }
/// <summary>
/// 编码
/// </summary>
[SugarColumn(ColumnDescription = "编码", Length = 64)]
[MaxLength(64)]
public string? Code { get; set; }
/// <summary>
/// 参数值
/// </summary>
[SugarColumn(ColumnDescription = "参数值", Length = 512)]
[MaxLength(512)]
public string? Value { get; set; }
/// <summary>
/// 是否是内置参数Y-是N-否)
/// </summary>
[SugarColumn(ColumnDescription = "是否是内置参数", DefaultValue = "1")]
public YesNoEnum SysFlag { get; set; } = YesNoEnum.Y;
/// <summary>
/// 分组编码
/// </summary>
[SugarColumn(ColumnDescription = "分组编码", Length = 64)]
[MaxLength(64)]
public string? GroupCode { get; set; }
/// <summary>
/// 排序
/// </summary>
[SugarColumn(ColumnDescription = "排序", DefaultValue = "100")]
public int OrderNo { get; set; } = 100;
/// <summary>
/// 备注
/// </summary>
[SugarColumn(ColumnDescription = "备注", Length = 256)]
[MaxLength(256)]
public string? Remark { get; set; }
} }

View File

@ -12,94 +12,11 @@ namespace Admin.NET.Core;
[SugarTable(null, "系统租户字典值表")] [SugarTable(null, "系统租户字典值表")]
[SysTable] [SysTable]
[SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)] [SugarIndex("index_{table}_C", nameof(Code), OrderByType.Asc)]
public partial class SysDictDataTenant : EntityTenant public partial class SysDictDataTenant : SysDictData, ITenantIdFilter
{ {
/// <summary> /// <summary>
/// 字典类型Id /// 租户Id
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "字典类型Id")] [SugarColumn(ColumnDescription = "租户Id", IsOnlyIgnoreUpdate = true)]
public long DictTypeId { get; set; } public virtual long? TenantId { get; set; }
/// <summary>
/// 字典类型
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
[Navigate(NavigateType.OneToOne, nameof(DictTypeId))]
public SysDictType DictType { get; set; }
/// <summary>
/// 显示文本
/// </summary>
[SugarColumn(ColumnDescription = "显示文本", Length = 256)]
[Required, MaxLength(256)]
public virtual string Label { get; set; }
/// <summary>
/// 值
/// </summary>
[SugarColumn(ColumnDescription = "值", Length = 256)]
[Required, MaxLength(256)]
public virtual string Value { get; set; }
/// <summary>
/// 编码
/// </summary>
/// <remarks>
/// </remarks>
[SugarColumn(ColumnDescription = "编码", Length = 256)]
public virtual string? Code { get; set; }
/// <summary>
/// 名称
/// </summary>
[SugarColumn(ColumnDescription = "名称", Length = 256)]
[MaxLength(256)]
public virtual string? Name { get; set; }
/// <summary>
/// 显示样式-标签颜色
/// </summary>
[SugarColumn(ColumnDescription = "显示样式-标签颜色", Length = 16)]
[MaxLength(16)]
public string? TagType { get; set; }
/// <summary>
/// 显示样式-Style(控制显示样式)
/// </summary>
[SugarColumn(ColumnDescription = "显示样式-Style", Length = 512)]
[MaxLength(512)]
public string? StyleSetting { get; set; }
/// <summary>
/// 显示样式-Class(控制显示样式)
/// </summary>
[SugarColumn(ColumnDescription = "显示样式-Class", Length = 512)]
[MaxLength(512)]
public string? ClassSetting { get; set; }
/// <summary>
/// 排序
/// </summary>
[SugarColumn(ColumnDescription = "排序", DefaultValue = "100")]
public int OrderNo { get; set; } = 100;
/// <summary>
/// 备注
/// </summary>
[SugarColumn(ColumnDescription = "备注", Length = 2048)]
[MaxLength(2048)]
public string? Remark { get; set; }
/// <summary>
/// 拓展数据(保存业务功能的配置项)
/// </summary>
[SugarColumn(ColumnDescription = "拓展数据(保存业务功能的配置项)", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? ExtData { get; set; }
/// <summary>
/// 状态
/// </summary>
[SugarColumn(ColumnDescription = "状态", DefaultValue = "1")]
public StatusEnum Status { get; set; } = StatusEnum.Enable;
} }

View File

@ -30,7 +30,7 @@ public class SysConfigSeedData : ISqlSugarEntitySeedData<SysConfig>
new SysConfig{ Id=1300000000181, Name="发送异常日志邮件", Code=ConfigConst.SysErrorMail, Value="False", SysFlag=YesNoEnum.Y, Remark="是否发送异常日志邮件", OrderNo=110, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") }, new SysConfig{ Id=1300000000181, Name="发送异常日志邮件", Code=ConfigConst.SysErrorMail, Value="False", SysFlag=YesNoEnum.Y, Remark="是否发送异常日志邮件", OrderNo=110, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
new SysConfig{ Id=1300000000191, Name="域登录验证", Code=ConfigConst.SysDomainLogin, Value="False", SysFlag=YesNoEnum.Y, Remark="是否开启域登录验证", OrderNo=120, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") }, new SysConfig{ Id=1300000000191, Name="域登录验证", Code=ConfigConst.SysDomainLogin, Value="False", SysFlag=YesNoEnum.Y, Remark="是否开启域登录验证", OrderNo=120, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
new SysConfig{ Id=1300000000201, Name="行政区划同步层级", Code=ConfigConst.SysRegionSyncLevel, Value="3", SysFlag=YesNoEnum.Y, Remark="行政区划同步层级 1-省级,2-市级,3-区县级,4-街道级,5-村级", OrderNo=150, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") }, new SysConfig{ Id=1300000000201, Name="行政区划同步层级", Code=ConfigConst.SysRegionSyncLevel, Value="3", SysFlag=YesNoEnum.Y, Remark="行政区划同步层级 1-省级,2-市级,3-区县级,4-街道级,5-村级", OrderNo=150, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
// 业务系统记得改密匙,通过接口(http://localhost:5005/api/sysCommon/smKeyPair)获取 // 业务系统记得改密匙(修改密匙要重新生成数据库/账号表),通过接口(http://localhost:5005/api/sysCommon/smKeyPair)获取
//new SysConfig{ Id=1300000000211, Name="国密SM2密匙", Code=ConfigConst.SysSM2Key, Value="04851D329AA3E38C2E7670AFE70E6E70E92F8769CA27C8766B12209A0FFBA4493B603EF7A0B9B1E16F0E8930C0406EA0B179B68DF28E25334BDEC4AE76D907E9E9;3A61D1D30C6302DABFF36201D936D0143EEF0C850AF28C5CA6D5C045AF8C5C8A", SysFlag=YesNoEnum.Y, Remark="国密SM2密匙", OrderNo=160, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2024-11-21 00:00:00") }, //new SysConfig{ Id=1300000000211, Name="国密SM2密匙", Code=ConfigConst.SysSM2Key, Value="04851D329AA3E38C2E7670AFE70E6E70E92F8769CA27C8766B12209A0FFBA4493B603EF7A0B9B1E16F0E8930C0406EA0B179B68DF28E25334BDEC4AE76D907E9E9;3A61D1D30C6302DABFF36201D936D0143EEF0C850AF28C5CA6D5C045AF8C5C8A", SysFlag=YesNoEnum.Y, Remark="国密SM2密匙", OrderNo=160, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2024-11-21 00:00:00") },
new SysConfig{ Id=1300000000221, Name="开启强制修改密码", Code=ConfigConst.SysForceChangePassword, Value="False", SysFlag=YesNoEnum.Y, Remark="开启强制修改密码", OrderNo=170, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") }, new SysConfig{ Id=1300000000221, Name="开启强制修改密码", Code=ConfigConst.SysForceChangePassword, Value="False", SysFlag=YesNoEnum.Y, Remark="开启强制修改密码", OrderNo=170, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
new SysConfig{ Id=1300000000231, Name="开启密码强度验证", Code=ConfigConst.SysPasswordStrength, Value="False", SysFlag=YesNoEnum.Y, Remark="开启密码强度验证", OrderNo=180, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") }, new SysConfig{ Id=1300000000231, Name="开启密码强度验证", Code=ConfigConst.SysPasswordStrength, Value="False", SysFlag=YesNoEnum.Y, Remark="开启密码强度验证", OrderNo=180, GroupCode=ConfigConst.SysDefaultGroup, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },

View File

@ -18,6 +18,7 @@ public class SysTenantSeedData : ISqlSugarEntitySeedData<SysTenant>
public IEnumerable<SysTenant> HasData() public IEnumerable<SysTenant> HasData()
{ {
var defaultDbConfig = App.GetOptions<DbConnectionOptions>().ConnectionConfigs[0]; var defaultDbConfig = App.GetOptions<DbConnectionOptions>().ConnectionConfigs[0];
var userAdmin = new SysUserSeedData().HasData().ToList().First(u => u.Account == "admin");
return return
[ [
@ -25,7 +26,7 @@ public class SysTenantSeedData : ISqlSugarEntitySeedData<SysTenant>
{ {
Id=SqlSugarConst.DefaultTenantId, Id=SqlSugarConst.DefaultTenantId,
OrgId=SqlSugarConst.DefaultTenantId, OrgId=SqlSugarConst.DefaultTenantId,
UserId=1300000000111, UserId=userAdmin.Id,
Host="gitee.com", Host="gitee.com",
TenantType=TenantTypeEnum.Id, TenantType=TenantTypeEnum.Id,
DbType=defaultDbConfig.DbType, DbType=defaultDbConfig.DbType,

View File

@ -18,16 +18,16 @@ public class SysUserSeedData : ISqlSugarEntitySeedData<SysUser>
/// <returns></returns> /// <returns></returns>
public IEnumerable<SysUser> HasData() public IEnumerable<SysUser> HasData()
{ {
var encryptPassword = CryptogramUtil.Encrypt("Admin.NET++010101"); var encryptPassword = CryptogramUtil.Encrypt(new SysConfigSeedData().HasData().First(u => u.Code == ConfigConst.SysPassword).Value);
var posList = new SysPosSeedData().HasData().ToList();
return return
[ [
new SysUser{ Id=1300000000101, Account="superadmin", Password=encryptPassword, NickName="超级管理员", RealName="超级管理员", Phone="18012345678", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Male, AccountType=AccountTypeEnum.SuperAdmin, Remark="超级管理员", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), TenantId=SqlSugarConst.DefaultTenantId }, new SysUser{ Id=1300000000101, Account="superadmin", Password=encryptPassword, NickName="超级管理员", RealName="超级管理员", Phone="18012345678", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Male, AccountType=AccountTypeEnum.SuperAdmin, Remark="超级管理员", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), TenantId=SqlSugarConst.DefaultTenantId },
new SysUser{ Id=1300000000111, Account="admin", Password=encryptPassword, NickName="系统管理员", RealName="系统管理员", Phone="18012345677", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Male, AccountType=AccountTypeEnum.SysAdmin, Remark="系统管理员", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=SqlSugarConst.DefaultTenantId, PosId=1300000000102, TenantId=SqlSugarConst.DefaultTenantId }, new SysUser{ Id=1300000000111, Account="admin", Password=encryptPassword, NickName="系统管理员", RealName="系统管理员", Phone="18012345677", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Male, AccountType=AccountTypeEnum.SysAdmin, Remark="系统管理员", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=SqlSugarConst.DefaultTenantId, PosId=posList[0].Id, TenantId=SqlSugarConst.DefaultTenantId },
new SysUser{ Id=1300000000112, Account="user1", Password=encryptPassword, NickName="部门主管", RealName="部门主管", Phone="18012345676", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.NormalUser, Remark="部门主管", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=SqlSugarConst.DefaultTenantId + 1, PosId=1300000000108, TenantId=SqlSugarConst.DefaultTenantId }, new SysUser{ Id=1300000000112, Account="user1", Password=encryptPassword, NickName="部门主管", RealName="部门主管", Phone="18012345676", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.NormalUser, Remark="部门主管", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=SqlSugarConst.DefaultTenantId + 1, PosId=posList[1].Id, TenantId=SqlSugarConst.DefaultTenantId },
new SysUser{ Id=1300000000113, Account="user2", Password=encryptPassword, NickName="部门职员", RealName="部门职员", Phone="18012345675", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.NormalUser, Remark="部门职员", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=SqlSugarConst.DefaultTenantId + 2, PosId=1300000000110, TenantId=SqlSugarConst.DefaultTenantId }, new SysUser{ Id=1300000000113, Account="user2", Password=encryptPassword, NickName="部门职员", RealName="部门职员", Phone="18012345675", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.NormalUser, Remark="部门职员", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=SqlSugarConst.DefaultTenantId + 2, PosId=posList[2].Id, TenantId=SqlSugarConst.DefaultTenantId },
new SysUser{ Id=1300000000114, Account="user3", Password=encryptPassword, NickName="普通用户", RealName="普通用户", Phone="18012345674", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.NormalUser, Remark="普通用户", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=SqlSugarConst.DefaultTenantId + 3, PosId=1300000000115, TenantId=SqlSugarConst.DefaultTenantId }, new SysUser{ Id=1300000000114, Account="user3", Password=encryptPassword, NickName="普通用户", RealName="普通用户", Phone="18012345674", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.NormalUser, Remark="普通用户", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=SqlSugarConst.DefaultTenantId + 3, PosId=posList[3].Id, TenantId=SqlSugarConst.DefaultTenantId },
new SysUser{ Id=1300000000115, Account="user4", Password=encryptPassword, NickName="其他", RealName="其他", Phone="18012345673", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.Member, Remark="会员", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=SqlSugarConst.DefaultTenantId + 4, PosId=1300000000116, TenantId=SqlSugarConst.DefaultTenantId }, new SysUser{ Id=1300000000115, Account="user4", Password=encryptPassword, NickName="其他", RealName="其他", Phone="18012345673", Birthday=DateTime.Parse("2000-01-01"), Sex=GenderEnum.Female, AccountType=AccountTypeEnum.Member, Remark="会员", CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrgId=SqlSugarConst.DefaultTenantId + 4, PosId=posList[4].Id, TenantId=SqlSugarConst.DefaultTenantId },
]; ];
} }
} }

View File

@ -21,9 +21,9 @@ public class StressTestInput
/// <summary> /// <summary>
/// 并发请求数量 /// 并发请求数量
/// </summary> /// </summary>
/// <example>100</example> /// <example>10</example>
[Required(ErrorMessage = "并发请求数量不能为空"), Range(1, 10000, ErrorMessage = "每轮请求量必须为1-10000")] [Required(ErrorMessage = "并发请求数量不能为空"), Range(1, 100, ErrorMessage = "每轮请求量必须为1-100")]
public int NumberOfRequests { get; set; } = 100; public int NumberOfRequests { get; set; } = 10;
/// <summary> /// <summary>
/// 压测轮数 /// 压测轮数

View File

@ -197,7 +197,6 @@ public class SysDictDataService : IDynamicApiController, ITransient
var dictDataList = _sysCacheService.Get<List<SysDictData>>($"{CacheConst.KeyDict}{dictType.Code}"); var dictDataList = _sysCacheService.Get<List<SysDictData>>($"{CacheConst.KeyDict}{dictType.Code}");
if (dictDataList == null) if (dictDataList == null)
{ {
dictDataList = await VSysDictData.InnerJoin<SysDictType>((u, a) => u.DictTypeId == a.Id) dictDataList = await VSysDictData.InnerJoin<SysDictType>((u, a) => u.DictTypeId == a.Id)
.Where(u => u.DictTypeId == dictType.Id) .Where(u => u.DictTypeId == dictType.Id)
.Select((u, a) => new SysDictData .Select((u, a) => new SysDictData

View File

@ -11,7 +11,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="IGeekFan.AspNetCore.Knife4jUI" Version="0.0.16" /> <PackageReference Include="IGeekFan.AspNetCore.Knife4jUI" Version="0.0.16" />
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="9.0.1" /> <PackageReference Include="System.Security.Cryptography.Pkcs" Version="9.0.2" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -2,7 +2,7 @@
"name": "admin.net.pro", "name": "admin.net.pro",
"type": "module", "type": "module",
"version": "2.4.33", "version": "2.4.33",
"lastBuildTime": "2025.02.09", "lastBuildTime": "2025.02.14",
"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架", "description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
"author": "zuohuaijun", "author": "zuohuaijun",
"license": "MIT", "license": "MIT",
@ -38,7 +38,7 @@
"echarts-wordcloud": "^2.1.0", "echarts-wordcloud": "^2.1.0",
"element-plus": "^2.9.4", "element-plus": "^2.9.4",
"exceljs": "^4.4.0", "exceljs": "^4.4.0",
"ezuikit-js": "^8.1.5", "ezuikit-js": "^8.1.6",
"gcoord": "^1.0.7", "gcoord": "^1.0.7",
"js-cookie": "^3.0.5", "js-cookie": "^3.0.5",
"js-table2excel": "^1.1.2", "js-table2excel": "^1.1.2",
@ -51,7 +51,7 @@
"mqtt": "^5.10.3", "mqtt": "^5.10.3",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"ol": "^10.4.0", "ol": "^10.4.0",
"pinia": "^2.3.1", "pinia": "^3.0.1",
"print-js": "^1.6.0", "print-js": "^1.6.0",
"push.js": "^1.0.12", "push.js": "^1.0.12",
"qrcodejs2-fixes": "^0.0.2", "qrcodejs2-fixes": "^0.0.2",
@ -68,13 +68,13 @@
"vue-demi": "0.14.10", "vue-demi": "0.14.10",
"vue-draggable-plus": "^0.6.0", "vue-draggable-plus": "^0.6.0",
"vue-grid-layout": "3.0.0-beta1", "vue-grid-layout": "3.0.0-beta1",
"vue-i18n": "^11.1.0", "vue-i18n": "^11.1.1",
"vue-json-pretty": "^2.4.0", "vue-json-pretty": "^2.4.0",
"vue-plugin-hiprint": "^0.0.59-beta2", "vue-plugin-hiprint": "^0.0.59-beta2",
"vue-router": "^4.5.0", "vue-router": "^4.5.0",
"vue-signature-pad": "^3.0.2", "vue-signature-pad": "^3.0.2",
"vue3-tree-org": "^4.2.2", "vue3-tree-org": "^4.2.2",
"vxe-pc-ui": "^4.3.80", "vxe-pc-ui": "^4.3.84",
"vxe-table": "^4.10.0", "vxe-table": "^4.10.0",
"vxe-table-plugin-element": "^4.0.4", "vxe-table-plugin-element": "^4.0.4",
"vxe-table-plugin-export-xlsx": "^4.0.7", "vxe-table-plugin-export-xlsx": "^4.0.7",
@ -88,20 +88,20 @@
"@types/node": "^20.17.17", "@types/node": "^20.17.17",
"@types/nprogress": "^0.2.3", "@types/nprogress": "^0.2.3",
"@types/sortablejs": "^1.15.8", "@types/sortablejs": "^1.15.8",
"@typescript-eslint/eslint-plugin": "^8.23.0", "@typescript-eslint/eslint-plugin": "^8.24.0",
"@typescript-eslint/parser": "^8.23.0", "@typescript-eslint/parser": "^8.24.0",
"@vitejs/plugin-vue": "^5.2.1", "@vitejs/plugin-vue": "^5.2.1",
"@vitejs/plugin-vue-jsx": "^4.1.1", "@vitejs/plugin-vue-jsx": "^4.1.1",
"@vue/compiler-sfc": "^3.5.13", "@vue/compiler-sfc": "^3.5.13",
"code-inspector-plugin": "^0.19.2", "code-inspector-plugin": "^0.20.0",
"eslint": "^9.20.0", "eslint": "^9.20.1",
"eslint-plugin-vue": "^9.32.0", "eslint-plugin-vue": "^9.32.0",
"globals": "^15.14.0", "globals": "^15.15.0",
"less": "^4.2.2", "less": "^4.2.2",
"prettier": "^3.4.2", "prettier": "^3.5.1",
"rollup-plugin-visualizer": "^5.14.0", "rollup-plugin-visualizer": "^5.14.0",
"sass": "^1.84.0", "sass": "^1.84.0",
"terser": "^5.38.1", "terser": "^5.39.0",
"typescript": "^5.7.3", "typescript": "^5.7.3",
"vite": "^6.1.0", "vite": "^6.1.0",
"vite-plugin-cdn-import": "^1.0.1", "vite-plugin-cdn-import": "^1.0.1",

View File

@ -26,17 +26,17 @@
</el-col> </el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="压测轮数" :rules="[{ required: true, message: '压测轮数不能为空', trigger: 'blur' }]"> <el-form-item label="压测轮数" :rules="[{ required: true, message: '压测轮数不能为空', trigger: 'blur' }]">
<el-input-number v-model="state.ruleForm.numberOfRounds" placeholder="压测轮数" :min="1" class="w100" /> <el-input-number v-model="state.ruleForm.numberOfRounds" placeholder="压测轮数" :min="1" class="w100" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="每轮请求数" :rules="[{ required: true, message: '每轮请求数不能为空', trigger: 'blur' }]"> <el-form-item label="每轮请求数" :rules="[{ required: true, message: '每轮请求数不能为空', trigger: 'blur' }]">
<el-input-number v-model="state.ruleForm.numberOfRequests" :min="1" :step="100" placeholder="每轮请求数" class="w100" /> <el-input-number v-model="state.ruleForm.numberOfRequests" :min="1" :step="10" placeholder="每轮请求数" class="w100" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
<el-form-item label="最大并发量"> <el-form-item label="最大并发量">
<el-input-number v-model="state.ruleForm.maxDegreeOfParallelism" :min="1" :step="5" placeholder="最大并发量" class="w100" /> <el-input-number v-model="state.ruleForm.maxDegreeOfParallelism" :min="1" :step="5" placeholder="最大并发量" class="w100" disabled />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
@ -122,8 +122,8 @@ const state = reactive({
requestUri: '', requestUri: '',
requestMethod: 'GET', requestMethod: 'GET',
numberOfRounds: 1, numberOfRounds: 1,
numberOfRequests: 100, numberOfRequests: 10,
maxDegreeOfParallelism: 500, maxDegreeOfParallelism: 10,
requestParameters: [], requestParameters: [],
queryParameters: [], queryParameters: [],
pathParameters: [], pathParameters: [],

View File

@ -143,8 +143,8 @@ const state = reactive({
requestUri: '', requestUri: '',
requestMethod: 'GET', requestMethod: 'GET',
numberOfRounds: 1, numberOfRounds: 1,
numberOfRequests: 100, numberOfRequests: 10,
maxDegreeOfParallelism: 500, maxDegreeOfParallelism: 10,
requestParameters: [], requestParameters: [],
queryParameters: [], queryParameters: [],
pathParameters: [], pathParameters: [],
@ -238,8 +238,8 @@ const treeNodeTest = async (node: any) => {
requestUri: location.origin + node.path, requestUri: location.origin + node.path,
requestMethod: node.method, requestMethod: node.method,
numberOfRounds: 1, numberOfRounds: 1,
numberOfRequests: 100, numberOfRequests: 10,
maxDegreeOfParallelism: 500, maxDegreeOfParallelism: 10,
requestParameters: [], requestParameters: [],
queryParameters: [], queryParameters: [],
pathParameters: [], pathParameters: [],