后端模板代码说明
CMS.Plugin.MyPluginName 是一个基于领域驱动设计(DDD)原则构建的 CMS 平台插件,旨在为 MyEntityName 实体提供完整的生命周期管理功能。该项目通过模块化架构实现了高内聚、低耦合的设计目标,支持在不同数据库环境(MySQL、PostgreSQL、SQL Server)下的灵活部署。
插件采用分层架构设计,包含表现层、应用层、领域层和基础设施层,确保了业务逻辑与技术实现的清晰分离。本项目不仅提供了基础的 CRUD 操作,还集成了流程处理、后台任务、事件处理等高级功能,适用于需要扩展 CMS 平台核心能力的企业级应用场景。
快速入门
创建新插件的完整流程
1. 克隆模板
复制整个模板目录,并重命名根文件夹为你的插件名称。
2. 替换占位符
全局搜索并替换以下占位符:
MyPluginName→ 你的插件名称(如:ProductCatalog)MyEntityName→ 你的实体名称(如:Product)
3. 重命名项目文件
相应地重命名所有包含占位符的 .csproj 文件和命名空间。
项目结构概览
该模板采用领域驱动设计(DDD)架构,包含多个分层模块:
- 应用层:处理业务逻辑和 API 暴露
- 领域层:定义核心实体和业务规则
- 基础设施层:负责数据持久化和外部集成
- 抽象层:提供共享接口和常量定义
核心组件分析
插件入口点 (CMSPluginEntry.cs)
这是插件的主入口,负责注册服务和配置依赖注入。
模块初始化 (CMSPluginModule.cs)
定义插件的模块依赖关系和后台作业配置。
数据库配置与初始化
数据库类型选择
在 CMSPluginEntry.cs 中通过配置决定使用哪种数据库:
配置文件详解
主配置文件 (appsettings.json)
位于主插件项目中,用于配置外部 API。
{
"IMyPluginNameExternalApi": {
"HttpHost": "http://127.0.0.1:18000/"
}
}
数据库连接配置
位于 EntityFrameworkCore 项目中,定义数据库连接字符串。
{
"ConnectionStrings": {
"Default": "Server=127.0.0.1;Database=CMS.Plugin.MyPluginName;User ID=root;Password=123456"
}
}