mirror of
https://github.com/nocobase/nocobase
synced 2024-11-15 21:26:59 +00:00
1.6 KiB
1.6 KiB
title | order | toc | nav | ||||
---|---|---|---|---|---|---|---|
介绍 | 1 | menu |
|
介绍
NocoBase 核心主要围绕三点:
- 数据的结构
- 数据的行为
- 数据的形态
由此抽象了三类配置协议
- Collection:用于描述数据的结构和关系
- Resourcer:用于描述数据资源和操作方法
- UI Schema:用于描述用户界面(组件树结构)
Collection
基于 Sequelize ModelOptions
{
name: 'posts',
fields: [
{type: 'string', name: 'title'},
{type: 'text', name: 'content'},
],
}
Resourcer
基于资源(resource)和操作方法(action)设计,将 REST 和 RPC 思想融合起来
{
name: 'posts',
actions: {
list: {
filter: {}, // 过滤
fields: [], // 输出哪些字段
sort: '-created_at', // 排序
page: 1,
perPage: 20,
// ...
},
get: {
filter: {},
fields: [],
// ...
},
create: {
fields: [],
values: {},
// ...
},
update: {
fields: [],
values: {},
// ...
},
destroy: {
filter: {},
// ...
},
},
}
UI Schema
基于 Formily Schema 2.0
{
type: 'object',
// 'x-component': 'Form',
properties: {
title: {
type: 'string',
title: '标题',
'x-component': 'Input',
},
content: {
type: 'string',
title: '标题',
'x-component': 'Input.TextArea',
},
},
}
更进一步,构建了整个 NocoBase 架构: