后端开发
1. 插件二开规范
- 统一术语约定:
框架级别标识:
-- Pedestal : 基座标识
-- StandardPlugin :标准化插件标识
-- CustomMadePlugin :定制化插件标识
-- ExternalPlugin :外部二开插件标识
框架级别标识用途说明:通过框架级别标识 对CMS2.0软件系统的数据、项目信息进行标识,完成数据的隔离,保证软件的数据及信息安全;
- CMS2.0软件系统需要遵循的开发规范
【强制】缓存的键命名需要遵循以下格式:
框架级别标识:插件标识:业务标识:项目标识【选填】:数据标识【选填】
【强制】插件打包必须要遵循以下的规范, 打包配置文件中的HotPlugId属性信息需要遵循以下格式:
框架级别标识_项目或客户标识【选填】_插件标识
【强制】如果插件与插件、插件与基座 的业务流程需要数据保证强一致性,需要使用基座提供分布式事务总线,确保跨模块/插件 间的信息可追溯,防止在出现最坏情况时可以人工介入恢复数据;
**备注:**由于基座尚未支持分布式事务总线,所以该规范暂时不用支持。
【重要不强制】如果插件需要对数据库进行初始化或者迁移的操作,需要继承基座提供的IProjectRuntimeMigrator(运行时迁移器)这个抽象类,并在子类实现中完成插件数据库迁移的操作;
【重要不强制】插件的业务数据库命名应遵循以下格式
项目标识_后缀标识
-- 项目标识:项目id
-- 后缀标识:推荐使用project
【重要不强制】插件的业务数据库表命名应遵循以下格式
插件前缀_业务表名
【重要不强制】如果使用ef core ORM框架的code-first方式,插件对应的数据迁移表应该使用__efmigrationshistory_equipmentmaintenance格式来命名迁移表,equipmentmaintenance为插件标识。这样命名可以防止当存在多个插件时出现迁移数据表数据错乱。
2. 插件开发环境
- 技术栈: 微软.net技术栈;
- 目标框架: .net6、asp.net core webapi
- 开发IDE: Visual Studio 2022
- 开发语言:C#
- 安装CMS2.0基座
- 数据库支持:mysql 8.0+; sql server 2016+
- 插件项目模板安装
打开powershell终端,执行以下命令,可以完成 模板安装
dotnet new install CMS.Plugin.Template.Simple --nuget-source https://nexus.sycdev.com/repository/nuget-group/index.json
模版卸载命令
dotnet new uninstall CMS.Plugin.Template.Simple