项目

文本模板管理模块 (专业版)

您必须拥有 ABP 团队版或更高级别的许可证 才能使用此模块。

本模块用于存储和编辑 ABP 文本模板系统 的模板内容。因此,您可能需要先理解该系统,以便更好地理解本模块的用途。

文本模板系统有多种应用场景。例如,账户模块 使用它来定义需要向用户发送电子邮件(如发送“密码重置链接”邮件)时的邮件模板。本模块提供了易于编辑这些邮件模板的用户界面。

查看 模块描述页面 以获取模块功能的概览。

如何安装

文本模板管理模块已在 启动模板 中预安装。因此,无需手动安装。

现有解决方案

如果您想将 文本模板管理 模块添加到您现有的解决方案中,可以使用 ABP CLI 的 add-module 命令:

abp add-module Volo.TextTemplateManagement

此模块遵循 模块开发最佳实践指南,由多个 NuGet 和 NPM 包组成。如果您想了解这些包及其之间的关系,请参阅该指南。

您可以访问 文本模板管理模块包列表页面 查看与此模块相关的包列表。

用户界面

菜单项

文本模板管理模块在“主”菜单的“管理”菜单项下添加了以下项目:

  • 文本模板:列出、查看和筛选文本模板。

TextTemplateManagementMainMenuNames 类包含菜单项名称的常量。

页面

文本模板

文本模板页面用于查看应用程序中定义的模板列表。

text-template-management-text-templates-page

点击 操作 -> 编辑内容 来编辑模板内容。有两种类型的用户界面用于编辑模板内容:

编辑内联本地化模板的内容

此类模板使用 L 函数执行内联本地化。通过这种方式,更容易管理针对不同区域文化的模板。

text-template-management-inline-edit

编辑特定区域文化模板的内容

此类模板为每种区域文化提供不同的内容。通过这种方式,您可以为特定区域文化定义完全不同的内容。

text-template-management-multiple-culture-edit

配置 TextTemplateManagementOptions

TextTemplateManagementOptions 可用于配置模块。您可以在模块的 ConfigureServices 方法(例如:BookStoreApplicationModule)中使用以下代码进行配置。

Configure<TextTemplateManagementOptions>(options =>
{
    options.MinimumCacheDuration = TimeSpan.FromHours(1);
});

缓存

DatabaseTemplateContentContributor 缓存模板内容以提高性能。

您可以通过注入 IDistributedCache<string, TemplateContentCacheKey> 获取缓存存储。

有关更多信息,请查看 缓存 指南。

TemplateContentCacheKey

TemplateContentCacheKey 是模板内容的特殊缓存键。

它具有 TemplateDefinitionNameCulture 属性。

数据种子

此模块不播种任何数据。

内部结构

领域层

聚合

此模块遵循 实体最佳实践与约定 指南。

TextTemplateContent
  • TextTemplateContent (聚合根): 表示文本模板的内容。

存储库

此模块遵循 存储库最佳实践与约定 指南。

为此模块定义了以下自定义存储库:

  • ITextTemplateContentRepository

领域服务

此模块遵循 领域服务最佳实践与约定 指南。

DatabaseTemplateContentContributor

DatabaseTemplateContentContributorITemplateContentProvider 用来获取存储在数据库和缓存中的模板内容。

设置

此模块未定义任何设置。

应用层

应用服务

  • TemplateDefinitionAppService (实现 ITemplateDefinitionAppService): 实现文本模板管理界面的用例。
  • TemplateContentAppService (实现 ITemplateContentAppService): 实现文本模板管理界面的用例。

数据库提供程序

通用

表/集合前缀和架构

默认情况下,所有表/集合都使用 Abp 前缀。如果需要更改表前缀或设置架构名称(如果您的数据库提供程序支持),请在 TextTemplateManagementDbProperties 类上设置静态属性。

连接字符串

此模块使用 TextTemplateManagement 作为连接字符串名称。如果您未定义具有此名称的连接字符串,它将回退到 Default 连接字符串。

有关详细信息,请参阅 连接字符串 文档。

Entity Framework Core

  • AbpTextTemplateContents

MongoDB

集合
  • AbpTextTemplateContents

权限

查看 TextTemplateManagementPermissions 类的成员以获取为此模块定义的所有权限。

Angular UI

安装

要将应用程序配置为使用文本模板管理模块,您首先需要从 @volo/abp.ng.text-template-management/config 导入 provideTextTemplateManagementConfig。然后,您需要将其附加到 appConfig 数组中。

// app.config.ts
import { provideTextTemplateManagementConfig } from '@volo/abp.ng.text-template-management/config';

export const appConfig: ApplicationConfig = {
  providers: [
    // ...
    provideTextTemplateManagementConfig()
  ],
};

文本模板管理模块应被导入并在您的路由数组中进行懒加载。它有一个用于配置的静态 createRoutes 方法。可用选项如下所示。可从 @volo/abp.ng.text-template-management 导入。

// app.routes.ts
const APP_ROUTES: Routes = [
  // ...
  {
    path: 'text-template-management',
    loadChildren: () =>
      import('@volo/abp.ng.text-template-management').then(c => c.createRoutes(/* options here */)),
  },
];

如果您是通过启动模板生成项目的,则无需执行任何操作,因为它已经实现了这两种配置。

选项

您可以通过向 createRoutes 静态方法传递以下选项来修改模块页面的外观和行为:

服务 / 模型

文本模板管理模块的服务和模型通过 ABP CLI 的 generate-proxy 命令生成。如果您需要该模块的代理,可以在 Angular 项目目录中运行以下命令:

abp generate-proxy --module textTemplateManagement

可替换组件

eTextTemplateManagementComponents 枚举提供了所有可替换组件的键。可从 @volo/abp.ng.text-template-management 导入。

有关详细信息,请查看 组件替换文档

远程端点 URL

文本模板管理模块的远程端点 URL 可以在环境文件中配置。

export const environment = {
  // 其他配置
  apis: {
    default: {
      url: '默认 URL 写在这里',
    },
    TextTemplateManagement: {
      url: '文本模板管理远程 URL 写在这里'
    }
    // 其他 API 配置
  },
};

上面显示的文本模板管理模块远程 URL 配置是可选的。如果您不设置 URL,将使用 default.url 作为备用。

分布式事件

此模块未定义任何额外的分布式事件。请参阅 标准分布式事件

在本文档中