快速开始
目的
所有功能都可以以插件的形式扩展,常见的场景用插件组合的方式但可完成基础搭建。通过扩展插件的形式降低了模块之间的耦合度,提高了复用率
扩展能力
模块分布:服务端、客户端
服务端
数据表和字段
资源和操作
中间件
事件
自定义命令行
国际化客户端
路由管理和插件配置页
样式和主题
Provider 和上下文
UI Schema
国际化
服务端
一、生命周期
image.png
二、数据表和字段
2.1 核心概念
- Collection「数据表」
- 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 协议
Collection 是 NocoBase 的中枢,是一种用于描述数据结构(数据表和字段)的协议
image.png
Collection 协议主要包括 CollectionOptions 和 FieldOptions 两部分
- FieldOptions
通用的字段参数
interface FieldOptions {
name: string;
type: string;
hidden?: boolean;
index?: boolean;
interface?: string;
uiSchema?: ISchema;
}
2.3如何配置数据表?
有三种方式配置数据表
image.png
- 通过界面配置数据表
业务数据一般建议使用界面配置,NocoBase 平台提供了常规的表格界面和图形化配置界面 - 在插件代码里定义
- 通过 REST API 管理数据表
2.4 关系字段配置
2.5 字段扩展
2.6 Collection 模板
三、资源与操作
与 RESTful 中资源的概念相同,是系统中对外提供的可操作的对象,可以是数据表、文件、和其他自定义的对象。
1、 数据表自动映射为资源
2、 内置默认的资源操作
3、 对资源自定义操作
4、 操作的参数合并顺序与策略
- 简单数据资源的默认操作:
- 关系资源除了简单的 CRUD 操作,还有默认的关系操作:
自定义 Action
Action 参数(参数主要有三个来源)
1、Action 定义时默认参数
2、客户端请求携带
3、其他中间件预处理自定义资源
数据型的资源还分为独立资源和关系资源:
1、独立资源:<collection>
2、关系资源:<collection>.<association>
三、客户端
一、生命周期
image.png
- 页面路由及扩展
- 样式和主题
- HTTP 请求
- Provider 组件
- UI Schema
— UI Schema
— Schema渲染
— 扩展Schema 组件
— Schema组件库
— Designable 设计器
— SchemaToolbar 工具栏
— Schemalnitializer 初始化器
— SchemaSettings 设置器
内置的初始化器
image.png
内置的设置器
image.png
四、其他
- 构建(自定义打包配置)
- 语言列表
- 依赖管理