feat: 完善搭建生成器
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Furion.DependencyInjection;
|
||||
using Yi.Framework.Module.WebFirstManager.Handler;
|
||||
|
||||
namespace Yi.Framework.Module.WebFirstManager.Domain
|
||||
{
|
||||
/// <summary>
|
||||
/// 模板领域服务
|
||||
/// </summary>
|
||||
public class TemplateManager : ITransient
|
||||
{
|
||||
public ITemplateHandler TemplateVar { get; set; }
|
||||
|
||||
|
||||
public string Replate(string templateStr, string templateVar, string tableName)
|
||||
{
|
||||
return templateStr.Replace(templateVar, tableName);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Module.WebFirstManager.Handler
|
||||
{
|
||||
internal class FieldTemplateHandler : TemplateHandlerBase, ITemplateHandler
|
||||
{
|
||||
public string Invoker(string str)
|
||||
{
|
||||
//从数据库中获取到全部字段,然后根据字段生成字符串,进行替换
|
||||
return str.Replace("@field", "");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Module.WebFirstManager.Handler
|
||||
{
|
||||
public interface ITemplateHandler
|
||||
{
|
||||
string Invoker(string str);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using EasyTool;
|
||||
|
||||
namespace Yi.Framework.Module.WebFirstManager.Handler
|
||||
{
|
||||
internal class ModelTemplateHandler : TemplateHandlerBase, ITemplateHandler
|
||||
{
|
||||
public string Invoker(string str)
|
||||
{
|
||||
return str.Replace("@model", StrUtil.ToFirstLetterLowerCase(Table.Name)).Replace("@Model", StrUtil.ToFirstLetterUpperCase(Table.Name));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Yi.Framework.Module.WebFirstManager.Handler
|
||||
{
|
||||
internal class NameSpaceTemplateHandler : TemplateHandlerBase, ITemplateHandler
|
||||
{
|
||||
public string Invoker(string str)
|
||||
{
|
||||
return str.Replace("@Namespace", "");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Module.WebFirstManager.Entities;
|
||||
|
||||
namespace Yi.Framework.Module.WebFirstManager.Handler
|
||||
{
|
||||
public class TemplateHandlerBase
|
||||
{
|
||||
protected TableEntity Table { get; set; }
|
||||
|
||||
protected List<FieldEntity> Fields { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -16,22 +16,36 @@ using Yi.Framework.Module.WebFirstManager.Entities;
|
||||
namespace Yi.Framework.Module.WebFirstManager.Impl
|
||||
{
|
||||
[ApiDescriptionSettings("WebFirstManager")]
|
||||
public class WebFirstService : ApplicationService, IWebFirstService,IDynamicApiController,ITransient
|
||||
public class WebFirstService : ApplicationService, IWebFirstService, IDynamicApiController, ITransient
|
||||
{
|
||||
private IRepository<TemplateEntity> _repository;
|
||||
public WebFirstService(IRepository<TemplateEntity> repository) { _repository = repository; }
|
||||
|
||||
/// <summary>
|
||||
/// 根据模板id生成对应的结果
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<WebFirstGetOutputDto> GetAsync(Guid id)
|
||||
private IRepository<TemplateVarEntity> _varRepository;
|
||||
public WebFirstService(IRepository<TemplateEntity> repository, IRepository<TemplateVarEntity> varRepository)
|
||||
{
|
||||
var entity = await _repository.GetByIdAsync(id);
|
||||
|
||||
return entity.Adapt<WebFirstGetOutputDto>();
|
||||
_repository = repository;
|
||||
_varRepository = varRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 一键构建
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task PostBuildAsync()
|
||||
{
|
||||
//获取全部模板
|
||||
var templates = await _repository.GetListAsync();
|
||||
var varTemps = await _varRepository.GetListAsync();
|
||||
|
||||
}
|
||||
|
||||
private async Task BuildSingleAsync(TemplateEntity template, List<TemplateVarEntity> templateVars)
|
||||
{
|
||||
foreach (var tempVar in templateVars)
|
||||
template.TemplateStr.Replace(tempVar.Value, "model");
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -386,6 +386,11 @@
|
||||
<param name="code"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:Yi.Framework.Module.WebFirstManager.Domain.TemplateManager">
|
||||
<summary>
|
||||
模板领域服务
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Yi.Framework.Module.WebFirstManager.Dtos.Field.FieldCreateInput.Name">
|
||||
<summary>
|
||||
字段名称
|
||||
@@ -556,11 +561,10 @@
|
||||
字段管理
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.Module.WebFirstManager.Impl.WebFirstService.GetAsync(System.Guid)">
|
||||
<member name="M:Yi.Framework.Module.WebFirstManager.Impl.WebFirstService.PostBuildAsync">
|
||||
<summary>
|
||||
根据模板id生成对应的结果
|
||||
一键构建
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.Module.WeChat.IWeChatManager.Code2SessionAsync(Yi.Framework.Module.WeChat.Model.Code2SessionInput)">
|
||||
|
||||
Reference in New Issue
Block a user