# 从零构建 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 后的操作都是:

  1. 把 CSV 文件保存到 codes/data/csv 目录(本教程的文件名都以 _crm.csv 结尾,例如 DomainClass_crm.csv)。
  2. 重启后端服务,例如 docker compose restart server,等服务恢复健康。
  3. 到「执行记录 > 数据导入」确认导入结果。列表中没有文件名列,按「导入对象类型」(例如 Domain Class、Dynamic Form)和「运行开始」时间找到最新的一条记录,状态应为 Success(当前版本状态显示为英文);失败时在同一行的「失败行」「过程日志」列查看原因。

内容没有变化的 CSV 文件在重启时会被跳过,只有修改过的文件才会重新导入。CSV 的格式和导入规则见 数据导入。

# 步骤列表

  1. 客户对象建模

    • 用 CSV 定义客户模型、字段和增删改查权限。
  2. 创建客户模型的维护表单

    • 在界面上创建客户的列表、新建、编辑表单和菜单。
  3. 销售机会对象建模及表单

    • 销售机会及其关联的互动记录、任务的建模,以及子表维护。
  4. 对象删除权限

    • 开放删除权限,并为列表绑定批量删除动作。
  5. 表单字段显示优化

    • 为表单字段设置中文显示名称和显示控件。

# 附录

Last Updated: 2026/9/24 14:27:35