Skip to main content

对象配置

在应用中创建、维护实体对象,并进入对象设置完成字段、表单、视图、审批流、接口、触发器及对象级数据配置。

概述​

实体对象(Entity Object)是 Chameleon 平台的核心数据模型,一个实体对象对应一张数据库表,对象下的字段对应表字段。所有实体对象都归属于某个应用,先进入应用工作区,再在实体对象列表中管理对象。

对象配置分为两层:

  • 对象列表层:创建、编辑、查看、搜索实体对象,并进入指定对象的设置页。
  • 对象设置层:在对象维度配置字段、表单、视图列表、审批流、接口、触发器,以及对象级的数据权限、数据源、查重、审计日志等全局设置。

界面结构​

进入某个应用后,左侧二级菜单中的「实体对象」即为对象列表页。

区域说明
实体对象列表展示当前应用下的对象,支持按名称、编码搜索,按编码、修改时间排序
创建对象右上角「创建对象」按钮,填写名称、编码、描述后创建
切换应用右上角「切换应用」按钮,返回应用选择页
对象名称链接点击对象名称进入该对象的设置页
操作列「详情」以抽屉展示对象属性;「编辑」修改名称与描述

进入对象设置页后,顶部标题为「对象名称 - 对象编码」,页面包含以下页签:

页签说明
字段管理定义对象的数据结构,对应 字段 概念
表单管理配置数据录入界面,对应 表单 概念
视图管理配置数据列表展示,对应 视图列表 概念
审批流管理配置对象关联的审批流,对应 审批流 概念
接口管理以对象及字段为基础编排业务逻辑接口,对应 平台接口 概念
触发器管理配置对象的数据操作触发器
对象设置对象级数据权限、数据源、查重、审计日志等全局配置
数据权限标识

当对象启用了 MOU 数据权限(查询、编辑、删除任一阶段)时,对象列表的名称后与「对象设置」页签上会显示绿色锁形标识,用于提示该对象已开启数据权限过滤。

关于对象类型​

Chameleon 的实体对象没有「对象类型」枚举字段,对象本身不存在业务对象、系统对象之类的分类属性。代码中与对象来源相关的差异体现在以下维度:

维度判断依据说明
是否系统内置CustomCreated系统预置对象为 false,用户新建对象为 true
是否被自定义修改Customized内置对象被客户修改后置为 true
所属应用AppId → 应用 Code位于内置 System 应用下的对象为系统级对象,普通租户不允许在该应用下创建对象
编码前缀Code非开发租户创建的对象编码会自动加 ext_ 前缀

因此对象设置的配置项对所有对象一致,不存在按类型区分的配置表单。对象配置的关键能力按下列子文档拆分介绍。

配置项​

对象配置的配置项分为基本信息与对象设置能力两部分。

配置项说明
名称对象显示名称,必填
编码对象唯一编码,必填,创建后不可修改
描述对象功能说明,选填
MOU 数据权限查询、编辑、删除三个阶段的数据权限过滤规则
实体数据源是否允许以本对象数据作为其他字段的数据源
数据查重保存、导入数据时的重复校验规则
数据审计日志是否记录数据的新增、修改、删除审计日志

创建对象​

  1. 进入应用工作区,打开「实体对象」列表。
  2. 点击右上角「创建对象」。
  3. 填写名称、编码、描述后提交。
  4. 创建成功后自动跳转到新对象的「对象设置」页,同时系统会自动初始化默认系统字段。
编码规则
  • 编码长度限制为 2~60 个字符,不允许特殊字符。
  • 保存时编码会拼接应用编码,最终形如 {应用编码}.{对象编码}。
  • 非开发租户创建的编码会先加 ext_ 前缀。

编辑与查看对象​

操作说明
编辑修改名称、描述,编码创建后不可修改
详情抽屉展示对象的全部属性
进入设置点击对象名称进入对象设置页

对象设置的保存方式​

对象设置页签内的配置为输入即保存:表单值变更后会防抖 500 毫秒自动提交,无需手动点击保存按钮。

基本信息属性​

配置项说明
名称对象显示名称,必填,出现在对象列表、设置页标题、报表与权限配置等位置
编码对象唯一编码,必填,创建后不可修改,最终形如 {应用编码}.{对象编码}
描述对象功能说明,选填

以下属性由平台自动维护,用户不可直接编辑:

属性说明
是否被自定义修改(Customized)内置对象被客户修改后为「是」
是否用户自定义创建(CustomCreated)用户新建的对象为「是」
访问次数(VisitCount)每次获取对象详情时自增 1

快速初始化​

对象提供「快速初始化」能力:基于对象当前的全部业务字段,一键初始化默认表单、默认视图列表与默认平台页面,便于对象创建后立即跑通增删改查。当对象下没有业务字段时会初始化失败。

下一步​

属性明细​

以下内容面向技术实现与 AI 检索,说明对象实体的字段定义、存储结构与相关接口。

对象实体属性表​

对象实体 MetaObject 存储在数据表 system_metaobject 中。

属性名类型含义取值/存储值
_idGuid对象主键例:3a7d1c5e-...
AppIdstring所属应用 Id应用主键
Codestring对象编码形如 {应用编码}.{对象编码}
Namestring对象名称显示名称
Descriptionstring对象描述纯文本,可为空
Customizedbool是否被自定义修改内置对象被修改后为 true
CustomCreatedbool是否用户自定义创建用户新建为 true
VisitCountint访问次数每次获取对象详情自增 1
PropertiesMetaObjectProperties对象自定义属性以 JSON 字符串存储(JsonMap)
OpenDataSourcebool是否开启实体数据源外层冗余字段,与 Properties.OpenDataSource 同步,便于过滤查询
EnableAuditLogbool是否开启数据审计日志外层冗余字段,与 Properties.EnableAuditLog 同步,便于过滤查询

通用实体属性​

对象继承自 EntityBase,同时具备以下通用属性:

属性名类型含义
IsDeletedbool是否已删除(逻辑删除)
CreatedBy / CreatedTimestring / datetime创建人 / 创建时间
ModifiedBy / ModifiedTimestring / datetime修改人 / 修改时间
Organizationstring(Guid)所属组织,默认 19b9d97f-dd84-4b12-b363-7aa79a0d0ae4
WorkflowDataIdstring工作流数据 Id
ApprovalStatusstring审批状态
Sharedstring数据共享标识

存储示例​

{
"_id": "3a7d1c5e-6b8f-4a2d-9c01-1f2e3d4c5b6a",
"AppId": "9f1c0b2e-2d3a-4e6f-9c11-0f7a5b8d2e10",
"Code": "book_management.book",
"Name": "图书",
"Description": "图书基础信息",
"Customized": false,
"CustomCreated": true,
"VisitCount": 8,
"OpenDataSource": true,
"EnableAuditLog": true,
"Properties": {
"MouEnabledForQuery": true,
"MouTypeForQuery": "10",
"RepeatValidateFields": ["isbn"],
"RepeatValidateRelation": 1,
"RepeatMessage": "ISBN 已存在",
"OpenDataSource": true,
"DataSourceDisplayField": "name",
"EnableAuditLog": true
},
"IsDeleted": false,
"CreatedBy": "admin",
"CreatedTime": "2026-01-05T09:12:30"
}

相关接口​

接口说明
GET /api/MetaObject/Get获取对象详情,并使访问次数自增
GET /api/MetaObject/GetMetaObjectLiteList获取应用下对象的轻量列表
POST /api/MetaObject/GetList分页获取对象列表
POST /api/MetaObject/GetListByFuzzyName按名称模糊查询对象
POST /api/MetaObject/Create创建对象,同时初始化默认字段并同步数据库表
POST /api/MetaObject/Edit编辑对象名称、描述
POST /api/MetaObject/EditSettings保存对象设置(Properties 及外层冗余字段)
POST /api/MetaObject/QuickInitialize基于业务字段快速初始化表单、视图、页面

约束说明​

  • 创建时 AppId 必填且必须为合法 Guid,Code 会拼接应用编码后写入,并校验同一应用下编码唯一。
  • 编辑接口仅更新 Name、Description、Customized 三个字段,Code 不参与修改。
  • 获取详情接口在返回前会将 VisitCount 自增 1,并对 int 最大值做溢出保护。
  • 编码长度限制 2~60 个字符,不允许特殊字符;非开发租户创建的编码会自动加 ext_ 前缀并置 CustomCreated = true。