⚡代码生成模板优化&新增前端模板选择
This commit is contained in:
parent
542fdd8ff6
commit
563c757741
@ -102,6 +102,7 @@ namespace Infrastructure.Model
|
||||
public string Author { get; set; }
|
||||
public string TablePrefix { get; set; }
|
||||
public string ModuleName { get; set; }
|
||||
public int FrontTpl { get; set; }
|
||||
public CsharpTypeArr CsharpTypeArr { get; set; }
|
||||
}
|
||||
|
||||
|
||||
@ -101,6 +101,7 @@
|
||||
"moduleName": "business",
|
||||
"author": "admin",
|
||||
"tablePrefix": "sys_", //"表前缀(生成类名不会包含表前缀,多个用逗号分隔)",
|
||||
"vuePath": "" //前端代码存储路径eg:D:\Work\ZRAdmin-Vue3
|
||||
"vuePath": "", //前端代码存储路径eg:D:\Work\ZRAdmin-Vue3
|
||||
"frontTpl": 2//默认前端模板 1、element ui 2、element plus
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1 @@
|
||||
你在期待什么...
|
||||
@ -28,7 +28,7 @@ namespace ZR.CodeGenerator
|
||||
public static void Generate(GenerateDto dto)
|
||||
{
|
||||
var genOptions = AppSettings.Get<CodeGen>("codeGen");
|
||||
dto.VueParentPath = dto.VueVersion == 3 ? "ZRAdmin-vue" : "ZR.Vue";
|
||||
dto.VueParentPath = "Frontend";
|
||||
if (!genOptions.VuePath.IsEmpty())
|
||||
{
|
||||
dto.VueParentPath = genOptions.VuePath;
|
||||
@ -75,14 +75,18 @@ namespace ZR.CodeGenerator
|
||||
GenerateModels(replaceDto, dto);
|
||||
GenerateService(replaceDto, dto);
|
||||
GenerateControllers(replaceDto, dto);
|
||||
if (dto.VueVersion == 3)
|
||||
if (dto.GenTable.Options.FrontTpl == 2)
|
||||
{
|
||||
GenerateVue3Views(replaceDto, dto);
|
||||
}
|
||||
else
|
||||
else if (dto.GenTable.Options.FrontTpl == 1)
|
||||
{
|
||||
GenerateVueViews(replaceDto, dto);
|
||||
}
|
||||
else
|
||||
{
|
||||
GenerateAntDesignViews(replaceDto, dto);
|
||||
}
|
||||
if (dto.GenTable.Options.GenerateRepo == 1)
|
||||
{
|
||||
GenerateRepository(replaceDto, dto);
|
||||
@ -124,8 +128,9 @@ namespace ZR.CodeGenerator
|
||||
/// <param name="replaceDto">替换实体</param>
|
||||
private static void GenerateModels(ReplaceDto replaceDto, GenerateDto generateDto)
|
||||
{
|
||||
var tpl = JnHelper.ReadTemplate(CodeTemplateDir, "TplModel.txt");
|
||||
var tplDto = JnHelper.ReadTemplate(CodeTemplateDir, "TplDto.txt");
|
||||
var path = Path.Combine(CodeTemplateDir, "csharp");
|
||||
var tpl = JnHelper.ReadTemplate(path, "TplModel.txt");
|
||||
var tplDto = JnHelper.ReadTemplate(path, "TplDto.txt");
|
||||
|
||||
string fullPath = Path.Combine(generateDto.GenOptions.ModelsNamespace, "Models", generateDto.GenOptions.SubNamespace, replaceDto.ModelTypeName + ".cs");
|
||||
string fullPathDto = Path.Combine(generateDto.GenOptions.ModelsNamespace, "Dto", generateDto.GenOptions.SubNamespace, replaceDto.ModelTypeName + "Dto.cs");
|
||||
@ -141,7 +146,7 @@ namespace ZR.CodeGenerator
|
||||
/// <param name="replaceDto">替换实体</param>
|
||||
private static void GenerateRepository(ReplaceDto replaceDto, GenerateDto generateDto)
|
||||
{
|
||||
var tpl = JnHelper.ReadTemplate(CodeTemplateDir, "TplRepository.txt");
|
||||
var tpl = JnHelper.ReadTemplate(Path.Combine(CodeTemplateDir, "csharp"), "TplRepository.txt");
|
||||
var result = tpl.Render();
|
||||
var fullPath = Path.Combine(generateDto.GenOptions.RepositoriesNamespace, generateDto.GenOptions.SubNamespace, $"{replaceDto.ModelTypeName}Repository.cs");
|
||||
|
||||
@ -153,8 +158,9 @@ namespace ZR.CodeGenerator
|
||||
/// </summary>
|
||||
private static void GenerateService(ReplaceDto replaceDto, GenerateDto generateDto)
|
||||
{
|
||||
var tpl = JnHelper.ReadTemplate(CodeTemplateDir, "TplService.txt");
|
||||
var tpl2 = JnHelper.ReadTemplate(CodeTemplateDir, "TplIService.txt");
|
||||
var path = Path.Combine(CodeTemplateDir, "csharp");
|
||||
var tpl = JnHelper.ReadTemplate(path, "TplService.txt");
|
||||
var tpl2 = JnHelper.ReadTemplate(path, "TplIService.txt");
|
||||
|
||||
var fullPath = Path.Combine(generateDto.GenOptions.ServicesNamespace, generateDto.GenOptions.SubNamespace, $"{replaceDto.ModelTypeName}Service.cs");
|
||||
var fullPath2 = Path.Combine(generateDto.GenOptions.IServicsNamespace, generateDto.GenOptions.SubNamespace, $"I{generateDto.GenOptions.SubNamespace}Service", $"I{replaceDto.ModelTypeName}Service.cs");
|
||||
@ -168,7 +174,7 @@ namespace ZR.CodeGenerator
|
||||
/// </summary>
|
||||
private static void GenerateControllers(ReplaceDto replaceDto, GenerateDto generateDto)
|
||||
{
|
||||
var tpl = JnHelper.ReadTemplate(CodeTemplateDir, "TplControllers.txt");
|
||||
var tpl = JnHelper.ReadTemplate(Path.Combine(CodeTemplateDir, "csharp"), "TplControllers.txt");
|
||||
tpl.Set("QueryCondition", replaceDto.QueryCondition);
|
||||
var result = tpl.Render();
|
||||
|
||||
@ -186,9 +192,11 @@ namespace ZR.CodeGenerator
|
||||
"select" => "TplVueSelect.txt",
|
||||
_ => "TplVue.txt",
|
||||
};
|
||||
replaceDto.VueViewListHtml = GenerateVueTableList();
|
||||
replaceDto.VueQueryFormHtml = GenerateVueQueryForm();
|
||||
replaceDto.VueViewFormHtml = GenerateCurdForm();
|
||||
var path = Path.Combine(CodeTemplateDir, "vue2");
|
||||
fileName = Path.Combine("vue2", fileName);
|
||||
replaceDto.VueViewListHtml = JnHelper.ReadTemplate(path, "TableList.txt").Render();
|
||||
replaceDto.VueQueryFormHtml = JnHelper.ReadTemplate(path, "QueryForm.txt").Render();
|
||||
replaceDto.VueViewFormHtml = JnHelper.ReadTemplate(path, "CurdForm.txt").Render();
|
||||
|
||||
var tpl = JnHelper.ReadTemplate(CodeTemplateDir, fileName);
|
||||
var fullPath = Path.Combine(generateDto.VueParentPath, "src", "views", generateDto.GenTable.ModuleName.FirstLowerCase(), $"{replaceDto.ViewFileName}.vue");
|
||||
@ -219,6 +227,29 @@ namespace ZR.CodeGenerator
|
||||
generateDto.GenCodes.Add(new GenCode(16, "index.vue", fullPath, result));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// AntDesign
|
||||
/// </summary>
|
||||
/// <param name="generateDto"></param>
|
||||
private static void GenerateAntDesignViews(ReplaceDto replaceDto, GenerateDto generateDto)
|
||||
{
|
||||
string fileName = generateDto.GenTable.TplCategory switch
|
||||
{
|
||||
"tree" => "TreeVue.txt",
|
||||
_ => "Vue2.txt",
|
||||
};
|
||||
fileName = Path.Combine("antDesign", fileName);
|
||||
var tpl = JnHelper.ReadTemplate(CodeTemplateDir, fileName);
|
||||
tpl.Set("treeCode", generateDto.GenTable?.Options?.TreeCode?.FirstLowerCase());
|
||||
tpl.Set("treeName", generateDto.GenTable?.Options?.TreeName?.FirstLowerCase());
|
||||
tpl.Set("treeParentCode", generateDto.GenTable?.Options?.TreeParentCode?.FirstLowerCase());
|
||||
tpl.Set("options", generateDto.GenTable?.Options);
|
||||
|
||||
var result = tpl.Render();
|
||||
var fullPath = Path.Combine(generateDto.VueParentPath, "src", "views", generateDto.GenTable.ModuleName.FirstLowerCase(), $"{replaceDto.ViewFileName}.vue");
|
||||
generateDto.GenCodes.Add(new GenCode(16, "index.vue", fullPath, result));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成vue页面api
|
||||
/// </summary>
|
||||
@ -264,32 +295,6 @@ namespace ZR.CodeGenerator
|
||||
generateDto.GenCodes.Add(new GenCode(8, "sql菜单", fullPath, result));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成vue页面查询form
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static string GenerateVueQueryForm()
|
||||
{
|
||||
return JnHelper.ReadTemplate(CodeTemplateDir, "QueryForm.txt").Render();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成vue页面table
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static string GenerateVueTableList()
|
||||
{
|
||||
return JnHelper.ReadTemplate(CodeTemplateDir, "TableList.txt").Render();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 生成vue表单
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static string GenerateCurdForm()
|
||||
{
|
||||
return JnHelper.ReadTemplate(CodeTemplateDir, "CurdForm.txt").Render();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region app页面
|
||||
@ -446,7 +451,8 @@ namespace ZR.CodeGenerator
|
||||
{
|
||||
SortType = "asc",
|
||||
CheckedBtn = new int[] { 1, 2, 3 },
|
||||
PermissionPrefix = className.ToLower()
|
||||
PermissionPrefix = className.ToLower(),
|
||||
FrontTpl = dto.CodeGen.FrontTpl,
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@ -137,5 +137,9 @@
|
||||
/// 是否启用日志(编辑、删除)自动记录日志
|
||||
/// </summary>
|
||||
public bool EnableLog { get; set; }
|
||||
/// <summary>
|
||||
/// 前端模板 1、element ui 2、element plus
|
||||
/// </summary>
|
||||
public int FrontTpl { get; set; } = 2;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user