# 从零构建 CRM
欢迎来到《从零构建 CRM》教程!
在这里,我们将带您一步步地使用牧言低代码平台,搭建一个简易的 CRM 系统:客户管理、销售机会、互动记录和任务。
提示
CRM,英文 Customer Relationship Management 的缩写,中文全称为客户关系管理。通常情况下人们所说的 CRM 特指 CRM 系统软件。CRM 是一个以客户为中心、专门用于管理与客户关系的软件系统,它确保与客户在销售、营销、服务上的每一步交互都顺利、高效,从而提升企业业绩。
# 开始之前
本教程基于平台后端 1.0.0-beta18 实际操作并截图。开始之前请准备:
- 一套可以登录的平台开发环境,账号具有管理员角色(
ROLE_ADMIN)。 - 能够往该环境的种子数据目录中放 CSV 文件,并能重启后端服务。
平台在 1.0 中调整了建模和权限的方式,本教程据此分成两类操作:
| 操作 | 在哪里做 | 原因 |
|---|---|---|
| 定义领域模型、字段、模型的增删改查权限 | 种子数据 CSV | 「开发定制 > 领域模型」页面只能查看和修改,不能新建模型;模型权限字段在界面上也没有 |
| 创建表单、菜单、表单字段,绑定对象动作 | 界面 | 界面可以完成;每一步都给出对应的 CSV 写法,方便以后放进插件 |
| 表单的访问权限 | 种子数据 CSV | 表单和菜单的界面上没有访问权限字段 |
# CSV 放在哪里、怎么生效
平台启动时会从种子数据目录(application.yml 中的 seedData.folder,可由环境变量 SEED_DATA_FOLDER 覆盖)下的 csv 子目录导入所有 CSV 文件。以平台提供的 docker compose 开发工程为例,后端容器的 SEED_DATA_FOLDER 是 /app/plugin/data,工程里的 codes/data/csv 目录挂载到容器的 /app/plugin/data/csv。
所以本教程中每次修改 CSV 后的操作都是:
- 把 CSV 文件保存到
codes/data/csv目录(本教程的文件名都以_crm.csv结尾,例如DomainClass_crm.csv)。 - 重启后端服务,例如
docker compose restart server,等服务恢复健康。 - 到「执行记录 > 数据导入」确认导入结果。列表中没有文件名列,按「导入对象类型」(例如
Domain Class、Dynamic Form)和「运行开始」时间找到最新的一条记录,状态应为Success(当前版本状态显示为英文);失败时在同一行的「失败行」「过程日志」列查看原因。
内容没有变化的 CSV 文件在重启时会被跳过,只有修改过的文件才会重新导入。CSV 的格式和导入规则见 数据导入。
# 步骤列表
-
- 用 CSV 定义客户模型、字段和增删改查权限。
-
- 在界面上创建客户的列表、新建、编辑表单和菜单。
-
- 销售机会及其关联的互动记录、任务的建模,以及子表维护。
-
- 开放删除权限,并为列表绑定批量删除动作。
-
- 为表单字段设置中文显示名称和显示控件。
# 附录
- CRM 系统设计文档
- 我们正在构建的 CRM 系统的设计全貌。
← ⬆️ 升级说明 01. 客户对象建模 →