😎1、代码格式化及清理 2、升级依赖

This commit is contained in:
zuohuaijun 2025-07-12 01:21:49 +08:00
parent b54ba875cc
commit 3f0b6a0d68
10 changed files with 63 additions and 52 deletions

View File

@ -28,9 +28,9 @@
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.1" Aliases="BouncyCastleV2" />
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="9.0.7" />
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.93" />
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.93" />
<PackageReference Include="Furion.Pure" Version="4.9.7.93" />
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.95" />
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.95" />
<PackageReference Include="Furion.Pure" Version="4.9.7.95" />
<PackageReference Include="Hardware.Info" Version="101.0.1.1" />
<PackageReference Include="Hashids.net" Version="1.7.0" />
<PackageReference Include="IPTools.China" Version="1.6.0" />
@ -43,7 +43,7 @@
<PackageReference Include="MiniExcel" Version="1.41.3" />
<PackageReference Include="MiniWord" Version="0.9.2" />
<PackageReference Include="MQTTnet.Server" Version="5.0.1.1416" />
<PackageReference Include="MySqlBackup.NET.MySqlConnector" Version="2.6.1" />
<PackageReference Include="MySqlBackup.NET.MySqlConnector" Version="2.6.2" />
<PackageReference Include="NewLife.Redis" Version="6.3.2025.701" />
<PackageReference Include="Novell.Directory.Ldap.NETStandard" Version="4.0.0" />
<PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.2.0" />
@ -59,15 +59,15 @@
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1273" />
<PackageReference Include="UAParser" Version="3.1.47" />
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
<PackageReference Include="microsoft.semantickernel" Version="1.59.0" />
<PackageReference Include="Microsoft.SemanticKernel.Agents.Core" Version="1.59.0" />
<PackageReference Include="microsoft.semantickernel" Version="1.60.0" />
<PackageReference Include="Microsoft.SemanticKernel.Agents.Core" Version="1.60.0" />
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Amazon" Version="1.56.0-alpha" />
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Google" Version="1.54.0-alpha" />
<PackageReference Include="Microsoft.SemanticKernel.Connectors.HuggingFace" Version="1.56.0-preview" />
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Ollama" Version="1.54.0-alpha" />
<PackageReference Include="Microsoft.SemanticKernel.Connectors.Qdrant" Version="1.54.0-preview" />
<PackageReference Include="Microsoft.SemanticKernel.PromptTemplates.Handlebars" Version="1.59.0" />
<PackageReference Include="Microsoft.SemanticKernel.Yaml" Version="1.59.0" />
<PackageReference Include="Microsoft.SemanticKernel.PromptTemplates.Handlebars" Version="1.60.0" />
<PackageReference Include="Microsoft.SemanticKernel.Yaml" Version="1.60.0" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
@ -84,9 +84,9 @@
<PackageReference Include="AspNet.Security.OAuth.Gitee" Version="9.4.0" />
<PackageReference Include="AspNet.Security.OAuth.Weixin" Version="9.4.0" />
<PackageReference Include="Lazy.Captcha.Core" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.6" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="9.0.6" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="9.0.6" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.7" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="9.0.7" />
<PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="9.0.7" />
<PackageReference Include="My.Extensions.Localization.Json" Version="3.4.0" />
</ItemGroup>

View File

@ -20,30 +20,35 @@ public class SysColumnCustom : EntityTenantId
/// </summary>
[SugarColumn(ColumnDescription = "用户Id")]
public long UserId { get; set; }
/// <summary>
/// 表格Id
/// </summary>
[MaxLength(128)]
[SugarColumn(ColumnDescription = "表格Id", Length = 128)]
[MaxLength(128)]
public string GridId { get; set; }
/// <summary>
/// 冻结列状态数据
/// </summary>
[SugarColumn(ColumnDescription = "冻结列状态数据", IsNullable = true, ColumnDataType = StaticConfig.CodeFirst_BigString)]
[SugarColumn(ColumnDescription = "冻结列状态数据", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? FixedData { get; set; }
/// <summary>
/// 列宽状态数据
/// </summary>
[SugarColumn(ColumnDescription = "列宽状态数据", IsNullable = true, ColumnDataType = StaticConfig.CodeFirst_BigString)]
[SugarColumn(ColumnDescription = "列宽状态数据", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? ResizableData { get; set; }
/// <summary>
/// 列顺序数据
/// </summary>
[SugarColumn(ColumnDescription = "列顺序数据", IsNullable = true, ColumnDataType = StaticConfig.CodeFirst_BigString)]
[SugarColumn(ColumnDescription = "列顺序数据", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? SortData { get; set; }
/// <summary>
/// 显示/隐藏列状态数据
/// </summary>
[SugarColumn(ColumnDescription = "显示/隐藏列状态数据", IsNullable = true, ColumnDataType = StaticConfig.CodeFirst_BigString)]
[SugarColumn(ColumnDescription = "显示/隐藏列状态数据", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? VisibleData { get; set; }
}

View File

@ -14,7 +14,6 @@ public class BaseColumnCustomInput
/// <summary>
/// 表格Id
/// </summary>
[MaxLength(128)]
[Required(ErrorMessage = "表格Id不能为空")]
public virtual string GridId { get; set; }
}
@ -34,21 +33,24 @@ public class StoreColumnCustomInput
/// <summary>
/// 表格Id
/// </summary>
[MaxLength(128)]
[Required(ErrorMessage = "表格Id不能为空")]
public virtual string GridId { get; set; }
/// <summary>
/// 冻结列状态数据
/// </summary>
public virtual Dictionary<string, string>? FixedData { get; set; }
/// <summary>
/// 列宽状态数据
/// </summary>
public virtual Dictionary<string, int>? ResizableData { get; set; }
/// <summary>
/// 列顺序数据
/// </summary>
public virtual Dictionary<string, int>? SortData { get; set; }
/// <summary>
/// 显示/隐藏列状态数据
/// </summary>

View File

@ -5,6 +5,7 @@
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
namespace Admin.NET.Core.Service;
/// <summary>
/// 用户表格列配置输出参数
/// </summary>
@ -14,22 +15,27 @@ public class ColumnCustomOutput
/// 用户Id
/// </summary>
public virtual long UserId { get; set; }
/// <summary>
/// 表格Id
/// </summary>
public virtual string GridId { get; set; }
/// <summary>
/// 冻结列状态数据
/// </summary>
public virtual Dictionary<string, string>? FixedData { get; set; }
/// <summary>
/// 列宽状态数据
/// </summary>
public virtual Dictionary<string, int>? ResizableData { get; set; }
/// <summary>
/// 列顺序数据
/// </summary>
public virtual Dictionary<string, int>? SortData { get; set; }
/// <summary>
/// 显示/隐藏列状态数据
/// </summary>

View File

@ -16,7 +16,7 @@ namespace Admin.NET.Core.Service;
public class SysColumnCustomService(SqlSugarRepository<SysColumnCustom> rep, UserManager um, SysCacheService cache) : IDynamicApiController, ITransient
{
/// <summary>
/// 获取用户表格列配置信息
/// 获取用户表格列配置信息 🔖
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
@ -47,17 +47,16 @@ public class SysColumnCustomService(SqlSugarRepository<SysColumnCustom> rep, Use
}
/// <summary>
/// 保存用户表格列配置信息
/// 保存用户表格列配置信息 🔖
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
[DisplayName("保存用户表格列配置信息")]
public async Task Store(StoreColumnCustomInput input)
{
var temp = await rep.GetFirstAsync(e => e.UserId == um.UserId && e.GridId == input.GridId);
if (temp is null) temp = new SysColumnCustom { UserId = um.UserId, GridId = input.GridId };
else cache.Remove($"{CacheConst.KeyColumnCustom}{um.UserId}:{input.GridId}"); //移除缓存
else cache.Remove($"{CacheConst.KeyColumnCustom}{um.UserId}:{input.GridId}"); // 移除缓存
temp.FixedData = JSON.Serialize(input.FixedData);
temp.ResizableData = JSON.Serialize(input.ResizableData);
temp.SortData = JSON.Serialize(input.SortData);
@ -66,15 +65,14 @@ public class SysColumnCustomService(SqlSugarRepository<SysColumnCustom> rep, Use
}
/// <summary>
/// 清除用户表格列配置信息
/// 清除用户表格列配置信息 🔖
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
[DisplayName("清除用户表格列配置信息")]
public async Task Reset(ResetColumnCustomInput input)
{
await rep.AsDeleteable().Where(e => e.UserId == um.UserId && e.GridId == input.GridId).ExecuteCommandAsync();
cache.Remove($"{CacheConst.KeyColumnCustom}{um.UserId}:{input.GridId}"); //移除缓存
cache.Remove($"{CacheConst.KeyColumnCustom}{um.UserId}:{input.GridId}"); // 移除缓存
}
}

View File

@ -278,11 +278,11 @@ public class SysCommonService : IDynamicApiController, ITransient
var stressTestHarnessResult = await _httpRemoteService.SendAsync(HttpRequestBuilder.StressTestHarness(input.RequestUri)
.SetNumberOfRequests(input.NumberOfRequests) // 并发请求数量
.SetNumberOfRounds(input.NumberOfRounds) // 压测轮次
.SetMaxDegreeOfParallelism(input.MaxDegreeOfParallelism), // 最大并发度
builder => builder.WithHeaders(input.Headers)
.WithQueryParameters(input.QueryParameters)
.WithPathParameters(input.PathParameters)
.SetJsonContent(input.JsonContent));
.SetMaxDegreeOfParallelism(input.MaxDegreeOfParallelism) // 最大并发度
.WithRequest(builder => builder.WithHeaders(input.Headers)
.WithQueryParameters(input.QueryParameters)
.WithPathParameters(input.PathParameters)
.SetJsonContent(input.JsonContent)));
return stressTestHarnessResult;
}
}

View File

@ -12,7 +12,7 @@
<ItemGroup>
<PackageReference Include="IGeekFan.AspNetCore.Knife4jUI" Version="0.0.16" />
<PackageReference Include="MQTTnet.AspNetCore" Version="5.0.1.1416" />
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="9.0.6" />
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="9.0.7" />
</ItemGroup>
<ItemGroup>

View File

@ -2,7 +2,7 @@
"name": "admin.net.pro",
"type": "module",
"version": "2.4.33",
"lastBuildTime": "2025.07.07",
"lastBuildTime": "2025.07.12",
"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
"author": "zuohuaijun",
"license": "MIT",
@ -38,7 +38,7 @@
"echarts": "^5.6.0",
"echarts-gl": "^2.0.9",
"echarts-wordcloud": "^2.1.0",
"element-plus": "^2.10.3",
"element-plus": "^2.10.4",
"exceljs": "^4.4.0",
"ezuikit-js": "^8.1.12",
"flag-icons": "^7.5.0",
@ -84,9 +84,9 @@
"vue-router": "^4.5.1",
"vue-signature-pad": "^3.0.2",
"vue3-tree-org": "^4.2.2",
"vxe-pc-ui": "^4.6.48",
"vxe-table": "^4.13.52",
"xe-utils": "^3.7.5",
"vxe-pc-ui": "^4.7.5",
"vxe-table": "^4.14.2",
"xe-utils": "^3.7.6",
"xlsx-js-style": "^1.2.0"
},
"devDependencies": {
@ -111,7 +111,7 @@
"sass": "^1.89.2",
"terser": "^5.43.1",
"typescript": "^5.8.3",
"vite": "^7.0.2",
"vite": "^7.0.4",
"vite-plugin-cdn-import": "^1.0.1",
"vite-plugin-compression2": "^2.2.0",
"vite-plugin-forvmsc": "^1.0.6",

View File

@ -28,7 +28,7 @@ export const SysColumnCustomApiAxiosParamCreator = function (configuration?: Con
return {
/**
*
* @summary
* @summary 🔖
* @param {string} gridId Id
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@ -80,7 +80,7 @@ export const SysColumnCustomApiAxiosParamCreator = function (configuration?: Con
},
/**
*
* @summary
* @summary 🔖
* @param {ResetColumnCustomInput} [body]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@ -128,7 +128,7 @@ export const SysColumnCustomApiAxiosParamCreator = function (configuration?: Con
},
/**
*
* @summary
* @summary 🔖
* @param {StoreColumnCustomInput} [body]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@ -185,7 +185,7 @@ export const SysColumnCustomApiFp = function(configuration?: Configuration) {
return {
/**
*
* @summary
* @summary 🔖
* @param {string} gridId Id
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@ -199,7 +199,7 @@ export const SysColumnCustomApiFp = function(configuration?: Configuration) {
},
/**
*
* @summary
* @summary 🔖
* @param {ResetColumnCustomInput} [body]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@ -213,7 +213,7 @@ export const SysColumnCustomApiFp = function(configuration?: Configuration) {
},
/**
*
* @summary
* @summary 🔖
* @param {StoreColumnCustomInput} [body]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@ -236,7 +236,7 @@ export const SysColumnCustomApiFactory = function (configuration?: Configuration
return {
/**
*
* @summary
* @summary 🔖
* @param {string} gridId Id
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@ -246,7 +246,7 @@ export const SysColumnCustomApiFactory = function (configuration?: Configuration
},
/**
*
* @summary
* @summary 🔖
* @param {ResetColumnCustomInput} [body]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@ -256,7 +256,7 @@ export const SysColumnCustomApiFactory = function (configuration?: Configuration
},
/**
*
* @summary
* @summary 🔖
* @param {StoreColumnCustomInput} [body]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@ -276,7 +276,7 @@ export const SysColumnCustomApiFactory = function (configuration?: Configuration
export class SysColumnCustomApi extends BaseAPI {
/**
*
* @summary
* @summary 🔖
* @param {string} gridId Id
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@ -287,7 +287,7 @@ export class SysColumnCustomApi extends BaseAPI {
}
/**
*
* @summary
* @summary 🔖
* @param {ResetColumnCustomInput} [body]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
@ -298,7 +298,7 @@ export class SysColumnCustomApi extends BaseAPI {
}
/**
*
* @summary
* @summary 🔖
* @param {StoreColumnCustomInput} [body]
* @param {*} [options] Override http request option.
* @throws {RequiredError}

View File

@ -118,11 +118,11 @@ export const useVxeTable = <T>(opt: iVxeOption, extras?: VxeGridProps<T>) => {
} else {
options.sortConfig = { remote: true };
}
if (opt.remoteCustom) {
if (opt.remoteCustom && options.customConfig != undefined) {
// 重写默认的恢复自定义配置逻辑
options.customConfig.restoreStore = async ({ id, storeData }) => {
const { data } = await getAPI(SysColumnCustomApi).apiSysColumnCustomDetailGet(id);
if (data.result?.fixedData) storeData.fixedData = data.result.fixedData;
if (data.result?.fixedData) storeData.fixedData = data.result.fixedData as any;
if (data.result?.resizableData) storeData.resizableData = data.result.resizableData;
if (data.result?.sortData) storeData.sortData = data.result.sortData;
if (data.result?.visibleData) storeData.visibleData = data.result.visibleData;
@ -134,7 +134,7 @@ export const useVxeTable = <T>(opt: iVxeOption, extras?: VxeGridProps<T>) => {
else {
await getAPI(SysColumnCustomApi).apiSysColumnCustomStorePost({
gridId: id,
fixedData: storeData?.fixedData,
fixedData: storeData?.fixedData as any,
resizableData: storeData?.resizableData,
sortData: storeData?.sortData,
visibleData: storeData?.visibleData,