Переглянути джерело

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

zuohuaijun 10 місяців тому
батько
коміт
72461f7284

+ 9 - 9
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -18,11 +18,11 @@
     <PackageReference Include="AngleSharp" Version="1.3.0" />
     <PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" />
     <PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
-    <PackageReference Include="Elastic.Clients.Elasticsearch" Version="9.0.4" />
-    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.70" />
-    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.70" />
-    <PackageReference Include="Furion.Pure" Version="4.9.7.70" />
-	<PackageReference Include="Hardware.Info" Version="101.0.1" />
+    <PackageReference Include="Elastic.Clients.Elasticsearch" Version="9.0.6" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.80" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.80" />
+    <PackageReference Include="Furion.Pure" Version="4.9.7.80" />
+	<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" />
     <PackageReference Include="IPTools.International" Version="1.6.0" />
@@ -33,7 +33,7 @@
     <PackageReference Include="MailKit" Version="4.12.1" />
     <PackageReference Include="MiniExcel" Version="1.41.2" />
     <PackageReference Include="MiniWord" Version="0.9.2" />
-    <PackageReference Include="NewLife.Redis" Version="6.2.2025.503" />
+    <PackageReference Include="NewLife.Redis" Version="6.2.2025.601" />
     <PackageReference Include="Novell.Directory.Ldap.NETStandard" Version="4.0.0" />
 	<PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.2.0" />
     <PackageReference Include="QRCoder" Version="1.6.0" />
@@ -43,10 +43,10 @@
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="3.12.0" />
     <PackageReference Include="SqlSugarCore" Version="5.1.4.194-preview24" />
     <PackageReference Include="SSH.NET" Version="2025.0.0" />
-    <PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.4" />
+    <PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.5" />
     <PackageReference Include="System.Net.Http" Version="4.3.4" />
     <PackageReference Include="System.Private.Uri" Version="4.3.2" />
-    <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1246" />
+    <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1252" />
     <PackageReference Include="UAParser" Version="3.1.47" />
     <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
     <PackageReference Include="BouncyCastle.Cryptography" Version="2.6.1" Aliases="BouncyCastleV2" />
@@ -74,7 +74,7 @@
 
   <ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
     <PackageReference Include="XiHan.Framework.Utils">
-      <Version>0.8.33</Version>
+      <Version>0.9.3</Version>
     </PackageReference>
   </ItemGroup>
 

+ 3 - 2
Admin.NET/Admin.NET.Core/Attribute/CustomJsonPropertyAttribute.cs

@@ -1,7 +1,7 @@
 // Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
-// 
+//
 // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
-// 
+//
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
 namespace Admin.NET.Core;
@@ -13,6 +13,7 @@ namespace Admin.NET.Core;
 public class CustomJsonPropertyAttribute : Attribute
 {
     public string Name { get; }
+
     public CustomJsonPropertyAttribute(string name)
     {
         Name = name;

+ 5 - 5
Admin.NET/Admin.NET.Core/Attribute/DataMaskAttribute.cs

@@ -1,7 +1,7 @@
 // Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
-// 
+//
 // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
-// 
+//
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
 namespace Admin.NET.Core;
@@ -36,7 +36,7 @@ public class DataMaskAttribute : Attribute
     {
         if (startIndex < 0) throw new ArgumentOutOfRangeException(nameof(startIndex));
         if (length <= 0) throw new ArgumentOutOfRangeException(nameof(length));
-        
+
         StartIndex = startIndex;
         Length = length;
     }
@@ -52,8 +52,8 @@ public class DataMaskAttribute : Attribute
         var maskedLength = Math.Min(Length, input.Length - StartIndex);
         var maskStr = new string(MaskChar, KeepLength ? maskedLength : Math.Min(4, maskedLength));
 
-        return input.Substring(0, StartIndex) + maskStr + 
-               (StartIndex + maskedLength < input.Length ? 
+        return input.Substring(0, StartIndex) + maskStr +
+               (StartIndex + maskedLength < input.Length ?
                    input.Substring(StartIndex + maskedLength) : "");
     }
 }

+ 4 - 4
Admin.NET/Admin.NET.Core/Extension/ObjectExtension.cs

@@ -492,9 +492,9 @@ public static partial class ObjectExtension
         if (obj == null) return null;
 
         var type = typeof(T);
-    
+
         // 获取或缓存属性集合
-        var properties = PropertyCache.GetOrAdd(type, t => 
+        var properties = PropertyCache.GetOrAdd(type, t =>
             t.GetProperties(BindingFlags.Public | BindingFlags.Instance)
                 .Where(p => p.PropertyType == typeof(string) && p.GetCustomAttribute<DataMaskAttribute>() != null)
                 .ToArray());
@@ -503,10 +503,10 @@ public static partial class ObjectExtension
         Parallel.ForEach(properties, prop =>
         {
             if (!prop.CanWrite) return;
-        
+
             // 获取或缓存特性
             var maskAttr = AttributeCache.GetOrAdd(prop, p => p.GetCustomAttribute<DataMaskAttribute>());
-            
+
             if (maskAttr == null) return;
 
             // 处理非空字符串

+ 1 - 1
Admin.NET/Admin.NET.Core/Extension/SqlSugarExtension.cs

@@ -291,7 +291,7 @@ public static class SqlSugarExtension
 
         return Expression.Call(selectorExpr, method, constant);
     }
-    
+
     #region 视图操作
 
     /// <summary>

+ 1 - 1
Admin.NET/Admin.NET.Core/Option/DbConnectionOptions.cs

@@ -81,7 +81,7 @@ public sealed class DbSettings
     /// 启用库表初始化
     /// </summary>
     public bool EnableInitDb { get; set; }
-    
+
     /// <summary>
     /// 启用视图初始化
     /// </summary>

+ 0 - 1
Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs

@@ -7,7 +7,6 @@
 using Furion.SpecificationDocument;
 using Lazy.Captcha.Core;
 using NewLife.Reflection;
-using System.Threading.Tasks;
 
 namespace Admin.NET.Core.Service;
 

+ 2 - 2
Admin.NET/Admin.NET.Core/SqlSugar/ISqlSugarView.cs

@@ -1,7 +1,7 @@
 // Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
-// 
+//
 // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
-// 
+//
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
 namespace Admin.NET.Core;

+ 1 - 1
Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarPagedList.cs

@@ -127,7 +127,7 @@ public static class SqlSugarPagedExtensions
         items.ForEach(x => x.MaskSensitiveData());
         return CreateSqlSugarPagedList(items, total, pageIndex, pageSize);
     }
-    
+
     /// <summary>
     /// 脱敏分页拓展
     /// </summary>

+ 0 - 2
Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs

@@ -5,8 +5,6 @@
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
 using Microsoft.Data.Sqlite;
-using SqlSugar;
-using System.Data.Common;
 using DbType = SqlSugar.DbType;
 
 namespace Admin.NET.Core;

+ 22 - 22
Admin.NET/Admin.NET.Core/Utils/CustomJsonPropertyConverter.cs

@@ -1,7 +1,7 @@
 // Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
-// 
+//
 // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
-// 
+//
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
 using System.Text.Json;
@@ -22,10 +22,10 @@ public class CustomJsonPropertyConverter : JsonConverter<object>
 
     // 缓存类型信息避免重复反射
     private static readonly ConcurrentDictionary<Type, IReadOnlyList<PropertyMeta>> PropertyCache = new();
-    
+
     // 日期时间格式化配置
     private readonly string _dateTimeFormat;
-    
+
     public CustomJsonPropertyConverter(string dateTimeFormat = "yyyy-MM-dd HH:mm:ss")
     {
         _dateTimeFormat = dateTimeFormat;
@@ -33,7 +33,7 @@ public class CustomJsonPropertyConverter : JsonConverter<object>
 
     public override bool CanConvert(Type typeToConvert)
     {
-        return PropertyCache.GetOrAdd(typeToConvert, type => 
+        return PropertyCache.GetOrAdd(typeToConvert, type =>
             type.GetProperties()
                 .Where(p => p.GetCustomAttribute<CustomJsonPropertyAttribute>() != null)
                 .Select(p => new PropertyMeta(p))
@@ -52,7 +52,7 @@ public class CustomJsonPropertyConverter : JsonConverter<object>
             if (jsonDoc.RootElement.TryGetProperty(prop.JsonName, out var value))
             {
                 object propertyValue;
-                
+
                 // 特殊处理日期时间类型
                 if (IsDateTimeType(prop.PropertyType))
                 {
@@ -61,16 +61,16 @@ public class CustomJsonPropertyConverter : JsonConverter<object>
                 else
                 {
                     propertyValue = JsonSerializer.Deserialize(
-                        value.GetRawText(), 
-                        prop.PropertyType, 
+                        value.GetRawText(),
+                        prop.PropertyType,
                         options
                     );
                 }
-                
+
                 prop.SetValue(instance, propertyValue);
             }
         }
-        
+
         return instance;
     }
 
@@ -82,9 +82,9 @@ public class CustomJsonPropertyConverter : JsonConverter<object>
         foreach (var prop in properties)
         {
             var propertyValue = prop.GetValue(value);
-            
+
             writer.WritePropertyName(prop.JsonName);
-            
+
             // 特殊处理日期时间类型
             if (propertyValue != null && IsDateTimeType(prop.PropertyType))
             {
@@ -95,7 +95,7 @@ public class CustomJsonPropertyConverter : JsonConverter<object>
                 JsonSerializer.Serialize(writer, propertyValue, options);
             }
         }
-        
+
         writer.WriteEndObject();
     }
 
@@ -112,8 +112,8 @@ public class CustomJsonPropertyConverter : JsonConverter<object>
         if (string.IsNullOrEmpty(dateStr)) return null;
 
         var date = DateTime.Parse(dateStr);
-        return targetType == typeof(DateTimeOffset) 
-            ? new DateTimeOffset(date) 
+        return targetType == typeof(DateTimeOffset)
+            ? new DateTimeOffset(date)
             : (object)date;
     }
 
@@ -138,7 +138,7 @@ public class CustomJsonPropertyConverter : JsonConverter<object>
         private readonly PropertyInfo _property;
         private readonly Func<object, object> _getter;
         private readonly Action<object, object> _setter;
-        
+
         public string JsonName { get; }
         public Type PropertyType => _property.PropertyType;
 
@@ -146,28 +146,28 @@ public class CustomJsonPropertyConverter : JsonConverter<object>
         {
             _property = property;
             JsonName = property.GetCustomAttribute<CustomJsonPropertyAttribute>()?.Name ?? property.Name;
-            
+
             // 编译表达式树优化属性访问
             var instanceParam = Expression.Parameter(typeof(object), "instance");
             var valueParam = Expression.Parameter(typeof(object), "value");
-            
+
             // Getter
             var getterExpr = Expression.Lambda<Func<object, object>>(
                 Expression.Convert(
                     Expression.Property(
-                        Expression.Convert(instanceParam, property.DeclaringType), 
+                        Expression.Convert(instanceParam, property.DeclaringType),
                         property),
                     typeof(object)),
                 instanceParam);
             _getter = getterExpr.Compile();
-            
+
             // Setter
             if (property.CanWrite)
             {
                 var setterExpr = Expression.Lambda<Action<object, object>>(
                     Expression.Assign(
                         Expression.Property(
-                            Expression.Convert(instanceParam, property.DeclaringType), 
+                            Expression.Convert(instanceParam, property.DeclaringType),
                             property),
                         Expression.Convert(valueParam, property.PropertyType)),
                     instanceParam, valueParam);
@@ -176,7 +176,7 @@ public class CustomJsonPropertyConverter : JsonConverter<object>
         }
 
         public object GetValue(object instance) => _getter(instance);
-        
+
         public void SetValue(object instance, object value)
         {
             if (_setter != null)

+ 1 - 1
Admin.NET/Admin.NET.Test/Admin.NET.Test.csproj

@@ -12,7 +12,7 @@
     </PropertyGroup>
 
     <ItemGroup>
-      <PackageReference Include="Furion.Xunit" Version="4.9.7.75" />
+      <PackageReference Include="Furion.Xunit" Version="4.9.7.80" />
       <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
       <PackageReference Include="Selenium.Support" Version="4.33.0" />
       <PackageReference Include="Selenium.WebDriver" Version="4.33.0" />

+ 1 - 0
Admin.NET/Plugins/Admin.NET.Plugin.DingTalk/Service/DingTalkService.cs

@@ -72,6 +72,7 @@ public class DingTalkService : IDynamicApiController, IScoped
     {
         return await _dingTalkApi.DingTalkSendInteractiveCards(token, input);
     }
+
     /// <summary>
     /// 创建并投放钉钉消息卡片 🔖
     /// </summary>

+ 47 - 3
Admin.NET/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkCreateAndDeliverInput.cs

@@ -4,65 +4,78 @@
 //
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
-
 namespace Admin.NET.Plugin.DingTalk;
+
 public class DingTalkCreateAndDeliverInput
 {
     /// <summary>
     /// 卡片创建者的userId
     /// </summary>
     public string? userId { get; set; }
+
     /// <summary>
     /// 卡片内容模板ID
     /// </summary>
     [Required]
     public string cardTemplateId { get; set; }
+
     /// <summary>
     /// 外部卡片实例Id
     /// </summary>
     [Required]
     public string outTrackId { get; set; }
+
     /// <summary>
     /// 卡片回调的类型:STREAM:stream模式 HTTP:http模式
     /// </summary>
     public string? callbackType { get; set; }
+
     /// <summary>
     /// 卡片回调HTTP模式时的路由 Key,用于查询注册的 callbackUrl。
     /// </summary>
     public string? callbackRouteKey { get; set; }
+
     /// <summary>
     /// 卡片数据
     /// </summary>
     [Required]
     public DingTalk_CardData cardData { get; set; }
+
     /// <summary>
     /// 用户的私有数据
     /// </summary>
     public PrivateData? crivateData { get; set; }
+
     /// <summary>
     /// 动态数据源配置
     /// </summary>
     public OpenDynamicDataConfig? openDynamicDataConfig { get; set; }
+
     /// <summary>
     /// IM单聊酷应用场域信息
     /// </summary>
     public OpenSpaceModel? imSingleOpenSpaceModel { get; set; }
+
     /// <summary>
     /// IM群聊场域信息。
     /// </summary>
     public OpenSpaceModel? imGroupOpenSpaceModel { get; set; }
+
     /// <summary>
     /// IM机器人单聊场域信息。
     /// </summary>
     public OpenSpaceModel? imRobotOpenSpaceModel { get; set; }
+
     /// <summary>
     /// 协作场域信息
     /// </summary>
     public OpenSpaceModel? coFeedOpenSpaceModel { get; set; }
+
     /// <summary>
     /// 吊顶场域信息
     /// </summary>
     public OpenSpaceModel? topOpenSpaceModel { get; set; }
+
     /// <summary>
     /// 表示场域及其场域id
     /// </summary>
@@ -71,41 +84,48 @@ public class DingTalkCreateAndDeliverInput
     /// </remarks>
     [Required]
     public string openSpaceId { get; set; }
+
     /// <summary>
     /// 单聊酷应用场域投放参数。
     /// </summary>
     public DingTalkOpenDeliverModel? imSingleOpenDeliverModel { get; set; }
+
     /// <summary>
     /// 群聊投放参数。
     /// </summary>
     public DingTalkOpenDeliverModel? imGroupOpenDeliverModel { get; set; }
+
     /// <summary>
     /// IM机器人单聊投放参数。
     /// </summary>
     public DingTalkOpenDeliverModel? imRobotOpenDeliverModel { get; set; }
+
     /// <summary>
     /// 吊顶投放参数。
     /// </summary>
     public DingTalkOpenDeliverModel? topOpenDeliverModel { get; set; }
+
     /// <summary>
     /// 协作投放参数。
     /// </summary>
     public DingTalkOpenDeliverModel? coFeedOpenDeliverModel { get; set; }
+
     /// <summary>
     /// 文档投放参数
     /// </summary>
     public DingTalkOpenDeliverModel? docOpenDeliverModel { get; set; }
+
     /// <summary>
     /// 用户userId类型:1(默认):userId模式 2:unionId模式
     /// </summary>
     public int UserIdType { get; set; }
-
-
 }
+
 public class DingTalk_CardData
 {
     public DingTalk_CardParamMap cardParamMap { get; set; }
 }
+
 /// <summary>
 /// 卡片模板内容替换参数
 /// </summary>
@@ -138,10 +158,12 @@ public class DynamicDataSourceConfig
     /// 数据源的唯一 ID, 调用方指定。
     /// </summary>
     public string? dynamicDataSourceId { get; set; }
+
     /// <summary>
     /// 回调数据源时回传的固定参数。 示例
     /// </summary>
     public Dictionary<string, string>? constParams { get; set; }
+
     /// <summary>
     /// 数据源拉取配置。
     /// </summary>
@@ -154,41 +176,50 @@ public class PullConfig
     /// 拉取策略,可选值:NONE:不拉取,无动态数据  INTERVAL:间隔拉取ONCE:只拉取一次
     /// </summary>
     public string pullStrategy { get; set; }
+
     /// <summary>
     /// 拉取的间隔时间。
     /// </summary>
     public int interval { get; set; }
+
     /// <summary>
     /// 拉取的间隔时间的单位, 可选值:SECONDS:秒 MINUTES:分钟 HOURS:小时 DAYS:天
     /// </summary>
     public string timeUnit { get; set; }
 }
+
 public class OpenSpaceModel
 {
     /// <summary>
     /// 吊顶场域属性,通过增加spaeType使卡片支持吊顶场域。
     /// </summary>
     public string? spaceType { get; set; }
+
     /// <summary>
     /// 卡片标题。
     /// </summary>
     public string? title { get; set; }
+
     /// <summary>
     /// 酷应用编码。
     /// </summary>
     public string? coolAppCode { get; set; }
+
     /// <summary>
     /// 是否支持转发, 默认false。
     /// </summary>
     public bool? supportForward { get; set; }
+
     /// <summary>
     /// 支持国际化的LastMessage。
     /// </summary>
     public Dictionary<string, string>? lastMessageI18n { get; set; }
+
     /// <summary>
     /// 支持卡片消息可被搜索字段。
     /// </summary>
     public SearchSupport? searchSupport { get; set; }
+
     /// <summary>
     /// 通知信息。
     /// </summary>
@@ -201,10 +232,12 @@ public class SearchSupport
     /// 类型的icon,供搜索展示使用。
     /// </summary>
     public string searchIcon { get; set; }
+
     /// <summary>
     /// 卡片类型名。
     /// </summary>
     public string searchTypeName { get; set; }
+
     /// <summary>
     /// 供消息展示与搜索的字段。
     /// </summary>
@@ -217,6 +250,7 @@ public class Notification
     /// 供消息展示与搜索的字段。
     /// </summary>
     public string alertContent { get; set; }
+
     /// <summary>
     /// 是否关闭推送通知:true:关闭 false:不关闭
     /// </summary>
@@ -229,42 +263,52 @@ public class DingTalkOpenDeliverModel
     /// 用于发送卡片的机器人编码。
     /// </summary>
     public string robotCode { get; set; }
+
     /// <summary>
     /// 消息@人。格式:{"key":"value"}。key:用户的userId value:用户名
     /// </summary>
     public Dictionary<string, string> atUserIds { get; set; }
+
     /// <summary>
     /// 指定接收人的userId。
     /// </summary>
     public List<string> recipients { get; set; }
+
     /// <summary>
     /// 扩展字段,示例如下:{"key":"value"}
     /// </summary>
     public Dictionary<string, string> extension { get; set; }
+
     /// <summary>
     /// IM机器人单聊若未设置其他投放属性,需设置spaeType为IM_ROBOT。
     /// </summary>
     public string spaceType { get; set; }
+
     /// <summary>
     /// 过期时间戳。若使用topOpenDeliverModel对象,则该字段必填。
     /// </summary>
     public long expiredTimeMillis { get; set; }
+
     /// <summary>
     /// 可以查看该吊顶卡片的userId。
     /// </summary>
     public List<string> userIds { get; set; }
+
     /// <summary>
     /// 可以查看该吊顶卡片的设备:android|ios|win|mac。
     /// </summary>
     public List<string> platforms { get; set; }
+
     /// <summary>
     /// 业务标识。
     /// </summary>
     public string bizTag { get; set; }
+
     /// <summary>
     /// 协作场域下的排序时间。
     /// </summary>
     public long gmtTimeLine { get; set; }
+
     /// <summary>
     /// 员工userId信息
     /// </summary>

+ 3 - 1
Admin.NET/Plugins/Admin.NET.Plugin.DingTalk/Service/Dto/DingTalkCreateAndDeliverOutput.cs

@@ -5,6 +5,7 @@
 // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
 
 namespace Admin.NET.Plugin.DingTalk;
+
 public class DingTalkCreateAndDeliverOutput
 {
     /// <summary>
@@ -16,11 +17,12 @@ public class DingTalkCreateAndDeliverOutput
     /// 创建卡片结果
     /// </summary>
     public DingTalkCreateAndDeliverResult result { get; set; }
+
     public string code { get; set; }
     public string requestid { get; set; }
     public string message { get; set; }
-
 }
+
 public class DingTalkCreateAndDeliverResult
 {
     /// <summary>

+ 1 - 0
Admin.NET/Plugins/Admin.NET.Plugin.DingTalk/Service/IDingTalkApi.cs

@@ -83,6 +83,7 @@ public interface IDingTalkApi : IHttpDeclarative
     [Post("https://oapi.dingtalk.com/topapi/role/simplelist")]
     Task<DingTalkBaseResponse<DingTalkRoleSimplelistOutput>> GetDingTalkRoleSimplelist([Query] string access_token,
         [Body(ContentType = "application/json", UseStringContent = true), Required] GetDingTalkCurrentRoleSimplelistInput input);
+
     /// <summary>
     /// 创建并投放钉钉消息卡片
     /// </summary>

+ 1 - 1
Admin.NET/Plugins/Admin.NET.Plugin.ReZero/Admin.NET.Plugin.ReZero.csproj

@@ -26,7 +26,7 @@
   <ItemGroup>
     <PackageReference Include="DocumentFormat.OpenXml" Version="3.3.0" />
     <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.14.0" />
-    <PackageReference Include="Rezero.Api" Version="1.8.20" />
+    <PackageReference Include="Rezero.Api" Version="1.8.21" />
   </ItemGroup>
 
   <ItemGroup>

+ 1 - 1
Web/package.json

@@ -2,7 +2,7 @@
 	"name": "admin.net",
 	"type": "module",
 	"version": "2.4.33",
-	"lastBuildTime": "2025.05.25",
+	"lastBuildTime": "2025.06.03",
 	"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
 	"author": "zuohuaijun",
 	"license": "MIT",