NocoBase 低代码平台快速入门教程:从零搭建业务系统
NocoBase 低代码平台快速入门教程
适用读者:产品经理、全栈开发者、运维人员,希望用低代码快速搭建业务系统。
预计学习时长:60 分钟 · 含完整 CRM 搭建练习
学习目标
完成本教程后,你将能够:
- 在本地或服务器上安装并启动 NocoBase
- 创建数据表(Collection)、字段、关联关系
- 使用区块(Block)和页面(Page)搭建管理界面
- 配置角色权限(ACL)与菜单导航
- 了解插件扩展的基本路径
前置知识
- 基本的数据库概念(表、字段、一对多关系)
- 会使用命令行执行简单命令
- 了解 REST API 基本概念(可选,有助于理解数据层)
第一章:NocoBase 是什么?
NocoBase 是开源的数据模型驱动低代码平台。与表单驱动型工具不同,NocoBase 让你先设计数据模型,再自由组合界面区块,适合构建 CRM、工单、资产管理等中后台系统。
核心概念:
| 概念 | 说明 |
|---|---|
| Collection | 数据表/集合,对应数据库一张表 |
| Field | 字段,支持文本、数字、关联、公式等 |
| Block | 界面区块,如表格、表单、看板 |
| Page | 页面,由多个 Block 组成 |
| Plugin | 插件,扩展功能 |
第二章:安装与启动
2.1 环境要求
- Node.js 18+ 或 20+
- PostgreSQL 12+(推荐)或 MySQL 8+
- 内存 ≥ 2GB
2.2 Docker Compose 快速安装
# docker-compose.yml
services:
nocobase:
image: nocobase/nocobase:latest
ports:
- '13000:80'
environment:
- DB_DIALECT=postgres
- DB_HOST=postgres
- DB_PORT=5432
- DB_DATABASE=nocobase
- DB_USER=nocobase
- DB_PASSWORD=nocobase
depends_on:
- postgres
postgres:
image: postgres:15
environment:
POSTGRES_USER: nocobase
POSTGRES_PASSWORD: nocobase
POSTGRES_DB: nocobase
volumes:
- pg_data:/var/lib/postgresql/data
volumes:
pg_data:
docker compose up -d
# 访问 http://localhost:13000
# 默认账号 admin@nocobase.com / admin123
2.3 源码安装(开发模式)
git clone https://github.com/nocobase/nocobase.git --depth 1
cd nocobase
yarn install
yarn dev
第三章:创建第一个数据模型
3.1 设计客户表(customers)
进入 设置 → 数据表管理 → 创建数据表:
| 字段名 | 类型 | 说明 |
|---|---|---|
| name | 单行文本 | 客户名称,必填 |
| phone | 电话 | 联系电话 |
| 邮箱 | ||
| status | 单选 | 潜在/意向/成交/流失 |
| source | 单选 | 官网/转介绍/广告 |
| remark | 多行文本 | 备注 |
3.2 创建联系人表(contacts)并建立关联
联系人表字段:
| 字段名 | 类型 | 说明 |
|---|---|---|
| name | 单行文本 | 联系人姓名 |
| title | 单行文本 | 职位 |
| customer | 多对一关联 | 关联 customers 表 |
在 customers 表会自动出现反向关联字段 contacts(一对多)。
3.3 创建跟进记录表(follow_ups)
| 字段名 | 类型 | 说明 |
|---|---|---|
| content | 多行文本 | 跟进内容 |
| next_date | 日期 | 下次跟进日期 |
| customer | 多对一关联 | 关联 customers |
第四章:搭建管理界面
4.1 客户列表页
- 页面管理 → 创建页面,命名为「客户管理」
- 添加 表格区块(Table),数据源选择
customers - 配置显示列:name、phone、status、source
- 启用 筛选器:按 status、source 筛选
- 添加 行操作:编辑、删除
- 添加 工具栏操作:添加记录
4.2 客户详情页(抽屉/弹窗)
在表格行操作中配置「查看详情」,使用 详情区块(Details) 展示客户全部字段,并嵌套子表格显示关联的 contacts 和 follow_ups。
4.3 看板视图(可选)
将 customers 的 status 字段配置为看板分组,添加 看板区块(Kanban),实现销售漏斗可视化。
第五章:权限与菜单
5.1 创建角色
设置 → 用户和权限 → 角色:
- 销售:可读写 customers、contacts、follow_ups
- 销售主管:销售权限 + 删除 customers
- 只读访客:仅查看 customers
5.2 配置 ACL
为每个角色配置数据表级别的 查看/创建/更新/删除 权限。可进一步配置字段级权限(如隐藏 remark 字段)。
5.3 菜单配置
设置 → 菜单 中添加:
客户管理
├── 客户列表 → /admin/customers
├── 跟进日历 → /admin/follow-ups
└── 销售看板 → /admin/kanban
第六章:工作流自动化(进阶)
NocoBase 内置工作流引擎,示例:
触发器:customers.status 变更为「成交」
动作:发送邮件通知销售主管
配置路径:设置 → 工作流 → 创建工作流
触发:数据表事件 → customers → 更新后
条件:status 等于 成交
动作:发送邮件 → 收件人:主管邮箱
第七章:API 与外部集成
NocoBase 自动为每个 Collection 生成 REST API:
# 获取客户列表
curl -H "Authorization: Bearer <token>" \
http://localhost:13000/api/customers:list
# 创建客户
curl -X POST -H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"name":"张三","phone":"13800138000","status":"潜在"}' \
http://localhost:13000/api/customers:create
Token 在 设置 → API 密钥 中生成。
练习 / 作业
- 按教程完成 CRM 三表建模与列表页搭建。
- 新增「合同」表,与 customers 建立一对多关联,配置合同列表子表格。
- 创建「只读访客」角色,验证权限隔离效果。
- 用 curl 调用 API 创建 5 条测试数据。
- 进阶:编写一个简单插件,在客户详情页添加自定义按钮「导出 PDF」。
FAQ
Q:NocoBase 和 NocoDB 有什么区别?
A:NocoDB 偏向电子表格式数据库管理;NocoBase 是完整的应用构建平台,支持页面、权限、工作流、插件。
Q:生产环境用什么数据库?
A:强烈推荐 PostgreSQL。MySQL 可用但部分高级特性受限。
Q:能否自定义前端样式?
A:可通过主题插件和 CSS 变量调整。深度定制需开发插件。
Q:数据量大时性能如何?
A:单表百万级记录可正常使用。建议对高频查询字段建索引,复杂报表考虑外接 BI。
Q:如何备份?
A:使用 nb api backup 或 PostgreSQL 原生 pg_dump,定期备份到对象存储。
小结
NocoBase 以数据模型驱动为核心,让你快速从 0 到 1 搭建业务系统。本教程通过 CRM 案例覆盖了建模、界面、权限、API 四大环节。建议学习路径:熟练基本操作 → 工作流自动化 → 插件开发 → 生产部署。