From 1f702c20ae2b0c67814053e0452a763cf95758a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com> Date: Sat, 21 Jan 2023 18:09:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Yi.Framework.Net6/Yi.Framework.sln | 21 ++- .../Abstracts/AbstractTemplateProvider.cs | 36 ++++++ .../Abstracts/ITemplateProvider.cs | 41 ++++++ .../Abstracts/ModelTemplateProvider.cs | 121 ++++++++++++++++++ .../Abstracts/ProgramTemplateProvider.cs | 75 +++++++++++ .../ConstClasses/TemplateConst.cs | 38 ++++++ .../module/Yi.Framework.Template/Program.cs | 37 ++++++ .../Provider/Server/ConstTemplateProvider.cs | 19 +++ .../Server/CreateInputVoTemplateProvider.cs | 20 +++ .../Server/GetListInputVoTemplateProvider.cs | 20 +++ .../GetListOutputDtoTemplateProvider.cs | 20 +++ .../Server/GetOutputDtoTemplateProvider.cs | 20 +++ .../Server/IServiceTemplateProvider.cs | 19 +++ .../Server/ProfileTemplateProvider.cs | 19 +++ .../Server/ServiceTemplateProvider.cs | 19 +++ .../Server/UpdateInputVoTemplateProvider.cs | 20 +++ .../Provider/Site/ApiTemplateProvider.cs | 19 +++ .../Template/Server/ConstTemplate.txt | 12 ++ .../Template/Server/CreateInputVoTemplate.txt | 15 +++ .../Server/GetListInputVoTemplate.txt | 14 ++ .../Server/GetListOutputDtoTemplate.txt | 14 ++ .../Template/Server/GetOutputDtoTemplate.txt | 14 ++ .../Template/Server/IServiceTemplate.txt | 16 +++ .../Template/Server/ProfileTemplate.txt | 20 +++ .../Template/Server/ServiceTemplate.txt | 29 +++++ .../Template/Server/UpdateInputVoTemplate.txt | 15 +++ .../Template/Site/ApiTemplate.txt | 45 +++++++ .../Yi.Framework.Template/TemplateFactory.cs | 37 ++++++ .../Yi.Framework.Template.csproj | 40 ++++++ .../ApplicationContractsSwaggerDoc.xml | 0 .../Student/Dtos/StudentCreateInputVo.cs | 0 .../Student/Dtos/StudentGetListInputVo.cs | 0 .../Student/Dtos/StudentGetListOutputDto.cs | 0 .../Student/Dtos/StudentGetOutputDto.cs | 0 .../Student/Dtos/StudentUpdateInputVo.cs | 0 .../Student/IStudentService.cs | 0 .../Yi.Framework.Application.Contracts.csproj | 0 .../YiFrameworkApplicationContractsModule.cs | 0 .../ApplicationSwaggerDoc.xml | 0 .../Student/MapperConfig/StudentProfile.cs | 0 .../Student/StudentService.cs | 0 .../Yi.Framework.Application.csproj | 0 .../YiFrameworkApplicationModule.cs | 0 .../GlobalUsings.cs | 0 .../Student/ConstClasses/AuthStudentConst.cs | 0 .../Student/ConstClasses/StudentConst.cs | 0 .../Yi.Framework.Domain.Shared.csproj | 0 .../YiFrameworkDomainSharedModule.cs | 0 .../Yi.Framework.Domain/DomainSwaggerDoc.xml | 0 .../Student/Entities/StudentEntity.cs | 0 .../Repositories/IStudentRepository.cs | 0 .../Student/StudentManager.cs | 0 .../Yi.Framework.Domain.csproj | 0 .../YiFrameworkDomainModule.cs | 0 .../Student/StudentRepository.cs | 0 .../Yi.Framework.Sqlsugar.csproj | 0 .../YiFrameworkSqlsugarModule.cs | 0 .../project}/Yi.Framework.Web/Program.cs | 0 .../Properties/launchSettings.json | 0 .../project}/Yi.Framework.Web/Test2Entity.cs | 0 .../project}/Yi.Framework.Web/TestEntity.cs | 0 .../project}/Yi.Framework.Web/TimeTest.cs | 0 .../project}/Yi.Framework.Web/TimeTest.txt | 0 .../Yi.Framework.Web/Yi.Framework.Web.csproj | 0 .../Yi.Framework.Web/YiFrameworkWebModule.cs | 0 .../Yi.Framework.Web/appsettings.json | 0 .../project}/Yi.Framework.Web/key.pem | 0 .../project}/Yi.Framework.Web/public.pem | 0 .../Yi.Framework.Web/yi-sqlsugar-dev.db | Bin 69 files changed, 828 insertions(+), 7 deletions(-) create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/AbstractTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ITemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ModelTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ProgramTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/ConstClasses/TemplateConst.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ConstTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/CreateInputVoTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetListInputVoTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetListOutputDtoTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetOutputDtoTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/IServiceTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ProfileTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ServiceTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/UpdateInputVoTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Site/ApiTemplateProvider.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ConstTemplate.txt create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/CreateInputVoTemplate.txt create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetListInputVoTemplate.txt create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetListOutputDtoTemplate.txt create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetOutputDtoTemplate.txt create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/IServiceTemplate.txt create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ProfileTemplate.txt create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ServiceTemplate.txt create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/UpdateInputVoTemplate.txt create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Site/ApiTemplate.txt create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/TemplateFactory.cs create mode 100644 Yi.Framework.Net6/src/module/Yi.Framework.Template/Yi.Framework.Template.csproj rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application.Contracts/ApplicationContractsSwaggerDoc.xml (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application.Contracts/Student/Dtos/StudentCreateInputVo.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetListInputVo.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetListOutputDto.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetOutputDto.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application.Contracts/Student/Dtos/StudentUpdateInputVo.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application.Contracts/Student/IStudentService.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application.Contracts/Yi.Framework.Application.Contracts.csproj (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application.Contracts/YiFrameworkApplicationContractsModule.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application/ApplicationSwaggerDoc.xml (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application/Student/MapperConfig/StudentProfile.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application/Student/StudentService.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application/Yi.Framework.Application.csproj (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Application/YiFrameworkApplicationModule.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Domain.Shared/GlobalUsings.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Domain.Shared/Student/ConstClasses/AuthStudentConst.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Domain.Shared/Student/ConstClasses/StudentConst.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Domain.Shared/Yi.Framework.Domain.Shared.csproj (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Domain.Shared/YiFrameworkDomainSharedModule.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Domain/DomainSwaggerDoc.xml (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Domain/Student/Entities/StudentEntity.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Domain/Student/Repositories/IStudentRepository.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Domain/Student/StudentManager.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Domain/Yi.Framework.Domain.csproj (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Domain/YiFrameworkDomainModule.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Sqlsugar/Student/StudentRepository.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Sqlsugar/Yi.Framework.Sqlsugar.csproj (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Sqlsugar/YiFrameworkSqlsugarModule.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/Program.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/Properties/launchSettings.json (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/Test2Entity.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/TestEntity.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/TimeTest.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/TimeTest.txt (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/Yi.Framework.Web.csproj (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/YiFrameworkWebModule.cs (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/appsettings.json (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/key.pem (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/public.pem (100%) rename Yi.Framework.Net6/{test => src/project}/Yi.Framework.Web/yi-sqlsugar-dev.db (100%) diff --git a/Yi.Framework.Net6/Yi.Framework.sln b/Yi.Framework.Net6/Yi.Framework.sln index a757be53..5410e8f3 100644 --- a/Yi.Framework.Net6/Yi.Framework.sln +++ b/Yi.Framework.Net6/Yi.Framework.sln @@ -5,23 +5,23 @@ VisualStudioVersion = 17.4.33103.184 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "modules", "modules", "{EEF5F221-0E32-4A3D-B647-B4B5E7305806}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{32A813F5-13B2-4DCA-8B59-F27F1B0D5678}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "project", "project", "{32A813F5-13B2-4DCA-8B59-F27F1B0D5678}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "framework", "framework", "{5F2B846D-96CE-400A-878E-220498F4EE31}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Core", "src\framework\Yi.Framework.Core\Yi.Framework.Core.csproj", "{83B2D7AD-ED8E-4392-B0AE-4227498CD75F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Application", "test\Yi.Framework.Application\Yi.Framework.Application.csproj", "{456835D1-4968-4195-9993-B2A580E85056}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Application", "src\project\Yi.Framework.Application\Yi.Framework.Application.csproj", "{456835D1-4968-4195-9993-B2A580E85056}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Application.Contracts", "test\Yi.Framework.Application.Contracts\Yi.Framework.Application.Contracts.csproj", "{D2378C23-2CFE-468A-924A-B8C9D4A3A8ED}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Application.Contracts", "src\project\Yi.Framework.Application.Contracts\Yi.Framework.Application.Contracts.csproj", "{D2378C23-2CFE-468A-924A-B8C9D4A3A8ED}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Domain", "test\Yi.Framework.Domain\Yi.Framework.Domain.csproj", "{C02A954D-CCCB-41BD-ADAD-9D7ECBF1A828}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Domain", "src\project\Yi.Framework.Domain\Yi.Framework.Domain.csproj", "{C02A954D-CCCB-41BD-ADAD-9D7ECBF1A828}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Domain.Shared", "test\Yi.Framework.Domain.Shared\Yi.Framework.Domain.Shared.csproj", "{26171153-1784-455B-9582-0558AEEC03CF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Domain.Shared", "src\project\Yi.Framework.Domain.Shared\Yi.Framework.Domain.Shared.csproj", "{26171153-1784-455B-9582-0558AEEC03CF}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Sqlsugar", "test\Yi.Framework.Sqlsugar\Yi.Framework.Sqlsugar.csproj", "{3C3A7BAC-F27F-433E-BF91-289FA42E4995}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Sqlsugar", "src\project\Yi.Framework.Sqlsugar\Yi.Framework.Sqlsugar.csproj", "{3C3A7BAC-F27F-433E-BF91-289FA42E4995}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Web", "test\Yi.Framework.Web\Yi.Framework.Web.csproj", "{01CC7B62-F42C-45CE-BACA-F450593A1AF2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Web", "src\project\Yi.Framework.Web\Yi.Framework.Web.csproj", "{01CC7B62-F42C-45CE-BACA-F450593A1AF2}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.BackgroundJobs.Quartz", "src\module\Yi.Framework.BackgroundJobs.Quartz\Yi.Framework.BackgroundJobs.Quartz.csproj", "{1879A863-9864-4E16-8492-504055807684}" EndProject @@ -51,6 +51,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Data", "src\fr EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Auth.JwtBearer", "src\framework\Yi.Framework.Auth.JwtBearer\Yi.Framework.Auth.JwtBearer.csproj", "{D40C583D-58BE-422D-9A57-94DECB751EB4}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.Template", "src\module\Yi.Framework.Template\Yi.Framework.Template.csproj", "{134C4AB9-2AFE-4383-84DE-825DF9499CB4}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -141,6 +143,10 @@ Global {D40C583D-58BE-422D-9A57-94DECB751EB4}.Debug|Any CPU.Build.0 = Debug|Any CPU {D40C583D-58BE-422D-9A57-94DECB751EB4}.Release|Any CPU.ActiveCfg = Release|Any CPU {D40C583D-58BE-422D-9A57-94DECB751EB4}.Release|Any CPU.Build.0 = Release|Any CPU + {134C4AB9-2AFE-4383-84DE-825DF9499CB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {134C4AB9-2AFE-4383-84DE-825DF9499CB4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {134C4AB9-2AFE-4383-84DE-825DF9499CB4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {134C4AB9-2AFE-4383-84DE-825DF9499CB4}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -167,6 +173,7 @@ Global {588D0DA9-303A-4FF0-A2D1-83037E2B269F} = {EEF5F221-0E32-4A3D-B647-B4B5E7305806} {DEE07142-32CE-4B5F-A5A3-452064EBF4A2} = {5F2B846D-96CE-400A-878E-220498F4EE31} {D40C583D-58BE-422D-9A57-94DECB751EB4} = {5F2B846D-96CE-400A-878E-220498F4EE31} + {134C4AB9-2AFE-4383-84DE-825DF9499CB4} = {EEF5F221-0E32-4A3D-B647-B4B5E7305806} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {6C1A3808-0F4F-43FB-A9FE-5F27A3BB2ECF} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/AbstractTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/AbstractTemplateProvider.cs new file mode 100644 index 00000000..0826a7a8 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/AbstractTemplateProvider.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Template.Abstracts +{ + public abstract class AbstractTemplateProvider : ITemplateProvider + { + public virtual string? BuildPath { get; set; } + public string? TemplatePath { get; set; } + public string? BakPath { get; set; } + protected Dictionary TemplateDic { get; set; } = new Dictionary(); + + public abstract void Bak(); + + public abstract void Build(); + + + protected virtual string GetTemplateData() + { + if (TemplatePath is null) + { + throw new ArgumentNullException(nameof(TemplatePath)); + } + return File.ReadAllText(TemplatePath); + } + + protected void AddTemplateDic(string oldStr, string newStr) + { + + TemplateDic.Add(oldStr, newStr); + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ITemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ITemplateProvider.cs new file mode 100644 index 00000000..bffe55a5 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ITemplateProvider.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Template.Abstracts +{ + public interface ITemplateProvider + { + /// + /// 构建生成路径 + /// + string? BuildPath { get; set; } + + /// + /// 模板文件路径 + /// + string? TemplatePath { get; set; } + + /// + /// 备份文件路径 + /// + string? BakPath { get; set; } + + + /// + /// 开始构建 + /// + /// + void Build(); + + /// + /// 生成备份 + /// + /// + void Bak(); + + + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ModelTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ModelTemplateProvider.cs new file mode 100644 index 00000000..e03e3b4a --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ModelTemplateProvider.cs @@ -0,0 +1,121 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Abstracts +{ + public abstract class ModelTemplateProvider : ProgramTemplateProvider + { + + public ModelTemplateProvider(string modelName, string entityName) : base(modelName, entityName) + { + AddIgnoreEntityField("Id", "TenantId"); + } + + private string entityPath=string.Empty; + + /// + /// 实体路径,该类生成需要实体与模板两个同时构建成 + /// + public string EntityPath + { + get => this.entityPath; + set + { + value = value!.Replace(TemplateConst.EntityName, EntityName); + value = value.Replace(TemplateConst.ModelName, ModelName); + this.entityPath = value; + } + } + + + /// + /// 生成模板忽略实体字段 + /// + private List IgnoreEntityFields { get; set; } = new(); + + public override void Build() + { + if (BuildPath is null) + { + throw new ArgumentNullException(nameof(BuildPath)); + } + //模板信息 + var templateData = GetTemplateData(); + + //实体信息 + var enetityDatas = GetEntityData().ToList(); + + //获取全部属性字段 + for (var i = enetityDatas.Count() - 1; i >= 0; i--) + { + //不是字段属性直接删除跳过 + if (!enetityDatas[i].Contains("{ get; set; }")) + { + enetityDatas.RemoveAt(i); + continue; + } + //是字段属性,同时还包含忽略字段 + foreach (var IgnoreEntityField in IgnoreEntityFields) + { + if (enetityDatas[i].Contains(IgnoreEntityField)) + { + enetityDatas.RemoveAt(i); + continue; + } + } + //以}结尾,不包含get不是属性,代表类结尾 + if (enetityDatas[i].EndsWith("}") && !enetityDatas[i].Contains("get")) + { + break; + } + } + + //拼接实体字段 + var entityFieldsbuild = string.Join("\r\n", enetityDatas); + + + //模板替换属性字段 + templateData = templateData.Replace(TemplateConst.EntityField, entityFieldsbuild); + + templateData = base.ReplaceTemplateDic(templateData); + + if (!Directory.Exists(Path.GetDirectoryName(BuildPath))) + { + Directory.CreateDirectory(Path.GetDirectoryName(BuildPath)!); + } + File.WriteAllText(BuildPath, templateData); + } + + /// + /// 获取实体信息 + /// + /// + /// + public virtual string[] GetEntityData() + { + if (TemplatePath is null) + { + throw new ArgumentNullException(nameof(entityPath)); + } + if (!File.Exists(entityPath)) + { + throw new FileNotFoundException($"请检查路径:{entityPath}\r\n未包含实体:{EntityName}"); + } + + return File.ReadAllLines(entityPath); + } + + /// + /// 添加忽略实体字段 + /// + /// + public void AddIgnoreEntityField(params string[] field) + { + IgnoreEntityFields.AddRange(field); + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ProgramTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ProgramTemplateProvider.cs new file mode 100644 index 00000000..351f8f01 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Abstracts/ProgramTemplateProvider.cs @@ -0,0 +1,75 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Abstracts +{ + + public abstract class ProgramTemplateProvider : AbstractTemplateProvider + { + public ProgramTemplateProvider(string modelName, string entityName) + { + ModelName = modelName; + EntityName = entityName; + base.AddTemplateDic(TemplateConst.EntityName, EntityName); + base.AddTemplateDic(TemplateConst.ModelName, ModelName); + base.AddTemplateDic(TemplateConst.LowerEntityName, EntityName.Substring(0, 1).ToLower() + EntityName.Substring(1)); + base.AddTemplateDic(TemplateConst.LowerModelName, ModelName.ToLower()); + } + /// + /// 实体名称 + /// + public string EntityName { get; set; } + /// + /// 模块名称 + /// + public string ModelName { get; set; } + + /// + /// 重写构建路径,替换实体名称与模块名称 + /// + public override string? BuildPath + { + get => base.BuildPath; + set + { + value = ReplaceTemplateDic(value!); + + base.BuildPath = value; + } + } + + public string ReplaceTemplateDic(string str) + { + foreach (var ky in TemplateDic) + { + str = str.Replace(ky.Key, ky.Value); + } + return str; + } + + + public override void Build() + { + if (BuildPath is null) + { + throw new ArgumentNullException(nameof(BuildPath)); + } + var templateData = GetTemplateData(); + templateData = ReplaceTemplateDic(templateData); + if (!Directory.Exists(Path.GetDirectoryName(BuildPath))) + { + Directory.CreateDirectory(Path.GetDirectoryName(BuildPath)!); + } + File.WriteAllText(BuildPath, templateData); + } + + public override void Bak() + { + throw new NotImplementedException(); + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/ConstClasses/TemplateConst.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/ConstClasses/TemplateConst.cs new file mode 100644 index 00000000..5adc849d --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/ConstClasses/TemplateConst.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Template.ConstClasses +{ + public class TemplateConst + { + /// + /// 模块名称大写 + /// + public const string ModelName = "#ModelName#"; + + /// + /// 模块名称小写 + /// + public const string LowerModelName = "#LowerModelName#"; + + /// + /// 实体名称大驼峰 + /// + public const string EntityName = "#EntityName#"; + + /// + /// 实体名称小驼峰 + /// + public const string LowerEntityName = "#LowerEntityName#"; + + /// + /// 实体字段 + /// + public const string EntityField = "#EntityField#"; + + public const string BuildRootPath = ""; + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs new file mode 100644 index 00000000..cfef074f --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Program.cs @@ -0,0 +1,37 @@ +using Yi.Framework.Template; +using Yi.Framework.Template.Provider.Server; +using Yi.Framework.Template.Provider.Site; + +TemplateFactory templateFactory = new(); + +//选择需要生成的模板提供者 + +string modelName = ""; +List entityNames = new() { "_" }; + +foreach (var entityName in entityNames) +{ + templateFactory.CreateTemplateProviders((option) => + { + option.Add(new ServiceTemplateProvider(modelName, entityName)); + option.Add(new IServiceTemplateProvider(modelName, entityName)); + + + option.Add(new CreateInputVoTemplateProvider(modelName, entityName)); + option.Add(new UpdateInputVoTemplateProvider(modelName, entityName)); + option.Add(new GetListInputVoTemplateProvider(modelName, entityName)); + option.Add(new GetListOutputDtoTemplateProvider(modelName, entityName)); + + option.Add(new ConstTemplateProvider(modelName, entityName)); + option.Add(new ProfileTemplateProvider(modelName, entityName)); + + + option.Add(new ApiTemplateProvider(modelName, entityName)); + }); + //开始构建模板 + templateFactory.BuildTemplate(); + Console.WriteLine($"Yi.Framework.Template:{entityName}构建完成!"); +} + +Console.WriteLine("Yi.Framework.Template:模板全部生成完成!"); +Console.ReadKey(); \ No newline at end of file diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ConstTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ConstTemplateProvider.cs new file mode 100644 index 00000000..1b6aaddb --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ConstTemplateProvider.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.Abstracts; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Provider.Server +{ + internal class ConstTemplateProvider : ProgramTemplateProvider + { + public ConstTemplateProvider(string modelName, string entityName) : base(modelName, entityName) + { + BuildPath = $@"..\..\..\..\Yi.Framework.DtoModel\{TemplateConst.ModelName}\{TemplateConst.EntityName}\ConstConfig\{TemplateConst.EntityName}Const.cs"; + TemplatePath = $@"..\..\..\Template\Server\ConstTemplate.txt"; + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/CreateInputVoTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/CreateInputVoTemplateProvider.cs new file mode 100644 index 00000000..4969ea62 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/CreateInputVoTemplateProvider.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.Abstracts; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Provider.Server +{ + public class CreateInputVoTemplateProvider : ModelTemplateProvider + { + public CreateInputVoTemplateProvider(string modelName, string entityName) : base(modelName, entityName) + { + BuildPath = $@"..\..\..\..\Yi.Framework.DtoModel\{TemplateConst.ModelName}\{TemplateConst.EntityName}\{TemplateConst.EntityName}CreateInput.cs"; + TemplatePath = $@"..\..\..\Template\Server\CreateInputTemplate.txt"; + EntityPath = $@"..\..\..\..\Yi.Framework.Model\{TemplateConst.ModelName}\Entitys\{TemplateConst.EntityName}Entity.cs"; + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetListInputVoTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetListInputVoTemplateProvider.cs new file mode 100644 index 00000000..b7d2d169 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetListInputVoTemplateProvider.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.Abstracts; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Provider.Server +{ + public class GetListInputTemplateProvider : ModelTemplateProvider + { + public GetListInputTemplateProvider(string modelName, string entityName) : base(modelName, entityName) + { + BuildPath = $@"..\..\..\..\Yi.Framework.DtoModel\{TemplateConst.ModelName}\{TemplateConst.EntityName}\{TemplateConst.EntityName}GetListInput.cs"; + TemplatePath = $@"..\..\..\Template\Server\GetListInputTemplate.txt"; + EntityPath = $@"..\..\..\..\Yi.Framework.Model\{TemplateConst.ModelName}\Entitys\{TemplateConst.EntityName}Entity.cs"; + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetListOutputDtoTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetListOutputDtoTemplateProvider.cs new file mode 100644 index 00000000..6ca9dc5c --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetListOutputDtoTemplateProvider.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.Abstracts; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Provider.Server +{ + public class GetListOutputTemplateProvider : ModelTemplateProvider + { + public GetListOutputTemplateProvider(string modelName, string entityName) : base(modelName, entityName) + { + BuildPath = $@"..\..\..\..\Yi.Framework.DtoModel\{TemplateConst.ModelName}\{TemplateConst.EntityName}\{TemplateConst.EntityName}GetListOutput.cs"; + TemplatePath = $@"..\..\..\Template\Server\GetListOutputTemplate.txt"; + EntityPath = $@"..\..\..\..\Yi.Framework.Model\{TemplateConst.ModelName}\Entitys\{TemplateConst.EntityName}Entity.cs"; + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetOutputDtoTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetOutputDtoTemplateProvider.cs new file mode 100644 index 00000000..259e99b5 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/GetOutputDtoTemplateProvider.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.Abstracts; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Provider.Server +{ + public class GetOutputDtoTemplateProvider : ModelTemplateProvider + { + public GetOutputDtoTemplateProvider(string modelName, string entityName) : base(modelName, entityName) + { + BuildPath = $@"..\..\..\..\Yi.Framework.DtoModel\{TemplateConst.ModelName}\{TemplateConst.EntityName}\{TemplateConst.EntityName}GetOutputDto.cs"; + TemplatePath = $@"..\..\..\Template\Server\GetOutputDtoTemplate.txt"; + EntityPath = $@"..\..\..\..\Yi.Framework.Model\{TemplateConst.ModelName}\Entitys\{TemplateConst.EntityName}Entity.cs"; + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/IServiceTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/IServiceTemplateProvider.cs new file mode 100644 index 00000000..31799ced --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/IServiceTemplateProvider.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.Abstracts; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Provider.Server +{ + public class IServiceTemplateProvider : ProgramTemplateProvider + { + public IServiceTemplateProvider(string modelName, string entityName) : base(modelName, entityName) + { + BuildPath = $@"..\..\..\..\Yi.Framework.Interface\{TemplateConst.ModelName}\I{TemplateConst.EntityName}Service.cs"; + TemplatePath = $@"..\..\..\Template\Server\IServiceTemplate.txt"; + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ProfileTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ProfileTemplateProvider.cs new file mode 100644 index 00000000..074b3803 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ProfileTemplateProvider.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.Abstracts; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Provider.Server +{ + public class ProfileTemplateProvider : ProgramTemplateProvider + { + public ProfileTemplateProvider(string modelName, string entityName) : base(modelName, entityName) + { + BuildPath = $@"..\..\..\..\Yi.Framework.DtoModel\{TemplateConst.ModelName}\{TemplateConst.EntityName}\MapperConfig\{TemplateConst.EntityName}Profile.cs"; + TemplatePath = $@"..\..\..\Template\Server\ProfileTemplate.txt"; + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ServiceTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ServiceTemplateProvider.cs new file mode 100644 index 00000000..6121b10a --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/ServiceTemplateProvider.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.Abstracts; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Provider.Server +{ + public class ServiceTemplateProvider : ProgramTemplateProvider + { + public ServiceTemplateProvider(string modelName, string entityName) : base(modelName, entityName) + { + BuildPath = $@"..\..\..\..\Yi.Framework.Service\{TemplateConst.ModelName}\{TemplateConst.EntityName}Service.cs"; + TemplatePath = $@"..\..\..\Template\Server\ServiceTemplate.txt"; + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/UpdateInputVoTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/UpdateInputVoTemplateProvider.cs new file mode 100644 index 00000000..c9e7f4b2 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Server/UpdateInputVoTemplateProvider.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.Abstracts; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Provider.Server +{ + public class UpdateInputVoTemplateProvider : ModelTemplateProvider + { + public UpdateInputVoTemplateProvider(string modelName, string entityName) : base(modelName, entityName) + { + BuildPath = $@"..\..\..\..\Yi.Framework.DtoModel\{TemplateConst.ModelName}\{TemplateConst.EntityName}\{TemplateConst.EntityName}UpdateInputVo.cs"; + TemplatePath = $@"..\..\..\Template\Server\UpdateInputVoTemplate.txt"; + EntityPath = $@"..\..\..\..\Yi.Framework.Model\{TemplateConst.ModelName}\Entitys\{TemplateConst.EntityName}Entity.cs"; + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Site/ApiTemplateProvider.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Site/ApiTemplateProvider.cs new file mode 100644 index 00000000..5f80d526 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Provider/Site/ApiTemplateProvider.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.Abstracts; +using Yi.Framework.Template.ConstClasses; + +namespace Yi.Framework.Template.Provider.Site +{ + public class ApiTemplateProvider : ProgramTemplateProvider + { + public ApiTemplateProvider(string modelName, string entityName) : base(modelName, entityName) + { + BuildPath = $@"..\..\..\Code_Site\src\api\{TemplateConst.LowerModelName}\{TemplateConst.LowerEntityName}Api.js"; + TemplatePath = $@"..\..\..\Template\Site\ApiTemplate.txt"; + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ConstTemplate.txt b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ConstTemplate.txt new file mode 100644 index 00000000..4c589964 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ConstTemplate.txt @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.DtoModel.#ModelName#.#EntityName#.ConstConfig +{ + public class #EntityName#Const + { + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/CreateInputVoTemplate.txt b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/CreateInputVoTemplate.txt new file mode 100644 index 00000000..de35e69a --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/CreateInputVoTemplate.txt @@ -0,0 +1,15 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Model.Base; + +namespace Yi.Framework.DtoModel.#ModelName#.#EntityName# +{ + public class #EntityName#CreateUpdateInput : EntityDto + { +#EntityField# + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetListInputVoTemplate.txt b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetListInputVoTemplate.txt new file mode 100644 index 00000000..d55956e8 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetListInputVoTemplate.txt @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Model.Base; + +namespace Yi.Framework.DtoModel.#ModelName#.#EntityName# +{ + public class #EntityName#GetListInput + { +#EntityField# + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetListOutputDtoTemplate.txt b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetListOutputDtoTemplate.txt new file mode 100644 index 00000000..52e3c644 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetListOutputDtoTemplate.txt @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Model.Base; + +namespace Yi.Framework.DtoModel.#ModelName#.#EntityName# +{ + public class #EntityName#GetListOutput: EntityDto + { +#EntityField# + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetOutputDtoTemplate.txt b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetOutputDtoTemplate.txt new file mode 100644 index 00000000..52e3c644 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/GetOutputDtoTemplate.txt @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Model.Base; + +namespace Yi.Framework.DtoModel.#ModelName#.#EntityName# +{ + public class #EntityName#GetListOutput: EntityDto + { +#EntityField# + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/IServiceTemplate.txt b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/IServiceTemplate.txt new file mode 100644 index 00000000..0e73fa41 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/IServiceTemplate.txt @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Common.Models; +using Yi.Framework.DtoModel.#ModelName#.#EntityName#; +using Yi.Framework.Interface.Base.Crud; + +namespace Yi.Framework.Interface.#ModelName# +{ + public interface I#EntityName#Service : ICrudAppService<#EntityName#GetListOutput, long, #EntityName#CreateUpdateInput> + { + Task>> PageListAsync(#EntityName#GetListInput input, PageParModel page); + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ProfileTemplate.txt b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ProfileTemplate.txt new file mode 100644 index 00000000..f545b835 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ProfileTemplate.txt @@ -0,0 +1,20 @@ +using AutoMapper; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Model.#ModelName#.Entitys; + +namespace Yi.Framework.DtoModel.#ModelName#.#EntityName#.MapperConfig +{ + public class Suppli#ModelName#rofile:Profile + { + public Suppli#ModelName#rofile() + { + CreateMap<#EntityName#CreateUpdateInput, #EntityName#Entity>(); + CreateMap<#EntityName#Entity, #EntityName#GetListOutput>(); + + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ServiceTemplate.txt b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ServiceTemplate.txt new file mode 100644 index 00000000..078f4fcf --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/ServiceTemplate.txt @@ -0,0 +1,29 @@ +using AutoMapper; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Common.Models; +using Yi.Framework.DtoModel.#ModelName#.#EntityName#; +using Yi.Framework.Interface.#ModelName#; +using Yi.Framework.Model.#ModelName#.Entitys; +using Yi.Framework.Repository; +using Yi.Framework.Service.Base.Crud; + +namespace Yi.Framework.Service.#ModelName# +{ + public class #EntityName#Service : CrudAppService<#EntityName#Entity, #EntityName#GetListOutput, long, #EntityName#CreateUpdateInput>, I#EntityName#Service + { + public async Task>> PageListAsync(#EntityName#GetListInput input, PageParModel page) + { + RefAsync totalNumber = 0; + var data = await Repository._DbQueryable + .WhereIF(input.Code is not null,u=>u.Code.Contains(input.Code)) + .WhereIF(input.Name is not null, u => u.Name.Contains(input.Name)) + .ToPageListAsync(page.PageNum, page.PageSize, totalNumber); + return new PageModel> { Total = totalNumber.Value, Data = await MapToGetListOutputDtosAsync(data) }; + } + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/UpdateInputVoTemplate.txt b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/UpdateInputVoTemplate.txt new file mode 100644 index 00000000..de35e69a --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Server/UpdateInputVoTemplate.txt @@ -0,0 +1,15 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Model.Base; + +namespace Yi.Framework.DtoModel.#ModelName#.#EntityName# +{ + public class #EntityName#CreateUpdateInput : EntityDto + { +#EntityField# + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Site/ApiTemplate.txt b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Site/ApiTemplate.txt new file mode 100644 index 00000000..dc12e694 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Template/Site/ApiTemplate.txt @@ -0,0 +1,45 @@ +import request from '@/utils/request' + +// 分页查询 +export function listData(query) { + return request({ + url: '/#LowerEntityName#/pageList', + method: 'get', + params: query + }) +} + +// id查询 +export function getData(code) { + return request({ + url: '/#LowerEntityName#/getById/' + code, + method: 'get' + }) +} + +// 新增 +export function addData(data) { + return request({ + url: '/#LowerEntityName#/create', + method: 'post', + data: data + }) +} + +// 修改 +export function updateData(id,data) { + return request({ + url: `/#LowerEntityName#/update/${id}`, + method: 'put', + data: data + }) +} + +// 删除 +export function delData(code) { + return request({ + url: '/#LowerEntityName#/del', + method: 'delete', + data:"string"==typeof(code)?[code]:code + }) +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/TemplateFactory.cs b/Yi.Framework.Net6/src/module/Yi.Framework.Template/TemplateFactory.cs new file mode 100644 index 00000000..7ea472ac --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/TemplateFactory.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Template.Abstracts; +using Yi.Framework.Template.Provider; + +namespace Yi.Framework.Template +{ + public class TemplateFactory + { + private List _templateProviders=new List(); + + public void CreateTemplateProviders(Action> action) + { + action(_templateProviders); + } + + public void BuildTemplate() + { + foreach (var provider in _templateProviders) + { + provider.Build(); + } + } + + public void BakTemplate() + { + foreach (var provider in _templateProviders) + { + provider.Bak(); + } + } + + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.Template/Yi.Framework.Template.csproj b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Yi.Framework.Template.csproj new file mode 100644 index 00000000..403f1b58 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.Template/Yi.Framework.Template.csproj @@ -0,0 +1,40 @@ + + + + net6.0 + enable + enable + Exe + + + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + + diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/ApplicationContractsSwaggerDoc.xml b/Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/ApplicationContractsSwaggerDoc.xml similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/ApplicationContractsSwaggerDoc.xml rename to Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/ApplicationContractsSwaggerDoc.xml diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/Dtos/StudentCreateInputVo.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/Dtos/StudentCreateInputVo.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/Dtos/StudentCreateInputVo.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/Dtos/StudentCreateInputVo.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetListInputVo.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetListInputVo.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetListInputVo.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetListInputVo.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetListOutputDto.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetListOutputDto.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetListOutputDto.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetListOutputDto.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetOutputDto.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetOutputDto.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetOutputDto.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/Dtos/StudentGetOutputDto.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/Dtos/StudentUpdateInputVo.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/Dtos/StudentUpdateInputVo.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/Dtos/StudentUpdateInputVo.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/Dtos/StudentUpdateInputVo.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/IStudentService.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/IStudentService.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Student/IStudentService.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Student/IStudentService.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Yi.Framework.Application.Contracts.csproj b/Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Yi.Framework.Application.Contracts.csproj similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/Yi.Framework.Application.Contracts.csproj rename to Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/Yi.Framework.Application.Contracts.csproj diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/YiFrameworkApplicationContractsModule.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/YiFrameworkApplicationContractsModule.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application.Contracts/YiFrameworkApplicationContractsModule.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Application.Contracts/YiFrameworkApplicationContractsModule.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application/ApplicationSwaggerDoc.xml b/Yi.Framework.Net6/src/project/Yi.Framework.Application/ApplicationSwaggerDoc.xml similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application/ApplicationSwaggerDoc.xml rename to Yi.Framework.Net6/src/project/Yi.Framework.Application/ApplicationSwaggerDoc.xml diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application/Student/MapperConfig/StudentProfile.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Application/Student/MapperConfig/StudentProfile.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application/Student/MapperConfig/StudentProfile.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Application/Student/MapperConfig/StudentProfile.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application/Student/StudentService.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Application/Student/StudentService.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application/Student/StudentService.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Application/Student/StudentService.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application/Yi.Framework.Application.csproj b/Yi.Framework.Net6/src/project/Yi.Framework.Application/Yi.Framework.Application.csproj similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application/Yi.Framework.Application.csproj rename to Yi.Framework.Net6/src/project/Yi.Framework.Application/Yi.Framework.Application.csproj diff --git a/Yi.Framework.Net6/test/Yi.Framework.Application/YiFrameworkApplicationModule.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Application/YiFrameworkApplicationModule.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Application/YiFrameworkApplicationModule.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Application/YiFrameworkApplicationModule.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Domain.Shared/GlobalUsings.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Domain.Shared/GlobalUsings.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Domain.Shared/GlobalUsings.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Domain.Shared/GlobalUsings.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Domain.Shared/Student/ConstClasses/AuthStudentConst.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Domain.Shared/Student/ConstClasses/AuthStudentConst.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Domain.Shared/Student/ConstClasses/AuthStudentConst.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Domain.Shared/Student/ConstClasses/AuthStudentConst.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Domain.Shared/Student/ConstClasses/StudentConst.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Domain.Shared/Student/ConstClasses/StudentConst.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Domain.Shared/Student/ConstClasses/StudentConst.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Domain.Shared/Student/ConstClasses/StudentConst.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Domain.Shared/Yi.Framework.Domain.Shared.csproj b/Yi.Framework.Net6/src/project/Yi.Framework.Domain.Shared/Yi.Framework.Domain.Shared.csproj similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Domain.Shared/Yi.Framework.Domain.Shared.csproj rename to Yi.Framework.Net6/src/project/Yi.Framework.Domain.Shared/Yi.Framework.Domain.Shared.csproj diff --git a/Yi.Framework.Net6/test/Yi.Framework.Domain.Shared/YiFrameworkDomainSharedModule.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Domain.Shared/YiFrameworkDomainSharedModule.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Domain.Shared/YiFrameworkDomainSharedModule.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Domain.Shared/YiFrameworkDomainSharedModule.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Domain/DomainSwaggerDoc.xml b/Yi.Framework.Net6/src/project/Yi.Framework.Domain/DomainSwaggerDoc.xml similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Domain/DomainSwaggerDoc.xml rename to Yi.Framework.Net6/src/project/Yi.Framework.Domain/DomainSwaggerDoc.xml diff --git a/Yi.Framework.Net6/test/Yi.Framework.Domain/Student/Entities/StudentEntity.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Domain/Student/Entities/StudentEntity.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Domain/Student/Entities/StudentEntity.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Domain/Student/Entities/StudentEntity.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Domain/Student/Repositories/IStudentRepository.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Domain/Student/Repositories/IStudentRepository.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Domain/Student/Repositories/IStudentRepository.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Domain/Student/Repositories/IStudentRepository.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Domain/Student/StudentManager.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Domain/Student/StudentManager.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Domain/Student/StudentManager.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Domain/Student/StudentManager.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Domain/Yi.Framework.Domain.csproj b/Yi.Framework.Net6/src/project/Yi.Framework.Domain/Yi.Framework.Domain.csproj similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Domain/Yi.Framework.Domain.csproj rename to Yi.Framework.Net6/src/project/Yi.Framework.Domain/Yi.Framework.Domain.csproj diff --git a/Yi.Framework.Net6/test/Yi.Framework.Domain/YiFrameworkDomainModule.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Domain/YiFrameworkDomainModule.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Domain/YiFrameworkDomainModule.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Domain/YiFrameworkDomainModule.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Sqlsugar/Student/StudentRepository.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Sqlsugar/Student/StudentRepository.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Sqlsugar/Student/StudentRepository.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Sqlsugar/Student/StudentRepository.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Sqlsugar/Yi.Framework.Sqlsugar.csproj b/Yi.Framework.Net6/src/project/Yi.Framework.Sqlsugar/Yi.Framework.Sqlsugar.csproj similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Sqlsugar/Yi.Framework.Sqlsugar.csproj rename to Yi.Framework.Net6/src/project/Yi.Framework.Sqlsugar/Yi.Framework.Sqlsugar.csproj diff --git a/Yi.Framework.Net6/test/Yi.Framework.Sqlsugar/YiFrameworkSqlsugarModule.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Sqlsugar/YiFrameworkSqlsugarModule.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Sqlsugar/YiFrameworkSqlsugarModule.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Sqlsugar/YiFrameworkSqlsugarModule.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/Program.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Web/Program.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/Program.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/Program.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/Properties/launchSettings.json b/Yi.Framework.Net6/src/project/Yi.Framework.Web/Properties/launchSettings.json similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/Properties/launchSettings.json rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/Properties/launchSettings.json diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/Test2Entity.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Web/Test2Entity.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/Test2Entity.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/Test2Entity.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/TestEntity.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Web/TestEntity.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/TestEntity.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/TestEntity.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/TimeTest.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Web/TimeTest.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/TimeTest.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/TimeTest.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/TimeTest.txt b/Yi.Framework.Net6/src/project/Yi.Framework.Web/TimeTest.txt similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/TimeTest.txt rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/TimeTest.txt diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/Yi.Framework.Web.csproj b/Yi.Framework.Net6/src/project/Yi.Framework.Web/Yi.Framework.Web.csproj similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/Yi.Framework.Web.csproj rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/Yi.Framework.Web.csproj diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/YiFrameworkWebModule.cs b/Yi.Framework.Net6/src/project/Yi.Framework.Web/YiFrameworkWebModule.cs similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/YiFrameworkWebModule.cs rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/YiFrameworkWebModule.cs diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/appsettings.json b/Yi.Framework.Net6/src/project/Yi.Framework.Web/appsettings.json similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/appsettings.json rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/appsettings.json diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/key.pem b/Yi.Framework.Net6/src/project/Yi.Framework.Web/key.pem similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/key.pem rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/key.pem diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/public.pem b/Yi.Framework.Net6/src/project/Yi.Framework.Web/public.pem similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/public.pem rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/public.pem diff --git a/Yi.Framework.Net6/test/Yi.Framework.Web/yi-sqlsugar-dev.db b/Yi.Framework.Net6/src/project/Yi.Framework.Web/yi-sqlsugar-dev.db similarity index 100% rename from Yi.Framework.Net6/test/Yi.Framework.Web/yi-sqlsugar-dev.db rename to Yi.Framework.Net6/src/project/Yi.Framework.Web/yi-sqlsugar-dev.db