跳到主要内容
版本:2.0.3

后端开发

介绍后端开发入门

概述

CMS 2.0 后端当前使用插件形式加载程序模块,每个插件都有自己独立的 AssemblyDynamicContext,不同模块之间的实例引入通过 DI 完成。

要求

  • 已安装 CMS2.0,并且掌握 CMS2.0 平台的操作使用
  • 有 c# 开发经验
  • 有 mysql、sql server 等数据库开发经验

开发

可查看查看《使用模板进行后端开发》文档进行开发!
参考CMS.Plugin.Sample示例代码快速开始

调试

1)设定 CMS.Plugin.Sample 的 Debug 生成路径为[主程序目录]/plugins/[CMS.Plugin.Sample]

2)修改 CMS.Plugin.Sample 项目下 Properties/launchSettings.json:

  • executablePath: [主程序目录]/host/CMS.Host.exe

  • workingDirectory: [主程序目录]/host

3)完成,已可使用主程序启动调试

打包

如使用 CMS.Plugin.Sample 插件作为例子, 将 CMS.Plugin.Sample 的编译生成的文件,拷贝到[主程序目录]/plugins/[CMS.Plugin.Sample]即可(如目录不存在则创建)

问题

  • 那些是必须存在或实现的?
    PluginEntry 是必须继承实现的,其他都是可以选的,属于 2.0 基础库对外提供的功能扩展,比如实现了 IProjectService 就可以在前端 UI 上控制服务启停。

  • 数据库连接“自己创建”和“跟随程序创建”有什么差异?
    自己创建可以固定使用某一类型的数据库(如 Mysql),或者使用和主运行库名称不一样的其他数据库名(如“xxxx_project”)。跟随主程序即数据库类型和数据库名和主程序保持一致(如都使用 Mysql 和“xxxxx_runtime”)。大部分情况下选择跟随主程序就可以。

  • 后端的“定制数据库”怎么进行迁移?
    参考 Demo 中 SampleDbContextMigrator 实现的就是迁移的执行,至于迁移逻辑如何实现是自由的,SampleDbContextMigrator 会在每次加载工程的时候执行,确保相关数据库跟当前代码一致。

  • 程序集命名有什么要求?
    无要求,2.0 标准模块都是使用 CMS.Plugin.*,二次开发可以参照。

demo 示例

1)数据库操作
2)新建插件
3)数据:如何实现在开发版数据模块显示自定义表格
4)调试入口
5)Excel 导入导出
6)多语言
7)创建后台服务
8)共享插件
9)变量读写
10)变量变化监听
11)创建 webapi 服务
12)等

可联系 SYC 获取 demo 示例!