跳到主要内容
版本:3.0

基础概念

理解 Steedos Platform 的核心概念,是掌握低代码开发的关键。不同于传统开发需要定义数据库结构并编写独立的后端代码,Steedos 采用 元数据驱动(Metadata Driven) 架构。

这意味着你只需描述应用“应该是什么”(元数据),平台会负责“如何构建、渲染与执行”。

Steedos Overview

1. 元数据(Metadata)

元数据是“关于数据的数据”。在 Steedos 中,元数据就是业务应用的源代码,用于定义数据模型、界面布局、权限规则及自动化逻辑。

  • 格式:以简单的 YAML 或 JSON 文件存储。
  • 优势:便于版本管理(如 Git)、易于环境迁移,且人机皆可阅读。

2. 对象(Objects)

对象是 Steedos 的基础构建单元。若你熟悉 SQL,可将对象理解为“数据库表”,但其能力远超表结构。

对象定义包括:

  • 数据库结构:数据最终存储于 MongoDB。
  • API 定义:自动生成 GraphQL 与 REST API。
  • 界面配置:数据在列表视图与表单中的呈现方式。

标准对象与自定义对象:

  • 标准对象:平台自带(如 usersorganizationsspace)。
  • 自定义对象:用于满足业务需求(如 projectcontractvehicle)。

示例(car.object.yml):

name: car
label: Vehicle
icon: car
fields: ...

3. 字段(Fields)

字段用于定义对象中的具体数据项,类似数据库表的“列”。

Steedos 提供丰富的字段类型:

  • 基础类型:文本、数字、日期、布尔、选择等。

  • 关系类型

    • Lookup:关联到其他对象的记录(如项目指向经理)。
    • Master-Detail:强父子关系(如订单及其明细)。
  • 高级类型:表格(Grid)、图片、文件、公式、汇总等。

4. 应用(Apps)

应用是用于组织相关对象与标签页的容器,用以解决特定业务场景。

示例:

  • 销售 CRM 应用:包含线索、商机、客户等对象。
  • 项目管理应用:包含项目、任务、工时等对象。

用户可通过左上角的应用启动器(九宫格)切换不同应用。

5. 记录(Records)

记录是存储在数据库中的具体数据实例。若对象是“表”,记录就是“行”。

  • 每条记录都有唯一 _id
  • 权限由元数据定义并自动生效。
  • 可通过界面或 API 访问。

6. 自动化(Automation)

Steedos 的逻辑机制可减少人工干预、提升业务效率。

  • 工作流规则:在记录创建或更新时执行如邮件通知、字段更新等动作。
  • 审批流程:定义复杂的审批链条(如预算超 5000 元需 VP 审批)。
  • 触发器(Triggers):使用 Node.js 编写,在插入、更新、删除等数据库操作前后执行。

7. 权限(Security)

Steedos 拥有完善的安全模型,确保正确的用户访问正确的数据。

  • 配置文件(Profiles):定义用户能执行的操作,控制对象级别的权限(增删改查)。
  • 角色(Roles):体现组织层级关系(如经理高于员工)。
  • 共享规则:决定用户可查看哪些记录(如仅能查看自己拥有的记录,或经理可查看下属的记录)。

概念对照表

概念传统开发对应在 Steedos 中的作用
Object(对象)SQL 表 + API 控制器定义数据与行为
Field(字段)SQL 列定义数据属性
Record(记录)SQL 行实际数据
Metadata(元数据)源代码 / 配置应用的“DNA”
Trigger(触发器)数据库触发器 / 钩子后端逻辑