tachybase_todo/docs/zh-CN/development/index.md
jack zhang 35b06cbfa0
refactor: plugin settings manager (#2712)
* feat: add settingsCenter

* fix: style bug

* chore: optimized code

* refactor: settingCenter Auth

* feat: add aclSnippet option

* refactor: all plugin's setting center api

* feat: add plugin with name

* docs: add settings-center doc

* fix: settings center menu sort by name

* fix: change setting center layout

* fix: change hello sort

* test: add SettingsCenter.ts test case

* fix: bug

* fix: acl bug

* fix: bug

* fix: bug and 404 page

* fix: test bug

* fix: test bug

* fix: bug

* fix: locale

* fix: styling

* fix: rename settingsCenter to pluginSettingsManager

* fix: styling

* fix: e2e bug

* fix: e2e bug

* fix: locale

* feat: update docs

* fix: update

---------

Co-authored-by: chenos <chenlinxh@gmail.com>
2023-11-13 11:01:18 +08:00

2.2 KiB
Raw Blame History

介绍

NocoBase 采用微内核架构,各类功能以插件形式扩展。前后端分离,提供了各种插件化接口。插件按功能模块划分,具有可插拔的特点。

插件化的设计降低了模块之间的耦合度,提高了复用率。随着插件库的不断扩充,常见的场景只需要组合插件即可完成基础搭建。例如 NocoBase 的无代码平台,就是由各种插件组合起来。

插件管理器

NocoBase 提供了强大的插件管理器用于管理插件,插件管理器的流程如下:

无代码用户可以通过界面管理本地插件的激活和禁用:

开发者也可以通过 CLI 的方式管理完整的插件流程:

# 创建插件
yarn pm create hello
# 注册插件
yarn pm add hello
# 激活插件
yarn pm enable hello
# 禁用插件
yarn pm disable hello
# 删除插件
yarn pm remove hello

更多插件示例,查看 packages/samples

扩展能力

无论是通用性的功能还是个性化定制都建议以插件的形式编写NocoBase 的扩展性体现在方方面面:

  • 可以是用户直观可见的界面相关的页面模块、区块类型、操作类型、字段类型等
  • 也可以是用于增强或限制 HTTP API 的过滤器、校验器、访问限制等
  • 也可以是更底层的数据表、迁移、事件、命令行等功能的增强

各模块分布:

  • Server
    • Collections & Fields主要用于系统表配置业务表建议在「配置中心 - 数据表配置」里配置
    • Resources & Actions主要用于扩展 Action API
    • Middleware中间件
    • Events事件
    • I18n服务端国际化
    • Commands自定义命令行
    • Migrations迁移脚本
  • Client
    • UI Schema Designer页面设计器
    • UI Router有自定义页面需求时
    • Plugin Settings Manager为插件提供配置页面
    • I18n客户端国际化