插件系统
CCXC Engine 提供了插件系统来进行功能扩展。主要用于为 CCXC Engine 后端添加具有额外功能的 API 接口以及业务逻辑,以及 CCXC Admin 后台管理系统添加新的管理页面。
概述
CCXC Engine 插件系统允许开发者使用非侵入式的方式扩展 CCXC Engine 的功能。提供插件系统可以帮助社区在实现自己的特殊功能同时,还能方便的同步 CCXC Engine 的更新。
插件开发
可以通过我们提供的插件模板快速创建一个插件项目。
npm create ccxc-admin-template my-plugin
插件模板会创建一个新的目录 my-plugin
,并在其中创建一个基本的插件项目结构。
查看 插件开发入门 了解如何开发插件。
插件使用
你需要将插件放置在指定的目录下。每个插件都包括后端组件和前端组件两部分。
你需要将后端组件放在 ccxc-backend/Plugins
目录下。
前端组件放在 ccxc-admin/public/plugins
目录下。
在 【高级】 -> 【插件管理】 页面中,可以点击“重新扫描插件目录”来找到刚刚放进去的插件。
你必须激活插件后,它才能发挥效果。激活插件后,必须手工重启 CCXC Engine 后端服务才会生效。
查看 插件部署 了解如何部署插件。
一旦插件激活并重启完成,它的后端部分就已自动启用,此时你可以使用对应的扩展API。
如果这个插件包含正确的前端面板,在管理后台刷新后,你将能看到左侧多出来的一个 【插件】 菜单。展开该菜单后,将显示增加的管理面板。
插件示例
在 CCBC 16 中,有一组关联密切的题目 《四方谜》 与 《千字谜》 就是通过这个插件系统完成开发的。
整个插件涉及到的功能包括:
- 数据库、Redis的连接和使用
- ORM的使用以及额外数据库表的添加与初始化
- 题目后台管理面板的添加
- 题目后台管理功能的相关API
- 题目逻辑的API
如果你想了解这个插件的具体实现,可以查看 c16-qian-plugin。
API 参考
请访问 CCXC plugin API 参考 查看插件系统提供的 API 参考。