快速開始
目的
所有功能都可以以插件的形式擴(kuò)展,常見的場(chǎng)景用插件組合的方式但可完成基礎(chǔ)搭建。通過擴(kuò)展插件的形式降低了模塊之間的耦合度,提高了復(fù)用率
擴(kuò)展能力
模塊分布:服務(wù)端、客戶端
服務(wù)端
數(shù)據(jù)表和字段
資源和操作
中間件
事件
自定義命令行
國(guó)際化客戶端
路由管理和插件配置頁
樣式和主題
Provider 和上下文
UI Schema
國(guó)際化
服務(wù)端
一、生命周期

二、數(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é)議

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ù)表

- 通過界面配置數(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>
三、客戶端
一、生命周期

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

內(nèi)置的設(shè)置器

四、其他
- 構(gòu)建(自定義打包配置)
- 語言列表
- 依賴管理