插件開發(fā)

快速開始

目的

所有功能都可以以插件的形式擴(kuò)展,常見的場(chǎng)景用插件組合的方式但可完成基礎(chǔ)搭建。通過擴(kuò)展插件的形式降低了模塊之間的耦合度,提高了復(fù)用率

擴(kuò)展能力

模塊分布:服務(wù)端、客戶端

  • 服務(wù)端
    數(shù)據(jù)表和字段
    資源和操作
    中間件
    事件
    自定義命令行
    國(guó)際化

  • 客戶端
    路由管理和插件配置頁
    樣式和主題
    Provider 和上下文
    UI Schema
    國(guó)際化

服務(wù)端

一、生命周期
image.png
二、數(shù)據(jù)表和字段
2.1 核心概念
  • Collection「數(shù)據(jù)表」
  • Collection Field 字段
  • Field Type 字段類型
    Field Type 包括 Attribute Type 和 Association Type 兩類
  • Field Component
  • Field Interface
    Basic、Choices、Media、Date & Time、Relation、Advanced、System info
2.2 Collection 協(xié)議

Collection 是 NocoBase 的中樞,是一種用于描述數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)表和字段)的協(xié)議


image.png

Collection 協(xié)議主要包括 CollectionOptions 和 FieldOptions 兩部分

  • FieldOptions
    通用的字段參數(shù)
interface FieldOptions {
  name: string;
  type: string;
  hidden?: boolean;
  index?: boolean;
  interface?: string;
  uiSchema?: ISchema;
}
2.3如何配置數(shù)據(jù)表?

有三種方式配置數(shù)據(jù)表


image.png
  • 通過界面配置數(shù)據(jù)表
    業(yè)務(wù)數(shù)據(jù)一般建議使用界面配置,NocoBase 平臺(tái)提供了常規(guī)的表格界面和圖形化配置界面
  • 在插件代碼里定義
  • 通過 REST API 管理數(shù)據(jù)表
2.4 關(guān)系字段配置
2.5 字段擴(kuò)展
2.6 Collection 模板
三、資源與操作

與 RESTful 中資源的概念相同,是系統(tǒng)中對(duì)外提供的可操作的對(duì)象,可以是數(shù)據(jù)表、文件、和其他自定義的對(duì)象。

1、 數(shù)據(jù)表自動(dòng)映射為資源
2、 內(nèi)置默認(rèn)的資源操作
3、 對(duì)資源自定義操作
4、 操作的參數(shù)合并順序與策略

  • 簡(jiǎn)單數(shù)據(jù)資源的默認(rèn)操作:
  • list:查詢數(shù)據(jù)表中的數(shù)據(jù)列表
  • get:查詢數(shù)據(jù)表中的單條數(shù)據(jù)
  • create:對(duì)數(shù)據(jù)表創(chuàng)建單條數(shù)據(jù)
  • update:對(duì)數(shù)據(jù)表更新單條數(shù)據(jù)
  • destroy:對(duì)數(shù)據(jù)表刪除單條數(shù)據(jù)
  • 關(guān)系資源除了簡(jiǎn)單的 CRUD 操作,還有默認(rèn)的關(guān)系操作:
  • add:對(duì)數(shù)據(jù)添加關(guān)聯(lián)
  • remove:對(duì)數(shù)據(jù)移除關(guān)聯(lián)
  • set:對(duì)數(shù)據(jù)設(shè)置關(guān)聯(lián)
  • toggle:對(duì)數(shù)據(jù)添加或移除關(guān)聯(lián)
  • 自定義 Action

  • Action 參數(shù)(參數(shù)主要有三個(gè)來源)
    1、Action 定義時(shí)默認(rèn)參數(shù)
    2、客戶端請(qǐng)求攜帶
    3、其他中間件預(yù)處理

  • 自定義資源
    數(shù)據(jù)型的資源還分為獨(dú)立資源和關(guān)系資源:
    1、獨(dú)立資源:<collection>
    2、關(guān)系資源:<collection>.<association>

三、客戶端

一、生命周期
image.png
  • 頁面路由及擴(kuò)展
  • 樣式和主題
  • HTTP 請(qǐng)求
  • Provider 組件
  • UI Schema
    — UI Schema
    — Schema渲染
    — 擴(kuò)展Schema 組件
    — Schema組件庫
    — Designable 設(shè)計(jì)器
    — SchemaToolbar 工具欄
    — Schemalnitializer 初始化器
    — SchemaSettings 設(shè)置器
內(nèi)置的初始化器
image.png
內(nèi)置的設(shè)置器
image.png

四、其他

  • 構(gòu)建(自定義打包配置)
  • 語言列表
  • 依賴管理
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容