字段配置
字段是实体对象的数据模型单元,字段配置用于定义对象的列结构、数据类型与校验规则。
概述
在 开发中心 → 字段配置 中可以管理某个实体对象下的全部字段。字段相当于数据库表中的一列,平台会为每个字段同步创建数据库列,并根据字段类型自动生成表单控件、列表展示样式与搜索条件。
字段配置界面包含一张按对象过滤的字段列表,支持按名称、编码、字段类型、描述查询,并提供以下操作:
| 操作 | 说明 |
|---|---|
| 新增 | 填写名称、编码、类型及类型专属属性后创建字段,可连续新增 |
| 编辑 | 修改字段属性(编码创建后不可修改) |
| 查看详情 | 以抽屉方式展示字段的全部属性 |
| 校验规则 | 为字段配置数据级的正则校验规则 |
| 快速初始化 | 调用 MetaObject/QuickInitialize 为对象补齐内置字段 |
| 修复数据表 | 调用 MetaField/RepairDbTable 将元数据字段同步为数据库列 |
字段与对象的关系
字段从属于实体对象(MetaObjectId),配置入口在对象详情中。对象本身的属性请参考 对象配置;字段在表单、视图列表中的展示与交互(如是否必填、是否只读、占位符)在对应模块中单独配置,不在字段配置中设置。
支持的字段类型
系统内置九种字段类型,每种类型拥有独立的渲染方式与专属属性:
| 字段类型 | 枚举名 | 存储值 | 说明 | 详细文档 |
|---|---|---|---|---|
| 文本 | Text | 2 | 单行文本、密码、文本区、Markdown、富文本 | 文本字段 |
| 日期时间 | DateTime | 3 | 日期时间、日期、时间三种渲染模式 | 日期时间字段 |
| 是否 | Boolean | 5 | 布尔值,支持自定义显示文案 | 是否字段 |
| 数字 | Number | 9 | 数字输入、评分、滑动条、进度条 | 数字字段 |
| 货币数值 | Decimal | 10 | 高精度小数,适用于金额 | 货币字段 |
| 文件上传 | FileUpload | 14 | 附件或图片上传 | 文件上传字段 |
| 人员选择 | UserSelect | 30 | 从人员数据源中选择 | 人员选择字段 |
| 组织选择 | OrganizationSelect | 32 | 从组织架构数据源中选择 | 组织选择字段 |
| 数据源 | DataSource | 35 | 从候选数据列表中选择 | 数据源字段 |
枚举名与存储值以服务端
MetaFieldTypeEnum为准;前端FieldType.Currency对应服务端的Decimal(值均为 10)。
字段配置项
不同字段类型的配置项不同。下表为所有类型的配置项索引,各类型仅显示与其相关的项:
| 配置项 | 说明 | 适用类型 |
|---|---|---|
| 名称 | 字段显示名称,必填,最长 50 字符 | 全部 |
| 编码 | 字段唯一编码,必填,创建后不可修改 | 全部 |
| 类型 | 字段数据类型,必填,创建后不可修改 | 全部 |
| 描述 | 字段用途说明 | 全部 |
| 数据源 | 选择候选数据的来源 | 文本、人员选择、组织选择、数据源 |
| 选择模式 | 单选或多选 | 人员选择、组织选择、数据源 |
| 渲染模式 | 下拉、树形、单选按钮/复选框、级联 | 人员选择、组织选择、数据源 |
| 表单项布局 | 单选按钮/复选框模式下水平或垂直排列 | 人员选择、组织选择、数据源 |
| 显示模式 | 列表中以文本或标签展示 | 人员选择、组织选择、数据源 |
| 标签颜色规则 | 标签展示时的配色方案 | 人员选择、组织选择、数据源 |
| 连接符 | 多选值的连接文本 | 数据源 |
| 文本渲染类型 | 单行、密码、文本区、Markdown、富文本 | 文本 |
| 最小长度 / 最大长度 | 文本长度限制(0–100000) | 文本 |
| 首字母头像 | 列表中以首字母头像展示文本 | 文本 |
| 日期渲染类型 | 日期时间、日期、时间 | 日期时间 |
| 日期格式 / 时间格式 | 显示格式模板 | 日期时间 |
| 数字渲染类型 | 数字输入、评分、滑动条、进度条 | 数字 |
| 精度 | 小数位数(0–6) | 数字、货币 |
| 最小值 / 最大值 | 数值取值范围 | 数字、货币 |
| 滑动步长 | 滑动条每次移动的步长 | 数字(滑动条) |
| 是/否/null 显示文案 | 布尔值的自定义文案 | 是否 |
| 文件数量限制 | 单次可上传文件数(1–10) | 文件上传 |
| 单文件大小限制 | 每个文件大小上限(1–50 MB) | 文件上传 |
| 文件格式限制 | 允许的文件格式,遵循 HTML accept 标准 | 文件上传 |
| 附件展示模式 | 默认模式或预览模式 | 文件上传 |
| 输入框前缀 / 后缀 | 输入框的前后缀文本 | 文本、数字、货币、人员选择、组织选择、数据源 |
| Lookup | 按数据 Id 关联其他对象 | 人员选择、组织选择、数据源 |
| 开启索引 | 为字段建立数据库索引 | 除是否、文件上传外的类型 |
| 字段监听 | 监听其他字段变化并刷新数据源 | 人员选择、组织选择、数据源 |
通用的字段校验规则、查重规则、默认值等配置,请参考 字段配置详解。
创建字段流程
- 进入 开发中心 → 实体对象,打开目标对象,切换到「字段配置」页签。
- 点击「新增」,依次填写名称、编码、字段类型。
- 选择字段类型后,表单会动态展示该类型专属的配置项,按需填写。
- 提交后系统自动为对象的数据表新增对应列(需要时点击「修复数据表」同步)。
编码规范
- 编码必须以字母开头,仅允许字母、数字和下划线,长度不超过 50。
- 编码会强制转为小写;非开发环境租户的编码会自动追加
ext_前缀。 id、_id为保留编码,不可使用。- 字段完整编码
FullCode为{对象编码}.{字段编码}。
与表单 / 视图的关系
字段只定义数据模型,其在界面上的呈现方式由下游模块决定:
- 表单配置:决定字段是否展示、是否必填、是否只读、占位符、默认值与交互脚本,详见 表单脚本 API。
- 视图列表配置:决定字段是否作为列表列、列宽、排序与搜索条件,详见 视图列表配置。
- 详情 / 列表展示:由字段的渲染类型与展示属性(如标签、头像、附件模式)共同决定。
下一步
- 字段配置详解 - 通用属性、校验规则、查重、默认值与高级功能
- 文本字段 - 文本类型渲染与配置
- 数据源字段 - 关联选择类字段的渲染模式与联动
- 对象配置 - 管理字段所属的实体对象
- 字段类型映射 - 类型与存储值的完整映射
字段属性明细
以下内容面向技术实现与 AI 检索,说明字段实体的属性、类型与存储格式。
通用字段属性
字段存储在 system_metafield 表,实体为 MetaField:
| 属性名 | 类型 | 含义 | 取值/存储值 |
|---|---|---|---|
_id | string(GUID) | 字段主键 | 例:a1b2c3d4-... |
MetaObjectId | string(GUID) | 所属对象 Id | 必填 |
AppId | string(GUID) | 所属应用 Id | 由对象推导 |
Code | string | 字段编码 | 小写,字母开头,^[A-Za-z][A-Za-z0-9_]*$,≤50 |
FullCode | string | 完整编码 | {对象编码}.{字段编码},全小写 |
Name | string | 字段名 | ≤50 |
Description | string | 描述 | 纯文本,可空 |
FieldType | MetaFieldTypeEnum | 字段类型 | 见上方字段类型表 |
IsSystem | bool | 是否系统字段 | 平台内置字段为 true |
Customized | bool | 是否被自定义 | 租户修改内置字段后置 true |
CustomCreated | bool | 是否用户创建 | 用户新建或非开发租户为 true |
FieldValidations | List<FieldValidation> | 校验规则集合 | JSON 映射存储 |
Properties | MetaFieldProperties | 类型专属扩展属性 | JSON 映射存储 |
SetIndex | bool | 是否建立索引 | 见下方索引规则 |
DbIndexType | DbIndexTypeEnum | 索引类型 | 当前仅 Default = 0 |
存储格式示例
{
"_id": "a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
"MetaObjectId": "4b66c646-6e18-41ab-9e14-a015de6ba337",
"Code": "amount",
"FullCode": "sales.order.amount",
"Name": "订单金额",
"FieldType": 10,
"IsSystem": false,
"CustomCreated": true,
"Precision": 2,
"SetIndex": true,
"DbIndexType": 0,
"Properties": {
"NubmerMinValue": 0,
"NubmerMaxValue": 100000,
"Prefix": "¥"
}
}
数据库列映射
字段会同步为对象数据表(表名 = 对象编码将 . 替换为 _ 并转小写)中的列,映射关系如下:
| 字段类型 | PostgreSQL 类型 |
|---|---|
Text | text |
DateTime | timestamp |
Boolean | bool |
Number | float8 |
Decimal | decimal |
UserSelect / OrganizationSelect / DataSource / FileUpload | text |
索引规则
仅当 SetIndex = true 且字段类型不属于以下情况时创建索引,索引名为 idx_{表名}_{字段编码}:
- 类型为
Unknown、Boolean、FileUpload; - 文本类型的渲染类型为
Markdown、TextArea、RichText。
相关接口
| 接口 | 说明 |
|---|---|
POST /api/MetaField/Create | 新建字段 |
POST /api/MetaField/Edit | 编辑字段 |
POST /api/MetaField/SaveFieldValidations | 保存校验规则 |
GET /api/MetaField/Get | 获取字段详情 |
POST /api/MetaField/GetList | 分页查询字段 |
GET /api/MetaField/GetAllList | 按对象获取字段列表 |
GET /api/MetaField/GetFieldTypes | 获取字段类型选项 |
GET /api/MetaField/GetRegularTypes | 获取校验规则类型选项 |
POST /api/MetaField/RepairDbTable | 修复对象数据表的字段列 |