Просмотр исходного кода

feat: 抽离扩展字段名称,方便统一管理

喵你个旺呀 1 год назад
Родитель
Сommit
92683b8e37

+ 6 - 5
Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs

@@ -184,23 +184,24 @@ public class CodeGenConfig
     public string LowerPropertyNameTrimEndId => LowerPropertyName.TrimEnd("Id");
 
     /// <summary>
-    /// 联表显示字段名称
+    /// 扩展属性名称
     /// </summary>
-    public string FkLinkDisplayPropertyName => EffectType switch
+    public string ExtendedPropertyName => EffectType switch
     {
         "ForeignKey" => $"{LowerPropertyNameTrimEndId}FkDisplayName",
         "ApiTreeSelector" => $"{LowerPropertyNameTrimEndId}DisplayName",
+        "Upload" => $"{LowerPropertyName}Attachment",
         _ => PropertyName
     };
 
     /// <summary>
-    /// 联表显示字段首字母小写名称
+    /// 首字母小写的扩展属性名称
     /// </summary>
-    public string LowerFkLinkDisplayPropertyName
+    public string LowerExtendedPropertyName
     {
         get
         {
-            var displayPropertyName = FkLinkDisplayPropertyName;
+            var displayPropertyName = ExtendedPropertyName;
             if (string.IsNullOrWhiteSpace(displayPropertyName)) return null;
             return displayPropertyName[..1].ToLower() + displayPropertyName[1..];
         }

+ 3 - 3
Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs

@@ -681,20 +681,20 @@ public class SysCodeGenService : IDynamicApiController, ITransient
     {
         if (input.GenerateType!.Substring(1, 1).Contains('1'))
         {
-            return new() { "index.vue.vm", "editDialog.vue.vm", "api.js.vm" };
+            return new() { "index.vue.vm", "editDialog.vue.vm", "api.ts.vm" };
         }
         if (input.GenerateType.Substring(1, 1).Contains('2'))
         {
             return new() { "Service.cs.vm", "Input.cs.vm", "Output.cs.vm", "Dto.cs.vm" };
         }
-        return new() { "Service.cs.vm", "Input.cs.vm", "Output.cs.vm", "Dto.cs.vm", "index.vue.vm", "editDialog.vue.vm", "api.js.vm" };
+        return new() { "Service.cs.vm", "Input.cs.vm", "Output.cs.vm", "Dto.cs.vm", "index.vue.vm", "editDialog.vue.vm", "api.ts.vm" };
     }
 
     /// <summary>
     /// 获取模板文件路径集合
     /// </summary>
     /// <returns></returns>
-    private static List<string> GetTemplatePathList() => new() { "Service.cs.vm", "Input.cs.vm", "Output.cs.vm", "Dto.cs.vm", "index.vue.vm", "editDialog.vue.vm", "api.js.vm" };
+    private static List<string> GetTemplatePathList() => new() { "Service.cs.vm", "Input.cs.vm", "Output.cs.vm", "Dto.cs.vm", "index.vue.vm", "editDialog.vue.vm", "api.ts.vm" };
 
     /// <summary>
     /// 设置生成文件路径

+ 1 - 1
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/Input.cs.vm

@@ -158,7 +158,7 @@ public class QueryById@(Model.ClassName)Input : Delete@(Model.ClassName)Input
     @:/// </summary>
     @:[ImporterHeader(Name = "@(headerName)")]
     @:[ExporterHeader("@(headerName)", Format = "@", Width = 25, IsBold = true)]
-    @:public string @column.FkLinkDisplayPropertyName { get; set; }
+    @:public string @column.ExtendedPropertyName { get; set; }
     } else {
     @:/// <summary>
     @:/// @column.ColumnComment

+ 3 - 3
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/Output.cs.vm

@@ -21,13 +21,13 @@ public class @(Model.ClassName)Output
     @:/// <summary>
     @:/// @(column.ColumnComment) 描述
     @:/// </summary>
-    @:public string @(column.FkLinkDisplayPropertyName) { get; set; } 
+    @:public string @(column.ExtendedPropertyName) { get; set; } 
     }else if(column.EffectType == "Upload"){
     @:
     @:/// <summary>
-    @:/// @(column.ColumnComment) 件信息
+    @:/// @(column.ColumnComment) 件信息
     @:/// </summary>
-    @:public SysFile @(column.PropertyName)Attachment { get; set; }
+    @:public SysFile @(column.ExtendedPropertyName) { get; set; }
     }
     @:
     }

+ 4 - 4
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/Service.cs.vm

@@ -70,7 +70,7 @@ public class @(Model.ClassName)Service : IDynamicApiController, ITransient
             foreach (var column in Model.TableField) {
                 @:@(column.PropertyName) = u.@(column.PropertyName),
                 if (column.EffectType == "ForeignKey" || column.EffectType == "ApiTreeSelector") {
-                @:@(column.FkLinkDisplayPropertyName) = @column.GetDisplayColumn(column.LowerPropertyNameTrimEndId),
+                @:@(column.ExtendedPropertyName) = @column.GetDisplayColumn(column.LowerPropertyNameTrimEndId),
                 }
             }
             @:});
@@ -247,7 +247,7 @@ public class @(Model.ClassName)Service : IDynamicApiController, ITransient
         @:{
             foreach (var column in fieldsList) {
             var columnList = column.FkDisplayColumnList.Select(n => $"{{u.{n}}}").ToList();
-            @:if (nameof(Export@(Model.ClassName)Output.@column.FkLinkDisplayPropertyName) == info.Name) return _@(Model.LowerClassName)Rep.Context.Queryable<@(column.FkEntityName)>().Select(u => $"@(string.Join("-", columnList))").Distinct().ToList();
+            @:if (nameof(Export@(Model.ClassName)Output.@column.ExtendedPropertyName) == info.Name) return _@(Model.LowerClassName)Rep.Context.Queryable<@(column.FkEntityName)>().Select(u => $"@(string.Join("-", columnList))").Distinct().ToList();
             }
             @:return null;
         @:});
@@ -277,12 +277,12 @@ public class @(Model.ClassName)Service : IDynamicApiController, ITransient
                 @:{
                     foreach (var column in Model.ImportFieldList.Where(u => u.EffectType == "ForeignKey" || u.EffectType == "ApiTreeSelector")) {
                     @:// 链接 @(column.ColumnComment)
-                    @:var @(column.LowerPropertyName)LabelList = pageItems.Where(x => x.@column.FkLinkDisplayPropertyName != null).Select(x => x.@column.FkLinkDisplayPropertyName).Distinct().ToList();
+                    @:var @(column.LowerPropertyName)LabelList = pageItems.Where(x => x.@column.ExtendedPropertyName != null).Select(x => x.@column.ExtendedPropertyName).Distinct().ToList();
                     @:if (@(column.LowerPropertyName)LabelList.Any()) {
                         var columnList = column.FkDisplayColumnList.Select(n => $"{{u.{n}}}").ToList();
                         @:var @(column.LowerPropertyName)LinkMap = _@(Model.LowerClassName)Rep.Context.Queryable<@(column.FkEntityName)>().Where(u => @(column.LowerPropertyName)LabelList.Contains($"@(string.Join("-", columnList))")).ToList().ToDictionary(u => $"@(string.Join("-", columnList))", u => u.@(column.FkLinkColumnName));
                         @:pageItems.ForEach(e => {
-                            @:e.@(column.PropertyName) = @(column.LowerPropertyName)LinkMap?.GetValueOrDefault(e.@column.FkLinkDisplayPropertyName);
+                            @:e.@(column.PropertyName) = @(column.LowerPropertyName)LinkMap?.GetValueOrDefault(e.@column.ExtendedPropertyName);
                             @:if (e.@(column.PropertyName) == null) e.Error = "@(column.ColumnComment)链接失败";
                         @:});
                     @:}

+ 0 - 0
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/Api.js.vm → Admin.NET/Admin.NET.Web.Entry/wwwroot/template/api.ts.vm


+ 1 - 1
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/index.vue.vm

@@ -118,7 +118,7 @@
             @:fit="scale-down"
             @:preview-teleported />
             }else if(column.EffectType == "ForeignKey" || column.EffectType == "ApiTreeSelector"){
-            @:<span>{{scope.row.@(column.LowerFkLinkDisplayPropertyName)}}</span>
+            @:<span>{{scope.row.@(column.LowerExtendedPropertyName)}}</span>
             }else if(column.EffectType == "Switch"){
             @:<el-tag v-if="scope.row.@(column.LowerPropertyName)"> 是 </el-tag>
             @:<el-tag type="danger" v-else> 否 </el-tag>