commits列表 30 项
提交内容 9/9
搞定枚举中0的特殊字段说明,比如检索区域(InputQueryxxx)是全部,其他区域是暂无
example/ExampleApeart.Application.Contracts/usermodels/GradeInfoDto.cs
diff --git a/example/ExampleApeart.Application.Contracts/usermodels/GradeInfoDto.cs b/example/ExampleApeart.Application.Contracts/usermodels/GradeInfoDto.cs
index 1f619c1..beeecce 100644
--- a/example/ExampleApeart.Application.Contracts/usermodels/GradeInfoDto.cs
+++ b/example/ExampleApeart.Application.Contracts/usermodels/GradeInfoDto.cs
@@ -60,6 +60,11 @@ namespace ExampleApeart.usermodels
         [PasteSplit(";")]
         public DateTime[] dates { get; set; }
 
+        /// <summary>
+        /// 测试 测试全部/无的枚举功能
+        /// </summary>
+        public EnumRoleType roletype { get; set; } = EnumRoleType.Menu;
+
     }
 
     ///<summary>
example/ExampleApeart.Domain/enummodels/EnumRoleType.cs
diff --git a/example/ExampleApeart.Domain/enummodels/EnumRoleType.cs b/example/ExampleApeart.Domain/enummodels/EnumRoleType.cs
index 448354c..cc76154 100644
--- a/example/ExampleApeart.Domain/enummodels/EnumRoleType.cs
+++ b/example/ExampleApeart.Domain/enummodels/EnumRoleType.cs
@@ -1,4 +1,4 @@
-using System.ComponentModel;
+using System.ComponentModel;
 
 namespace ExampleApeart
 {
@@ -9,29 +9,29 @@ namespace ExampleApeart
     public enum EnumRoleType
     {
         /// <summary>
-        /// 全部
+        /// 全部/无
         /// </summary>
-        [Description("全部")]
-        All = -1,
+        [Description("全部/无")]
+        All = 0,
         /// <summary>
         /// <![CDATA[<i_*_style="color:green;">权限</i>]]>
         /// </summary>
         [Description("权限")]
-        Role = 0,
+        Role = 1,
         /// <summary>
         /// 菜单
         /// </summary>
         [Description("<span_*_style=\"background:#f3f3f3;color:blue;\">菜单</span>")]
-        Menu = 1,
+        Menu = 2,
         /// <summary>
-        /// 权限
+        /// 按钮
         /// </summary>
         [Description("<span_*_style=\"color:red;\">按钮</span>")]
-        Button = 2,
+        Button = 3,
         /// <summary>
         /// 小程序菜单
         /// </summary>
         [Description("小程序菜单")]
-        MiniMenu = 3
+        MiniMenu = 4
     }
 }
example/ExampleApeart.HttpApi.Host/Controllers/UserController.cs
diff --git a/example/ExampleApeart.HttpApi.Host/Controllers/UserController.cs b/example/ExampleApeart.HttpApi.Host/Controllers/UserController.cs
index d58a914..bb47feb 100644
--- a/example/ExampleApeart.HttpApi.Host/Controllers/UserController.cs
+++ b/example/ExampleApeart.HttpApi.Host/Controllers/UserController.cs
@@ -133,7 +133,7 @@ namespace ExampleApeart.HttpApi.Host.Controllers
             var _query_roleid = _dbContext.GradeRole.Where(x => grade_ids.Contains(x.GradeId)).Select(x => x.RoleId);
 
             //通过二次缓存,可以读取权限列表信息
-            var roles = await _dbContext.RoleInfo.Where(x => x.IsEnable && x.RoleType == 0)
+            var roles = await _dbContext.RoleInfo.Where(x => x.IsEnable && x.RoleType ==  EnumRoleType.Role)
                 .WhereIf(!_is_root, x => _query_roleid.Contains(x.Id))
                 .WhereIf(_is_root, x => true)
                 .AsNoTracking()
example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
diff --git a/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml b/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
index e0f3d07..86c0aa1 100644
--- a/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
+++ b/example/ExampleApeart.HttpApi.Host/ExampleApeart.Application.Contracts.xml
@@ -114,6 +114,11 @@
             DateTime 模拟输入多个DateTime,使用;分割
             </summary>
         </member>
+        <member name="P:ExampleApeart.usermodels.GradeInfoAddDto.roletype">
+            <summary>
+            测试 测试全部/无的枚举功能
+            </summary>
+        </member>
         <member name="T:ExampleApeart.usermodels.GradeInfoUpdateDto">
             <summary>
             角色信息 一个账号可以绑定多个角色,角色绑定权限
example/ExampleApeart.HttpApi.Host/ExampleApeart.Domain.xml
diff --git a/example/ExampleApeart.HttpApi.Host/ExampleApeart.Domain.xml b/example/ExampleApeart.HttpApi.Host/ExampleApeart.Domain.xml
index f7af271..e6f1257 100644
--- a/example/ExampleApeart.HttpApi.Host/ExampleApeart.Domain.xml
+++ b/example/ExampleApeart.HttpApi.Host/ExampleApeart.Domain.xml
@@ -91,7 +91,7 @@
         </member>
         <member name="F:ExampleApeart.EnumRoleType.All">
             <summary>
-            全部
+            全部/无
             </summary>
         </member>
         <member name="F:ExampleApeart.EnumRoleType.Role">
@@ -106,7 +106,7 @@
         </member>
         <member name="F:ExampleApeart.EnumRoleType.Button">
             <summary>
-            权限
+            按钮
             </summary>
         </member>
         <member name="F:ExampleApeart.EnumRoleType.MiniMenu">
example/ExampleApeart.HttpApi.Host/config/roles.json
diff --git a/example/ExampleApeart.HttpApi.Host/config/roles.json b/example/ExampleApeart.HttpApi.Host/config/roles.json
index 5232feb..03d84aa 100644
--- a/example/ExampleApeart.HttpApi.Host/config/roles.json
+++ b/example/ExampleApeart.HttpApi.Host/config/roles.json
@@ -5,7 +5,7 @@
     "role": "",
     "icon": "Hui-iconfont-menu",
     "path": "",
-    "roleType": 1,
+    "roleType":2,
     "desc": "",
     "isEnable": true,
     "sort": 10,
@@ -17,7 +17,7 @@
         "role": "root",
         "icon": "",
         "path": "",
-        "roleType": 0,
+        "roleType":1,
         "desc": "",
         "isEnable": true,
         "sort": 20,
@@ -30,7 +30,7 @@
         "role": "view",
         "icon": "",
         "path": "",
-        "roleType": 0,
+        "roleType":1,
         "desc": "",
         "isEnable": true,
         "sort": 30,
@@ -43,7 +43,7 @@
         "role": "del",
         "icon": "",
         "path": "",
-        "roleType": 0,
+        "roleType":1,
         "desc": "",
         "isEnable": true,
         "sort": 40,
@@ -56,7 +56,7 @@
         "role": "",
         "icon": "Hui-iconfont-userid",
         "path": "pasteform/index.html?path=roleInfo",
-        "roleType": 1,
+        "roleType":2,
         "desc": "",
         "isEnable": true,
         "sort": 100,
@@ -69,7 +69,7 @@
         "role": "",
         "icon": "Hui-iconfont-user-group",
         "path": "pasteform/index.html?path=gradeInfo",
-        "roleType": 1,
+        "roleType":2,
         "desc": "",
         "isEnable": true,
         "sort": 110,
@@ -82,7 +82,7 @@
         "role": "",
         "icon": "Hui-iconfont-user",
         "path": "pasteform/index.html?path=userInfo",
-        "roleType": 1,
+        "roleType":2,
         "desc": "",
         "isEnable": true,
         "sort": 120,
@@ -95,7 +95,7 @@
         "role": "",
         "icon": "Hui-iconfont-search1",
         "path": "command/index.html",
-        "roleType": 1,
+        "roleType":2,
         "desc": "",
         "isEnable": true,
         "sort": 779,
@@ -108,7 +108,7 @@
         "role": "",
         "icon": "Hui-iconfont-pifu",
         "path": "lib/Hui-iconfont/1.0.8/demo.html",
-        "roleType": 1,
+        "roleType":2,
         "desc": "",
         "isEnable": true,
         "sort": 900,
@@ -121,7 +121,7 @@
         "role": "",
         "icon": "Hui-iconfont-pifu",
         "path": "./pasteform/index.html?path=quickHandler",
-        "roleType": 1,
+        "roleType":2,
         "desc": "",
         "isEnable": true,
         "sort": 800,
framework/Directory.Build.props
diff --git a/framework/Directory.Build.props b/framework/Directory.Build.props
index d682c9d..882c51c 100644
--- a/framework/Directory.Build.props
+++ b/framework/Directory.Build.props
@@ -1,7 +1,7 @@
 <Project>
   <PropertyGroup>
-    <Version>26.9.21</Version>
-    <FileVersion>26.9.21</FileVersion>
-    <AssemblyVersion>26.9.21</AssemblyVersion>
+    <Version>26.9.22</Version>
+    <FileVersion>26.9.22</FileVersion>
+    <AssemblyVersion>26.9.22</AssemblyVersion>
   </PropertyGroup>
 </Project>
\ No newline at end of file
framework/PasteApeart.Helper/BuilderHelper.cs
diff --git a/framework/PasteApeart.Helper/BuilderHelper.cs b/framework/PasteApeart.Helper/BuilderHelper.cs
index 97b5745..464eb63 100644
--- a/framework/PasteApeart.Helper/BuilderHelper.cs
+++ b/framework/PasteApeart.Helper/BuilderHelper.cs
@@ -564,21 +564,23 @@ namespace PasteApeart.Helper
         }
 
         /// <summary>
-        /// 
+        /// 把枚举的信息写入到特性中,如果没有则自动创建
         /// </summary>
-        /// <param name="_cpro"></param>
-        /// <param name="_reads"></param>
+        /// <param name="voloPro"></param>
+        /// <param name="enumProperties"></param>
         /// <param name="action"></param>
-        private static void HandlerEnumDatas(VoloModelProperty _cpro, List<VoloEnumProperty> _reads, string action = "search")
+        private static void HandlerEnumDatas(VoloModelProperty voloPro, List<VoloEnumProperty> enumProperties, string action = "search")
         {
-            if (_cpro.Attributes == null)
+            if (voloPro.Attributes == null)
             {
-                _cpro.Attributes = new List<VoloModelAttribute>();
+                voloPro.Attributes = new List<VoloModelAttribute>();
             }
-            var find = _cpro.Attributes.Where(x => x.Name == "select" || x.Name == "lselect" || x.Name == "selects" || x.Name == "datalist").FirstOrDefault();
+            var find = voloPro.Attributes.Where(x => x.Name == "select" || x.Name == "lselect" || x.Name == "selects" || x.Name == "datalist").FirstOrDefault();
             if (find == null || find == default)
             {
-                _cpro.Attributes.Add(new VoloModelAttribute { Name = "select", Args1 = System.Text.Json.JsonSerializer.Serialize(_reads) });
+                HandlerEnumItemAllOrEmpty(enumProperties, action);
+
+                voloPro.Attributes.Add(new VoloModelAttribute { Name = "select", Args1 = System.Text.Json.JsonSerializer.Serialize(enumProperties) });
             }
             else
             {
@@ -588,7 +590,7 @@ namespace PasteApeart.Helper
                     {
                         if (!String.IsNullOrEmpty(_del))
                         {
-                            foreach (var ii in _reads)
+                            foreach (var ii in enumProperties)
                             {
                                 var _val = ii.value.ToString();
                                 switch (ii.key_type)
@@ -636,7 +638,7 @@ namespace PasteApeart.Helper
                                 }
                                 if (_val == _del)
                                 {
-                                    _reads.Remove(ii);
+                                    enumProperties.Remove(ii);
                                     break;
                                 }
                             }
@@ -644,41 +646,56 @@ namespace PasteApeart.Helper
                     }
                 }
 
-                //(search)全部/(其他)无
-                foreach (var item in _reads)
+                HandlerEnumItemAllOrEmpty(enumProperties, action);
+
+                find.Args1 = System.Text.Json.JsonSerializer.Serialize(enumProperties);
+            }
+        }
+
+        /// <summary>
+        /// 处理枚举中的 全部/无 的信息
+        /// </summary>
+        /// <param name="_reads"></param>
+        /// <param name="action"></param>
+        private static void HandlerEnumItemAllOrEmpty(List<VoloEnumProperty> _reads, string action)
+        {
+            //(search)全部/(其他)无
+            foreach (var item in _reads)
+            {
+                if (item.key_type != "int")
+                {
+                    break;
+                }
+                if (item.value != null)
                 {
-                    if (item.value != null)
+                    var iv = (int)item.value;
+                    if (iv == 0)
                     {
-                        if (item.value is int iv)
+                        if (action == "search")
                         {
-                            if (iv == 0)
+                            if (!string.IsNullOrEmpty(item.name) && item.name.Contains("/"))
                             {
-                                if (action == "search")
-                                {
-                                    if (!string.IsNullOrEmpty(item.name))
-                                    {
-                                        item.name = item.name.Split("/")[0];
-                                    }
-                                }
-                                else
+                                item.name = item.name.Split("/")[0];
+                            }
+                        }
+                        else
+                        {
+                            if (!string.IsNullOrEmpty(item.name))
+                            {
+                                if (item.name.Contains("/"))
                                 {
-                                    if (!string.IsNullOrEmpty(item.name))
-                                    {
-                                        if (item.name.Contains("/"))
-                                        {
-                                            item.name = item.name.Split("/")[1];
-                                        }
-                                    }
+                                    item.name = item.name.Split("/")[1];
                                 }
                             }
                         }
+                        break;
                     }
                 }
-
-                find.Args1 = System.Text.Json.JsonSerializer.Serialize(_reads);
             }
         }
 
+
+
         /// <summary>
         /// 
         /// </summary>
framework/PasteApeart.Helper/PasteApeartAttribute.cs
diff --git a/framework/PasteApeart.Helper/PasteApeartAttribute.cs b/framework/PasteApeart.Helper/PasteApeartAttribute.cs
index eb2fd83..96f23a1 100644
--- a/framework/PasteApeart.Helper/PasteApeartAttribute.cs
+++ b/framework/PasteApeart.Helper/PasteApeartAttribute.cs
@@ -2064,6 +2064,8 @@ namespace PasteApeart.Helper
 
     /// <summary>
     /// 按钮 注意Property上只能单个 Class上可以多个,表示功能按钮
+    /// 如果在Class上,需要做权限按钮,需要配合Order使用,先禁用这个功能,然后写入这个按钮
+    /// 也就是PasteEnable中,比如配置add为0,然后配置PasteButton中的code为add
     /// </summary>
     [AttributeUsage(AttributeTargets.Property | AttributeTargets.Class, AllowMultiple = true)]
     public class PasteButtonAttribute : BtnCodeAttribute
@@ -2101,7 +2103,7 @@ namespace PasteApeart.Helper
     {
 
         /// <summary>
-        /// 编辑模式后的小按钮
+        /// 编辑模式后的小按钮 估计用html模式更可靠
         /// </summary>
         /// <param name="name">按钮名称示例:保存</param>
         /// <param name="func">自定义函数,留空表示func_min_btn_click(this,id,name)</param>
@@ -2126,6 +2128,7 @@ namespace PasteApeart.Helper
 
         /// <summary>
         /// 导出忽略 导出的时候,忽略这个字段 一般用于ListDto中的字段中 ,导出约定,菜单区域不导出,然后是这个特性的不导出
+        /// 导出约定 没有名称的,菜单区域的 配置了当前特性的 都不导出
         /// </summary>
         public PasteOutignoreAttribute()
         {
@@ -2142,7 +2145,7 @@ namespace PasteApeart.Helper
     {
 
         /// <summary>
-        /// 样式的内容
+        /// 样式的内容 直接写样式,比如height:300px;
         /// </summary>
         /// <param name="_style">height:300px;</param>
         public PasteStyleAttribute(string _style)
@@ -2160,7 +2163,7 @@ namespace PasteApeart.Helper
     {
 
         /// <summary>
-        /// 文本输入拆分为数组splitarray
+        /// 文本输入拆分为数组splitarray 一般用于要使用输入框输入数组的时候使用!
         /// </summary>
         /// <param name="_split_char"></param>
         public PasteSplitAttribute(string _split_char = ",")
​ ​