From 99c5f25923877296ce8ec3c7f8b16a827c04f3cb Mon Sep 17 00:00:00 2001 From: feijie Date: Wed, 11 Dec 2024 16:14:33 +0800 Subject: [PATCH] =?UTF-8?q?feat(docs):=20=E6=B7=BB=E5=8A=A0=E6=96=87?= =?UTF-8?q?=E6=9C=AC=E6=A8=A1=E6=9D=BF=E6=A8=A1=E5=9D=97=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.EN.md | 81 ++++++++++++++++ .../README.md | 81 ++++++++++++++++ .../README.EN.md | 83 +++++++++++++++++ .../README.md | 83 +++++++++++++++++ .../README.EN.md | 64 +++++++++++++ .../README.md | 64 +++++++++++++ .../README.EN.md | 82 ++++++++++++++++ .../README.md | 82 ++++++++++++++++ .../README.EN.md | 74 +++++++++++++++ .../README.md | 74 +++++++++++++++ .../README.EN.md | 66 +++++++++++++ .../README.md | 66 +++++++++++++ .../README.EN.md | 74 +++++++++++++++ .../README.md | 74 +++++++++++++++ .../README.EN.md | 87 +++++++++++++++++ .../README.md | 87 +++++++++++++++++ .../README.EN.md | 93 +++++++++++++++++++ .../README.md | 93 +++++++++++++++++++ 18 files changed, 1408 insertions(+) create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application.Contracts/README.EN.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application.Contracts/README.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application/README.EN.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application/README.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain.Shared/README.EN.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain.Shared/README.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain/README.EN.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain/README.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.EntityFrameworkCore/README.EN.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.EntityFrameworkCore/README.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi.Client/README.EN.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi.Client/README.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi/README.EN.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi/README.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Razor/README.EN.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Razor/README.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Scriban/README.EN.md create mode 100644 aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Scriban/README.md diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application.Contracts/README.EN.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application.Contracts/README.EN.md new file mode 100644 index 000000000..0002f95a5 --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application.Contracts/README.EN.md @@ -0,0 +1,81 @@ +# LINGYUN.Abp.TextTemplating.Application.Contracts + +## Module Description + +Text templating application service contracts module, providing interface definitions and DTOs for text template management. + +### Base Modules + +* Volo.Abp.TextTemplating +* Volo.Abp.Ddd.Application.Contracts + +### Features + +* Provides application service interfaces for text template management + * ITextTemplateDefinitionAppService - Template definition management service interface + * ITextTemplateContentAppService - Template content management service interface +* Provides DTO definitions for text templates + * TextTemplateDefinitionDto - Template definition DTO + * TextTemplateContentDto - Template content DTO + * TextTemplateDefinitionCreateDto - Create template definition DTO + * TextTemplateDefinitionUpdateDto - Update template definition DTO + * TextTemplateContentUpdateDto - Update template content DTO +* Provides permission definitions for text template management + +### Permission Definitions + +* AbpTextTemplating.TextTemplateDefinitions + * Create - Create template definition + * Update - Update template definition + * Delete - Delete template definition +* AbpTextTemplating.TextTemplateContents + * Update - Update template content + * Delete - Delete template content + +### Application Service Interfaces + +* ITextTemplateDefinitionAppService + * GetAsync - Get template definition + * GetListAsync - Get template definition list + * CreateAsync - Create template definition + * UpdateAsync - Update template definition + * DeleteAsync - Delete template definition +* ITextTemplateContentAppService + * GetAsync - Get template content + * UpdateAsync - Update template content + * DeleteAsync - Delete template content + * RestoreAsync - Restore template content + +### How to Use + +1. Add `AbpTextTemplatingApplicationContractsModule` dependency + +```csharp +[DependsOn(typeof(AbpTextTemplatingApplicationContractsModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. Inject and use template service interfaces + +```csharp +public class YourService +{ + private readonly ITextTemplateDefinitionAppService _templateDefinitionAppService; + + public YourService(ITextTemplateDefinitionAppService templateDefinitionAppService) + { + _templateDefinitionAppService = templateDefinitionAppService; + } + + public async Task ManageTemplateAsync() + { + // Get template definition list + var templates = await _templateDefinitionAppService.GetListAsync( + new TextTemplateDefinitionGetListInput()); + } +} +``` + +[查看中文](README.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application.Contracts/README.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application.Contracts/README.md new file mode 100644 index 000000000..ce6a4679d --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application.Contracts/README.md @@ -0,0 +1,81 @@ +# LINGYUN.Abp.TextTemplating.Application.Contracts + +## 模块说明 + +文本模板应用服务契约模块,提供文本模板管理相关的接口定义和DTO。 + +### 基础模块 + +* Volo.Abp.TextTemplating +* Volo.Abp.Ddd.Application.Contracts + +### 功能定义 + +* 提供文本模板管理的应用服务接口 + * ITextTemplateDefinitionAppService - 模板定义管理服务接口 + * ITextTemplateContentAppService - 模板内容管理服务接口 +* 提供文本模板相关的DTO定义 + * TextTemplateDefinitionDto - 模板定义DTO + * TextTemplateContentDto - 模板内容DTO + * TextTemplateDefinitionCreateDto - 创建模板定义DTO + * TextTemplateDefinitionUpdateDto - 更新模板定义DTO + * TextTemplateContentUpdateDto - 更新模板内容DTO +* 提供文本模板管理相关的权限定义 + +### 权限定义 + +* AbpTextTemplating.TextTemplateDefinitions + * Create - 创建模板定义 + * Update - 更新模板定义 + * Delete - 删除模板定义 +* AbpTextTemplating.TextTemplateContents + * Update - 更新模板内容 + * Delete - 删除模板内容 + +### 应用服务接口 + +* ITextTemplateDefinitionAppService + * GetAsync - 获取模板定义 + * GetListAsync - 获取模板定义列表 + * CreateAsync - 创建模板定义 + * UpdateAsync - 更新模板定义 + * DeleteAsync - 删除模板定义 +* ITextTemplateContentAppService + * GetAsync - 获取模板内容 + * UpdateAsync - 更新模板内容 + * DeleteAsync - 删除模板内容 + * RestoreAsync - 恢复模板内容 + +### 如何使用 + +1. 添加 `AbpTextTemplatingApplicationContractsModule` 依赖 + +```csharp +[DependsOn(typeof(AbpTextTemplatingApplicationContractsModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. 注入并使用模板服务接口 + +```csharp +public class YourService +{ + private readonly ITextTemplateDefinitionAppService _templateDefinitionAppService; + + public YourService(ITextTemplateDefinitionAppService templateDefinitionAppService) + { + _templateDefinitionAppService = templateDefinitionAppService; + } + + public async Task ManageTemplateAsync() + { + // 获取模板定义列表 + var templates = await _templateDefinitionAppService.GetListAsync( + new TextTemplateDefinitionGetListInput()); + } +} +``` + +[查看英文](README.EN.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application/README.EN.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application/README.EN.md new file mode 100644 index 000000000..be2ad1c6d --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application/README.EN.md @@ -0,0 +1,83 @@ +# LINGYUN.Abp.TextTemplating.Application + +## Module Description + +Text templating application service module, implementing management and operation functions for text templates. + +### Base Modules + +* LINGYUN.Abp.TextTemplating.Application.Contracts +* Volo.Abp.TextTemplating +* Volo.Abp.Ddd.Application + +### Features + +* Provides text template definition management services + * TextTemplateDefinitionAppService - Template definition management service + * TextTemplateContentAppService - Template content management service +* Implements the following application service interfaces + * ITextTemplateDefinitionAppService + * ITextTemplateContentAppService + +### Application Services + +* TextTemplateDefinitionAppService + * GetAsync - Get template definition + * GetListAsync - Get template definition list + * CreateAsync - Create template definition + * UpdateAsync - Update template definition + * DeleteAsync - Delete template definition +* TextTemplateContentAppService + * GetAsync - Get template content + * UpdateAsync - Update template content + * DeleteAsync - Delete template content + * RestoreAsync - Restore template content + +### Permissions + +* AbpTextTemplating.TextTemplateDefinitions + * Create - Create template definition + * Update - Update template definition + * Delete - Delete template definition +* AbpTextTemplating.TextTemplateContents + * Update - Update template content + * Delete - Delete template content + +### How to Use + +1. Add `AbpTextTemplatingApplicationModule` dependency + +```csharp +[DependsOn(typeof(AbpTextTemplatingApplicationModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. Inject and use template services + +```csharp +public class YourService +{ + private readonly ITextTemplateDefinitionAppService _templateDefinitionAppService; + + public YourService(ITextTemplateDefinitionAppService templateDefinitionAppService) + { + _templateDefinitionAppService = templateDefinitionAppService; + } + + public async Task ManageTemplateAsync() + { + // Create template definition + var template = await _templateDefinitionAppService.CreateAsync( + new TextTemplateDefinitionCreateDto + { + Name = "TemplateName", + DisplayName = "Template Display Name", + RenderEngine = "Razor" + }); + } +} +``` + +[查看中文](README.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application/README.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application/README.md new file mode 100644 index 000000000..351c38835 --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Application/README.md @@ -0,0 +1,83 @@ +# LINGYUN.Abp.TextTemplating.Application + +## 模块说明 + +文本模板应用服务模块,实现文本模板的管理和操作功能。 + +### 基础模块 + +* LINGYUN.Abp.TextTemplating.Application.Contracts +* Volo.Abp.TextTemplating +* Volo.Abp.Ddd.Application + +### 功能定义 + +* 提供文本模板定义管理服务 + * TextTemplateDefinitionAppService - 模板定义管理服务 + * TextTemplateContentAppService - 模板内容管理服务 +* 实现以下应用服务接口 + * ITextTemplateDefinitionAppService + * ITextTemplateContentAppService + +### 应用服务 + +* TextTemplateDefinitionAppService + * GetAsync - 获取模板定义 + * GetListAsync - 获取模板定义列表 + * CreateAsync - 创建模板定义 + * UpdateAsync - 更新模板定义 + * DeleteAsync - 删除模板定义 +* TextTemplateContentAppService + * GetAsync - 获取模板内容 + * UpdateAsync - 更新模板内容 + * DeleteAsync - 删除模板内容 + * RestoreAsync - 恢复模板内容 + +### 权限 + +* AbpTextTemplating.TextTemplateDefinitions + * Create - 创建模板定义 + * Update - 更新模板定义 + * Delete - 删除模板定义 +* AbpTextTemplating.TextTemplateContents + * Update - 更新模板内容 + * Delete - 删除模板内容 + +### 如何使用 + +1. 添加 `AbpTextTemplatingApplicationModule` 依赖 + +```csharp +[DependsOn(typeof(AbpTextTemplatingApplicationModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. 注入并使用模板服务 + +```csharp +public class YourService +{ + private readonly ITextTemplateDefinitionAppService _templateDefinitionAppService; + + public YourService(ITextTemplateDefinitionAppService templateDefinitionAppService) + { + _templateDefinitionAppService = templateDefinitionAppService; + } + + public async Task ManageTemplateAsync() + { + // 创建模板定义 + var template = await _templateDefinitionAppService.CreateAsync( + new TextTemplateDefinitionCreateDto + { + Name = "TemplateName", + DisplayName = "Template Display Name", + RenderEngine = "Razor" + }); + } +} +``` + +[查看英文](README.EN.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain.Shared/README.EN.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain.Shared/README.EN.md new file mode 100644 index 000000000..fd8271454 --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain.Shared/README.EN.md @@ -0,0 +1,64 @@ +# LINGYUN.Abp.TextTemplating.Domain.Shared + +## Module Description + +Text templating domain shared module, providing shared definitions for text templates including constants, enums, and exceptions. + +### Base Modules + +* Volo.Abp.TextTemplating +* Volo.Abp.Validation + +### Features + +* Provides constants for text templates + * TextTemplateDefinitionConsts - Template definition related constants + * TextTemplateContentConsts - Template content related constants +* Provides error code definitions + * AbpTextTemplatingErrorCodes - Error code constants +* Provides localization resources + * AbpTextTemplatingResource - Localization resource + +### Constants + +* TextTemplateDefinitionConsts + * MaxNameLength - Maximum length for template name (64) + * MaxDisplayNameLength - Maximum length for display name (128) + * MaxLayoutLength - Maximum length for layout name (256) + * MaxDefaultCultureNameLength - Maximum length for default culture name (10) + * MaxLocalizationResourceNameLength - Maximum length for localization resource name (128) + * MaxRenderEngineLength - Maximum length for render engine name (64) + +### Error Codes + +* AbpTextTemplatingErrorCodes + * TextTemplateDefinition:NameAlreadyExists - Template name already exists + * TextTemplateDefinition:NotFound - Template definition not found + +### How to Use + +1. Add `AbpTextTemplatingDomainSharedModule` dependency + +```csharp +[DependsOn(typeof(AbpTextTemplatingDomainSharedModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. Use constants and error codes + +```csharp +public class YourService +{ + public void ValidateTemplateName(string name) + { + if (name.Length > TextTemplateDefinitionConsts.MaxNameLength) + { + throw new BusinessException(AbpTextTemplatingErrorCodes.TextTemplateDefinition.NameAlreadyExists); + } + } +} +``` + +[查看中文](README.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain.Shared/README.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain.Shared/README.md new file mode 100644 index 000000000..d2f1ee43c --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain.Shared/README.md @@ -0,0 +1,64 @@ +# LINGYUN.Abp.TextTemplating.Domain.Shared + +## 模块说明 + +文本模板领域共享模块,提供文本模板相关的常量、枚举、异常等共享定义。 + +### 基础模块 + +* Volo.Abp.TextTemplating +* Volo.Abp.Validation + +### 功能定义 + +* 提供文本模板相关的常量定义 + * TextTemplateDefinitionConsts - 模板定义相关常量 + * TextTemplateContentConsts - 模板内容相关常量 +* 提供文本模板相关的错误代码定义 + * AbpTextTemplatingErrorCodes - 错误代码常量 +* 提供本地化资源定义 + * AbpTextTemplatingResource - 本地化资源 + +### 常量定义 + +* TextTemplateDefinitionConsts + * MaxNameLength - 模板名称最大长度 (64) + * MaxDisplayNameLength - 显示名称最大长度 (128) + * MaxLayoutLength - 布局名称最大长度 (256) + * MaxDefaultCultureNameLength - 默认文化名称最大长度 (10) + * MaxLocalizationResourceNameLength - 本地化资源名称最大长度 (128) + * MaxRenderEngineLength - 渲染引擎名称最大长度 (64) + +### 错误代码 + +* AbpTextTemplatingErrorCodes + * TextTemplateDefinition:NameAlreadyExists - 模板名称已存在 + * TextTemplateDefinition:NotFound - 模板定义不存在 + +### 如何使用 + +1. 添加 `AbpTextTemplatingDomainSharedModule` 依赖 + +```csharp +[DependsOn(typeof(AbpTextTemplatingDomainSharedModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. 使用常量和错误代码 + +```csharp +public class YourService +{ + public void ValidateTemplateName(string name) + { + if (name.Length > TextTemplateDefinitionConsts.MaxNameLength) + { + throw new BusinessException(AbpTextTemplatingErrorCodes.TextTemplateDefinition.NameAlreadyExists); + } + } +} +``` + +[查看英文](README.EN.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain/README.EN.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain/README.EN.md new file mode 100644 index 000000000..d61e370f0 --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain/README.EN.md @@ -0,0 +1,82 @@ +# LINGYUN.Abp.TextTemplating.Domain + +## Module Description + +Text templating domain module, providing core functionality for text template definition and content management. + +### Base Modules + +* Volo.Abp.TextTemplating +* Volo.Abp.Ddd.Domain + +### Features + +* Provides domain entities for text template definition + * TextTemplateDefinition - Text template definition entity + * TextTemplateContent - Text template content entity +* Provides repository interfaces for text template definition + * ITextTemplateDefinitionRepository - Text template definition repository interface + * ITextTemplateContentRepository - Text template content repository interface +* Provides domain services for text template management + * TextTemplateManager - Text template manager + * IStaticTemplateDefinitionStore - Static template definition store + * IDynamicTemplateDefinitionStore - Dynamic template definition store + +### Domain Services + +* TextTemplateManager + * Manages creation, update, and deletion of text templates + * Handles association between template definitions and content + * Supports management of both static and dynamic template definitions + +### Entity Properties + +* TextTemplateDefinition + * Name - Template name + * DisplayName - Display name + * IsLayout - Whether it is a layout template + * Layout - Layout name + * IsInlineLocalized - Whether inline localization is enabled + * DefaultCultureName - Default culture name + * LocalizationResourceName - Localization resource name + * RenderEngine - Render engine + * IsStatic - Whether it is a static template + +### How to Use + +1. Add `AbpTextTemplatingDomainModule` dependency + +```csharp +[DependsOn(typeof(AbpTextTemplatingDomainModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. Use text template manager + +```csharp +public class YourService +{ + private readonly TextTemplateManager _templateManager; + + public YourService(TextTemplateManager templateManager) + { + _templateManager = templateManager; + } + + public async Task ManageTemplateAsync() + { + // Create template definition + var template = new TextTemplateDefinition( + Guid.NewGuid(), + "TemplateName", + "Template Display Name", + renderEngine: "Razor"); + + await _templateManager.CreateAsync(template); + } +} +``` + +[查看中文](README.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain/README.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain/README.md new file mode 100644 index 000000000..4c888abb9 --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Domain/README.md @@ -0,0 +1,82 @@ +# LINGYUN.Abp.TextTemplating.Domain + +## 模块说明 + +文本模板领域模块,提供文本模板定义和内容管理的核心功能。 + +### 基础模块 + +* Volo.Abp.TextTemplating +* Volo.Abp.Ddd.Domain + +### 功能定义 + +* 提供文本模板定义的领域实体 + * TextTemplateDefinition - 文本模板定义实体 + * TextTemplateContent - 文本模板内容实体 +* 提供文本模板定义的仓储接口 + * ITextTemplateDefinitionRepository - 文本模板定义仓储接口 + * ITextTemplateContentRepository - 文本模板内容仓储接口 +* 提供文本模板管理的领域服务 + * TextTemplateManager - 文本模板管理器 + * IStaticTemplateDefinitionStore - 静态模板定义存储 + * IDynamicTemplateDefinitionStore - 动态模板定义存储 + +### 领域服务 + +* TextTemplateManager + * 管理文本模板的创建、更新、删除 + * 处理模板定义与内容的关联 + * 支持静态和动态模板定义的管理 + +### 实体属性 + +* TextTemplateDefinition + * Name - 模板名称 + * DisplayName - 显示名称 + * IsLayout - 是否为布局模板 + * Layout - 布局名称 + * IsInlineLocalized - 是否内联本地化 + * DefaultCultureName - 默认文化名称 + * LocalizationResourceName - 本地化资源名称 + * RenderEngine - 渲染引擎 + * IsStatic - 是否为静态模板 + +### 如何使用 + +1. 添加 `AbpTextTemplatingDomainModule` 依赖 + +```csharp +[DependsOn(typeof(AbpTextTemplatingDomainModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. 使用文本模板管理器 + +```csharp +public class YourService +{ + private readonly TextTemplateManager _templateManager; + + public YourService(TextTemplateManager templateManager) + { + _templateManager = templateManager; + } + + public async Task ManageTemplateAsync() + { + // 创建模板定义 + var template = new TextTemplateDefinition( + Guid.NewGuid(), + "TemplateName", + "Template Display Name", + renderEngine: "Razor"); + + await _templateManager.CreateAsync(template); + } +} +``` + +[查看英文](README.EN.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.EntityFrameworkCore/README.EN.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.EntityFrameworkCore/README.EN.md new file mode 100644 index 000000000..cb01afd17 --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.EntityFrameworkCore/README.EN.md @@ -0,0 +1,74 @@ +# LINGYUN.Abp.TextTemplating.EntityFrameworkCore + +## Module Description + +Text templating EntityFrameworkCore module, providing data access implementation for text templates. + +### Base Modules + +* LINGYUN.Abp.TextTemplating.Domain +* Volo.Abp.EntityFrameworkCore + +### Features + +* Implements repository interfaces for text templates + * EfCoreTextTemplateDefinitionRepository - Template definition repository implementation + * EfCoreTextTemplateContentRepository - Template content repository implementation +* Provides database context and configuration + * ITextTemplatingDbContext - Text templating database context interface + * TextTemplatingDbContext - Text templating database context + * TextTemplatingDbContextModelCreatingExtensions - Database model configuration extensions + +### Database Tables + +* AbpTextTemplateDefinitions - Template definition table + * Id - Primary key + * Name - Template name + * DisplayName - Display name + * IsLayout - Whether it is a layout template + * Layout - Layout name + * IsInlineLocalized - Whether inline localization is enabled + * DefaultCultureName - Default culture name + * LocalizationResourceName - Localization resource name + * RenderEngine - Render engine + * IsStatic - Whether it is a static template +* AbpTextTemplateContents - Template content table + * Id - Primary key + * Name - Template name + * CultureName - Culture name + * Content - Template content + +### How to Use + +1. Add `AbpTextTemplatingEntityFrameworkCoreModule` dependency + +```csharp +[DependsOn(typeof(AbpTextTemplatingEntityFrameworkCoreModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. Configure database context + +```csharp +public class YourDbContext : AbpDbContext, ITextTemplatingDbContext +{ + public DbSet TextTemplateDefinitions { get; set; } + public DbSet TextTemplateContents { get; set; } + + public YourDbContext(DbContextOptions options) + : base(options) + { + } + + protected override void OnModelCreating(ModelBuilder builder) + { + base.OnModelCreating(builder); + + builder.ConfigureTextTemplating(); + } +} +``` + +[查看中文](README.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.EntityFrameworkCore/README.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.EntityFrameworkCore/README.md new file mode 100644 index 000000000..06d67ccc4 --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.EntityFrameworkCore/README.md @@ -0,0 +1,74 @@ +# LINGYUN.Abp.TextTemplating.EntityFrameworkCore + +## 模块说明 + +文本模板 EntityFrameworkCore 模块,提供文本模板的数据访问实现。 + +### 基础模块 + +* LINGYUN.Abp.TextTemplating.Domain +* Volo.Abp.EntityFrameworkCore + +### 功能定义 + +* 实现文本模板的仓储接口 + * EfCoreTextTemplateDefinitionRepository - 模板定义仓储实现 + * EfCoreTextTemplateContentRepository - 模板内容仓储实现 +* 提供数据库上下文和配置 + * ITextTemplatingDbContext - 文本模板数据库上下文接口 + * TextTemplatingDbContext - 文本模板数据库上下文 + * TextTemplatingDbContextModelCreatingExtensions - 数据库模型配置扩展 + +### 数据库表 + +* AbpTextTemplateDefinitions - 模板定义表 + * Id - 主键 + * Name - 模板名称 + * DisplayName - 显示名称 + * IsLayout - 是否为布局模板 + * Layout - 布局名称 + * IsInlineLocalized - 是否内联本地化 + * DefaultCultureName - 默认文化名称 + * LocalizationResourceName - 本地化资源名称 + * RenderEngine - 渲染引擎 + * IsStatic - 是否为静态模板 +* AbpTextTemplateContents - 模板内容表 + * Id - 主键 + * Name - 模板名称 + * CultureName - 文化名称 + * Content - 模板内容 + +### 如何使用 + +1. 添加 `AbpTextTemplatingEntityFrameworkCoreModule` 依赖 + +```csharp +[DependsOn(typeof(AbpTextTemplatingEntityFrameworkCoreModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. 配置数据库上下文 + +```csharp +public class YourDbContext : AbpDbContext, ITextTemplatingDbContext +{ + public DbSet TextTemplateDefinitions { get; set; } + public DbSet TextTemplateContents { get; set; } + + public YourDbContext(DbContextOptions options) + : base(options) + { + } + + protected override void OnModelCreating(ModelBuilder builder) + { + base.OnModelCreating(builder); + + builder.ConfigureTextTemplating(); + } +} +``` + +[查看英文](README.EN.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi.Client/README.EN.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi.Client/README.EN.md new file mode 100644 index 000000000..9723afdca --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi.Client/README.EN.md @@ -0,0 +1,66 @@ +# LINGYUN.Abp.TextTemplating.HttpApi.Client + +## Module Description + +Text templating HTTP API client module, providing HTTP client proxy implementation for text template management. + +### Base Modules + +* LINGYUN.Abp.TextTemplating.Application.Contracts +* Volo.Abp.Http.Client + +### Features + +* Provides HTTP client proxies for text template management + * TextTemplateDefinitionClientProxy - Template definition management client proxy + * TextTemplateContentClientProxy - Template content management client proxy +* Implements the following application service interfaces + * ITextTemplateDefinitionAppService + * ITextTemplateContentAppService + +### Configuration + +* AbpTextTemplatingRemoteServiceConsts + * RemoteServiceName - Remote service name (default: "AbpTextTemplating") + +### How to Use + +1. Add `AbpTextTemplatingHttpApiClientModule` dependency + +```csharp +[DependsOn(typeof(AbpTextTemplatingHttpApiClientModule))] +public class YouProjectModule : AbpModule +{ + public override void ConfigureServices(ServiceConfigurationContext context) + { + // Configure remote service + Configure(options => + { + options.RemoteServices.Default.BaseUrl = "http://localhost:44315/"; + }); + } +} +``` + +2. Inject and use client proxies + +```csharp +public class YourService +{ + private readonly ITextTemplateDefinitionAppService _templateDefinitionAppService; + + public YourService(ITextTemplateDefinitionAppService templateDefinitionAppService) + { + _templateDefinitionAppService = templateDefinitionAppService; + } + + public async Task ManageTemplateAsync() + { + // Get template definition list + var templates = await _templateDefinitionAppService.GetListAsync( + new TextTemplateDefinitionGetListInput()); + } +} +``` + +[查看中文](README.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi.Client/README.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi.Client/README.md new file mode 100644 index 000000000..ccefe2aed --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi.Client/README.md @@ -0,0 +1,66 @@ +# LINGYUN.Abp.TextTemplating.HttpApi.Client + +## 模块说明 + +文本模板 HTTP API 客户端模块,提供文本模板管理的 HTTP 客户端代理实现。 + +### 基础模块 + +* LINGYUN.Abp.TextTemplating.Application.Contracts +* Volo.Abp.Http.Client + +### 功能定义 + +* 提供文本模板管理的 HTTP 客户端代理 + * TextTemplateDefinitionClientProxy - 模板定义管理客户端代理 + * TextTemplateContentClientProxy - 模板内容管理客户端代理 +* 实现以下应用服务接口 + * ITextTemplateDefinitionAppService + * ITextTemplateContentAppService + +### 配置项 + +* AbpTextTemplatingRemoteServiceConsts + * RemoteServiceName - 远程服务名称 (默认: "AbpTextTemplating") + +### 如何使用 + +1. 添加 `AbpTextTemplatingHttpApiClientModule` 依赖 + +```csharp +[DependsOn(typeof(AbpTextTemplatingHttpApiClientModule))] +public class YouProjectModule : AbpModule +{ + public override void ConfigureServices(ServiceConfigurationContext context) + { + // 配置远程服务 + Configure(options => + { + options.RemoteServices.Default.BaseUrl = "http://localhost:44315/"; + }); + } +} +``` + +2. 注入并使用客户端代理 + +```csharp +public class YourService +{ + private readonly ITextTemplateDefinitionAppService _templateDefinitionAppService; + + public YourService(ITextTemplateDefinitionAppService templateDefinitionAppService) + { + _templateDefinitionAppService = templateDefinitionAppService; + } + + public async Task ManageTemplateAsync() + { + // 获取模板定义列表 + var templates = await _templateDefinitionAppService.GetListAsync( + new TextTemplateDefinitionGetListInput()); + } +} +``` + +[查看英文](README.EN.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi/README.EN.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi/README.EN.md new file mode 100644 index 000000000..52d99fc10 --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi/README.EN.md @@ -0,0 +1,74 @@ +# LINGYUN.Abp.TextTemplating.HttpApi + +## Module Description + +Text templating HTTP API module, providing RESTful API interfaces for text template management. + +### Base Modules + +* LINGYUN.Abp.TextTemplating.Application.Contracts +* Volo.Abp.AspNetCore.Mvc + +### Features + +* Provides API controllers for text template management + * TextTemplateDefinitionController - Template definition management controller + * TextTemplateContentController - Template content management controller + +### API Endpoints + +* /api/text-templating/template-definitions + * GET - Get template definition list + * POST - Create template definition + * PUT - Update template definition + * DELETE - Delete template definition + * GET /{name} - Get specific template definition +* /api/text-templating/template-contents + * GET - Get template content + * PUT - Update template content + * DELETE - Delete template content + * POST /restore - Restore template content + +### Permission Requirements + +* AbpTextTemplating.TextTemplateDefinitions + * Create - Create template definition + * Update - Update template definition + * Delete - Delete template definition +* AbpTextTemplating.TextTemplateContents + * Update - Update template content + * Delete - Delete template content + +### How to Use + +1. Add `AbpTextTemplatingHttpApiModule` dependency + +```csharp +[DependsOn(typeof(AbpTextTemplatingHttpApiModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. Use API endpoints + +```csharp +public class YourService +{ + private readonly HttpClient _httpClient; + + public YourService(HttpClient httpClient) + { + _httpClient = httpClient; + } + + public async Task ManageTemplateAsync() + { + // Get template definition list + var response = await _httpClient.GetAsync("/api/text-templating/template-definitions"); + var templates = await response.Content.ReadFromJsonAsync>(); + } +} +``` + +[查看中文](README.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi/README.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi/README.md new file mode 100644 index 000000000..5bf3d9d09 --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.HttpApi/README.md @@ -0,0 +1,74 @@ +# LINGYUN.Abp.TextTemplating.HttpApi + +## 模块说明 + +文本模板 HTTP API 模块,提供文本模板管理的 RESTful API 接口。 + +### 基础模块 + +* LINGYUN.Abp.TextTemplating.Application.Contracts +* Volo.Abp.AspNetCore.Mvc + +### 功能定义 + +* 提供文本模板管理的 API 控制器 + * TextTemplateDefinitionController - 模板定义管理控制器 + * TextTemplateContentController - 模板内容管理控制器 + +### API 接口 + +* /api/text-templating/template-definitions + * GET - 获取模板定义列表 + * POST - 创建模板定义 + * PUT - 更新模板定义 + * DELETE - 删除模板定义 + * GET /{name} - 获取指定模板定义 +* /api/text-templating/template-contents + * GET - 获取模板内容 + * PUT - 更新模板内容 + * DELETE - 删除模板内容 + * POST /restore - 恢复模板内容 + +### 权限要求 + +* AbpTextTemplating.TextTemplateDefinitions + * Create - 创建模板定义 + * Update - 更新模板定义 + * Delete - 删除模板定义 +* AbpTextTemplating.TextTemplateContents + * Update - 更新模板内容 + * Delete - 删除模板内容 + +### 如何使用 + +1. 添加 `AbpTextTemplatingHttpApiModule` 依赖 + +```csharp +[DependsOn(typeof(AbpTextTemplatingHttpApiModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. 使用 API 接口 + +```csharp +public class YourService +{ + private readonly HttpClient _httpClient; + + public YourService(HttpClient httpClient) + { + _httpClient = httpClient; + } + + public async Task ManageTemplateAsync() + { + // 获取模板定义列表 + var response = await _httpClient.GetAsync("/api/text-templating/template-definitions"); + var templates = await response.Content.ReadFromJsonAsync>(); + } +} +``` + +[查看英文](README.EN.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Razor/README.EN.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Razor/README.EN.md new file mode 100644 index 000000000..135b56eb9 --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Razor/README.EN.md @@ -0,0 +1,87 @@ +# LINGYUN.Abp.TextTemplating.Razor + +## Module Description + +Text templating Razor engine module, providing template rendering implementation based on Razor syntax. + +### Base Modules + +* Volo.Abp.TextTemplating.Razor +* LINGYUN.Abp.TextTemplating.Domain + +### Features + +* Provides Razor template rendering engine + * RazorTemplateRenderingEngine - Razor template rendering engine implementation +* Supports the following features + * Write templates using Razor syntax + * Support model binding and strongly-typed views + * Support layout templates + * Support partial views + * Support HTML encoding and decoding + * Support conditional statements and loops + * Support C# expressions + +### How to Use + +1. Add `AbpTextTemplatingRazorModule` dependency + +```csharp +[DependsOn(typeof(AbpTextTemplatingRazorModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. Create and use Razor templates + +```csharp +// Create template definition +var template = new TextTemplateDefinition( + Guid.NewGuid(), + "Welcome", + "Welcome Email Template", + renderEngine: "Razor"); + +// Template content example +@model WelcomeEmailModel + + + + +

Welcome @Model.UserName!

+

Thank you for joining us.

+ @if (Model.IsFirstTime) + { +

Here are some tips to get started...

+ } + + + +// Use template +public class YourService +{ + private readonly ITemplateRenderer _templateRenderer; + + public YourService(ITemplateRenderer templateRenderer) + { + _templateRenderer = templateRenderer; + } + + public async Task RenderWelcomeEmailAsync(string userName, bool isFirstTime) + { + var model = new WelcomeEmailModel + { + UserName = userName, + IsFirstTime = isFirstTime + }; + + return await _templateRenderer.RenderAsync( + "Welcome", + model + ); + } +} +``` + +[查看中文](README.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Razor/README.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Razor/README.md new file mode 100644 index 000000000..63626670d --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Razor/README.md @@ -0,0 +1,87 @@ +# LINGYUN.Abp.TextTemplating.Razor + +## 模块说明 + +文本模板 Razor 引擎模块,提供基于 Razor 语法的模板渲染实现。 + +### 基础模块 + +* Volo.Abp.TextTemplating.Razor +* LINGYUN.Abp.TextTemplating.Domain + +### 功能定义 + +* 提供 Razor 模板渲染引擎 + * RazorTemplateRenderingEngine - Razor 模板渲染引擎实现 +* 支持以下功能 + * 使用 Razor 语法编写模板 + * 支持模型绑定和强类型视图 + * 支持布局模板 + * 支持部分视图 + * 支持 HTML 编码和解码 + * 支持条件语句和循环 + * 支持 C# 表达式 + +### 如何使用 + +1. 添加 `AbpTextTemplatingRazorModule` 依赖 + +```csharp +[DependsOn(typeof(AbpTextTemplatingRazorModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. 创建和使用 Razor 模板 + +```csharp +// 创建模板定义 +var template = new TextTemplateDefinition( + Guid.NewGuid(), + "Welcome", + "Welcome Email Template", + renderEngine: "Razor"); + +// 模板内容示例 +@model WelcomeEmailModel + + + + +

Welcome @Model.UserName!

+

Thank you for joining us.

+ @if (Model.IsFirstTime) + { +

Here are some tips to get started...

+ } + + + +// 使用模板 +public class YourService +{ + private readonly ITemplateRenderer _templateRenderer; + + public YourService(ITemplateRenderer templateRenderer) + { + _templateRenderer = templateRenderer; + } + + public async Task RenderWelcomeEmailAsync(string userName, bool isFirstTime) + { + var model = new WelcomeEmailModel + { + UserName = userName, + IsFirstTime = isFirstTime + }; + + return await _templateRenderer.RenderAsync( + "Welcome", + model + ); + } +} +``` + +[查看英文](README.EN.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Scriban/README.EN.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Scriban/README.EN.md new file mode 100644 index 000000000..058aace8d --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Scriban/README.EN.md @@ -0,0 +1,93 @@ +# LINGYUN.Abp.TextTemplating.Scriban + +## Module Description + +Text templating Scriban engine module, providing template rendering implementation based on Scriban syntax. + +### Base Modules + +* Volo.Abp.TextTemplating.Scriban +* LINGYUN.Abp.TextTemplating.Domain + +### Features + +* Provides Scriban template rendering engine + * ScribanTemplateRenderingEngine - Scriban template rendering engine implementation +* Supports the following features + * Write templates using Scriban syntax + * Support model binding + * Support layout templates + * Support conditional statements and loops + * Support custom functions and filters + * Support string operations and formatting + * Support array and object operations + +### How to Use + +1. Add `AbpTextTemplatingScribanModule` dependency + +```csharp +[DependsOn(typeof(AbpTextTemplatingScribanModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. Create and use Scriban templates + +```csharp +// Create template definition +var template = new TextTemplateDefinition( + Guid.NewGuid(), + "Welcome", + "Welcome Email Template", + renderEngine: "Scriban"); + +// Template content example + + + +

Welcome {{ user.name }}!

+

Thank you for joining us.

+ {{ if is_first_time }} +

Here are some tips to get started...

+ {{ end }} +
    + {{ for item in items }} +
  • {{ item.name }}: {{ item.description }}
  • + {{ end }} +
+ + + +// Use template +public class YourService +{ + private readonly ITemplateRenderer _templateRenderer; + + public YourService(ITemplateRenderer templateRenderer) + { + _templateRenderer = templateRenderer; + } + + public async Task RenderWelcomeEmailAsync( + string userName, + bool isFirstTime, + List items) + { + var model = new Dictionary + { + ["user"] = new { name = userName }, + ["is_first_time"] = isFirstTime, + ["items"] = items + }; + + return await _templateRenderer.RenderAsync( + "Welcome", + model + ); + } +} +``` + +[查看中文](README.md) diff --git a/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Scriban/README.md b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Scriban/README.md new file mode 100644 index 000000000..e215dfd19 --- /dev/null +++ b/aspnet-core/modules/text-templating/LINGYUN.Abp.TextTemplating.Scriban/README.md @@ -0,0 +1,93 @@ +# LINGYUN.Abp.TextTemplating.Scriban + +## 模块说明 + +文本模板 Scriban 引擎模块,提供基于 Scriban 语法的模板渲染实现。 + +### 基础模块 + +* Volo.Abp.TextTemplating.Scriban +* LINGYUN.Abp.TextTemplating.Domain + +### 功能定义 + +* 提供 Scriban 模板渲染引擎 + * ScribanTemplateRenderingEngine - Scriban 模板渲染引擎实现 +* 支持以下功能 + * 使用 Scriban 语法编写模板 + * 支持模型绑定 + * 支持布局模板 + * 支持条件语句和循环 + * 支持自定义函数和过滤器 + * 支持字符串操作和格式化 + * 支持数组和对象操作 + +### 如何使用 + +1. 添加 `AbpTextTemplatingScribanModule` 依赖 + +```csharp +[DependsOn(typeof(AbpTextTemplatingScribanModule))] +public class YouProjectModule : AbpModule +{ +} +``` + +2. 创建和使用 Scriban 模板 + +```csharp +// 创建模板定义 +var template = new TextTemplateDefinition( + Guid.NewGuid(), + "Welcome", + "Welcome Email Template", + renderEngine: "Scriban"); + +// 模板内容示例 + + + +

Welcome {{ user.name }}!

+

Thank you for joining us.

+ {{ if is_first_time }} +

Here are some tips to get started...

+ {{ end }} +
    + {{ for item in items }} +
  • {{ item.name }}: {{ item.description }}
  • + {{ end }} +
+ + + +// 使用模板 +public class YourService +{ + private readonly ITemplateRenderer _templateRenderer; + + public YourService(ITemplateRenderer templateRenderer) + { + _templateRenderer = templateRenderer; + } + + public async Task RenderWelcomeEmailAsync( + string userName, + bool isFirstTime, + List items) + { + var model = new Dictionary + { + ["user"] = new { name = userName }, + ["is_first_time"] = isFirstTime, + ["items"] = items + }; + + return await _templateRenderer.RenderAsync( + "Welcome", + model + ); + } +} +``` + +[查看英文](README.EN.md)