diff --git a/Yi.Abp.Net8/tool/Yi.Abp.Tool.Web/wwwroot/ProjectTemplate.zip b/Yi.Abp.Net8/tool/Yi.Abp.Tool.Web/wwwroot/ProjectTemplate.zip new file mode 100644 index 00000000..1ca56d6e Binary files /dev/null and b/Yi.Abp.Net8/tool/Yi.Abp.Tool.Web/wwwroot/ProjectTemplate.zip differ diff --git a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/HelpCommand.cs b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/HelpCommand.cs index 5aab22bf..777a4688 100644 --- a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/HelpCommand.cs +++ b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/HelpCommand.cs @@ -28,8 +28,8 @@ namespace Yi.Abp.Tool.Commands > v: 查看yi-abp工具版本号 > help: 查看帮助列表,写下命令` yi-abp help ` - > new: 创建模板--(正在更新) - + > new: 创建模块模板` yi-abp new -t module -csf ` + > new: 创建项目模板` yi-abp new -csf ` """); return Task.CompletedTask; } diff --git a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/NewCommand.cs b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/NewCommand.cs index 5adca498..35d2eba1 100644 --- a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/NewCommand.cs +++ b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Commands/NewCommand.cs @@ -31,34 +31,37 @@ namespace Yi.Abp.Tool.Commands } string name = args[1]; + #region 处理生成类型 + options.TryGetValue("t", out var templateType); var zipPath = string.Empty; + byte[] fileByteArray; if (templateType == "module") { //代表模块生成 - var fileByteArray = await _templateGenService.CreateModuleAsync(new TemplateGenCreateInputDto + fileByteArray = await _templateGenService.CreateModuleAsync(new TemplateGenCreateInputDto { Name = name, }); - zipPath = $"{id}.zip"; - await File.WriteAllBytesAsync(zipPath, fileByteArray); - } else { - //暂未实现 - throw new NotImplementedException("暂未实现"); //代表模块生成 - var fileResult = await _templateGenService.CreateProjectAsync(new TemplateGenCreateInputDto + fileByteArray = await _templateGenService.CreateProjectAsync(new TemplateGenCreateInputDto { Name = name, }); } + zipPath = $"{id}.zip"; + await File.WriteAllBytesAsync(zipPath, fileByteArray); + #endregion + + #region 处理解决方案文件夹 //默认是当前目录 var unzipDirPath = "./"; //如果创建解决方案文件夹 - if (templateType == "module"&&options.TryGetValue("csf", out _)) + if (options.TryGetValue("csf", out _)) { var moduleName = name.ToLower().Replace(".", "-"); @@ -69,12 +72,13 @@ namespace Yi.Abp.Tool.Commands Directory.CreateDirectory(moduleName); unzipDirPath = moduleName; } + #endregion ZipFile.ExtractToDirectory(zipPath, unzipDirPath); //创建压缩包后删除临时目录 File.Delete(zipPath); - await Console.Out.WriteLineAsync("模块已生成!"); + await Console.Out.WriteLineAsync("恭喜~模块已生成!"); } } } diff --git a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Program.cs b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Program.cs index b10626aa..da794dcf 100644 --- a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Program.cs +++ b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Program.cs @@ -1,4 +1,5 @@ -using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Yi.Abp.Tool; using Yi.Abp.Tool.Application.Contracts; @@ -25,6 +26,10 @@ class Program { await service.AddApplicationAsync(); }) + .ConfigureAppConfiguration(configurationBuilder => + { + configurationBuilder.AddJsonFile("appsettings.json"); + }) .UseAutofac() .Build(); var commandSelector = host.Services.GetRequiredService(); diff --git a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Yi.Abp.Tool.csproj b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Yi.Abp.Tool.csproj index 662938e1..7bc7ff7f 100644 --- a/Yi.Abp.Net8/tool/Yi.Abp.Tool/Yi.Abp.Tool.csproj +++ b/Yi.Abp.Net8/tool/Yi.Abp.Tool/Yi.Abp.Tool.csproj @@ -5,7 +5,7 @@ net8.0 enable enable - 0.2.0 + 0.3.0 橙子老哥 yi-framework框架配套工具 https://ccnetcore.com @@ -37,6 +37,9 @@ + + Always + True \ diff --git a/Yi.Abp.Net8/tool/Yi.Abp.Tool/YiAbpToolModule.cs b/Yi.Abp.Net8/tool/Yi.Abp.Tool/YiAbpToolModule.cs index 9e701e88..c1557930 100644 --- a/Yi.Abp.Net8/tool/Yi.Abp.Tool/YiAbpToolModule.cs +++ b/Yi.Abp.Net8/tool/Yi.Abp.Tool/YiAbpToolModule.cs @@ -1,4 +1,6 @@ -using Yi.Abp.Tool.HttpApi.Client; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Http.Client; +using Yi.Abp.Tool.HttpApi.Client; namespace Yi.Abp.Tool { @@ -6,5 +8,15 @@ namespace Yi.Abp.Tool )] public class YiAbpToolModule : AbpModule { + + public override void PostConfigureServices(ServiceConfigurationContext context) + { + var configuration = context.Services.GetConfiguration(); + Configure(options => + { + options.RemoteServices.Default = + new RemoteServiceConfiguration(configuration["YiAbpToolUrl"]); + }); + } } } diff --git a/Yi.Abp.Net8/tool/Yi.Abp.Tool/appsettings.json b/Yi.Abp.Net8/tool/Yi.Abp.Tool/appsettings.json new file mode 100644 index 00000000..f6739553 --- /dev/null +++ b/Yi.Abp.Net8/tool/Yi.Abp.Tool/appsettings.json @@ -0,0 +1,3 @@ +{ + "YiAbpToolUrl": "https://ccnetcore.com:19002" +} \ No newline at end of file