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
|
namespace Yi.Framework.Module.WebFirstManager.Impl
|
||||||
{
|
{
|
||||||
[ApiDescriptionSettings("WebFirstManager")]
|
[ApiDescriptionSettings("WebFirstManager")]
|
||||||
public class WebFirstService : ApplicationService, IWebFirstService,IDynamicApiController,ITransient
|
public class WebFirstService : ApplicationService, IWebFirstService, IDynamicApiController, ITransient
|
||||||
{
|
{
|
||||||
private IRepository<TemplateEntity> _repository;
|
private IRepository<TemplateEntity> _repository;
|
||||||
public WebFirstService(IRepository<TemplateEntity> repository) { _repository = repository; }
|
private IRepository<TemplateVarEntity> _varRepository;
|
||||||
|
public WebFirstService(IRepository<TemplateEntity> repository, IRepository<TemplateVarEntity> varRepository)
|
||||||
/// <summary>
|
|
||||||
/// 根据模板id生成对应的结果
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="id"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
public async Task<WebFirstGetOutputDto> GetAsync(Guid id)
|
|
||||||
{
|
{
|
||||||
var entity = await _repository.GetByIdAsync(id);
|
_repository = repository;
|
||||||
|
_varRepository = varRepository;
|
||||||
return entity.Adapt<WebFirstGetOutputDto>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <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>
|
<param name="code"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:Yi.Framework.Module.WebFirstManager.Domain.TemplateManager">
|
||||||
|
<summary>
|
||||||
|
模板领域服务
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="P:Yi.Framework.Module.WebFirstManager.Dtos.Field.FieldCreateInput.Name">
|
<member name="P:Yi.Framework.Module.WebFirstManager.Dtos.Field.FieldCreateInput.Name">
|
||||||
<summary>
|
<summary>
|
||||||
字段名称
|
字段名称
|
||||||
@@ -556,11 +561,10 @@
|
|||||||
字段管理
|
字段管理
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:Yi.Framework.Module.WebFirstManager.Impl.WebFirstService.GetAsync(System.Guid)">
|
<member name="M:Yi.Framework.Module.WebFirstManager.Impl.WebFirstService.PostBuildAsync">
|
||||||
<summary>
|
<summary>
|
||||||
根据模板id生成对应的结果
|
一键构建
|
||||||
</summary>
|
</summary>
|
||||||
<param name="id"></param>
|
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:Yi.Framework.Module.WeChat.IWeChatManager.Code2SessionAsync(Yi.Framework.Module.WeChat.Model.Code2SessionInput)">
|
<member name="M:Yi.Framework.Module.WeChat.IWeChatManager.Code2SessionAsync(Yi.Framework.Module.WeChat.Model.Code2SessionInput)">
|
||||||
|
|||||||
Reference in New Issue
Block a user