# 数据、类型与函数

在项目中管理数据表、类型定义和函数，让页面、服务、模块方法和智能体共享稳定结构。

数据、类型和函数是项目内可复用业务逻辑的基础。类型定义约束结构，数据表保存业务数据，函数封装可调用逻辑。三者稳定后，页面、后端服务、模块方法、工作流和智能体都能复用。

## 数据管理

数据页按服务或业务域展示数据表。每个数据表通常包含名称、类型和状态。

使用数据页时，重点确认：

- 数据表属于哪个服务或业务域。
- 表名是否稳定，是否能被页面、服务或函数引用。
- 状态是否启用。
- 数据结构是否和类型定义一致。

当前项目里数据页适合做轻量数据资产管理。复杂数据库建模、迁移和权限控制，应在后端服务或数据库设计页面中完成后再发布验证。

## 类型定义

类型用于描述数据结构和函数入参出参。常见类型包括字符串、数字、布尔、对象、数组、枚举、接口列表和接口映射。

设计类型时注意：

- 字段名保持稳定，避免发布后随意重命名。
- 必填和可空要明确。
- 对象类型要写清每个字段的含义。
- 枚举类型要写清每个值的业务语义。
- 共享类型优先复用，不要为同一业务对象重复创建多个近似类型。

类型变更会影响函数、模块方法、服务接口、页面表单和智能体工具参数。发布前要检查依赖。

## 函数管理

函数页用于创建、编辑、删除和测试项目函数。函数可以包含：

- 名称和说明。
- 函数类型，例如代码函数或远程函数。
- 返回类型。
- 参数定义。
- 错误类型映射。
- 是否异步。
- 函数体或远程调用配置。

创建函数时，先选择函数类型，再定义参数和返回结构。函数保存后，应立即用测试入口执行一次，确认入参、返回和错误信息符合预期。

## 远程函数

远程函数用于把外部 API 包装成项目函数。配置时要明确：

- 请求地址。
- 请求方法。
- 请求头和鉴权。
- 入参映射。
- 返回值映射。
- 超时和错误语义。

远程函数不要把 token 写在公开说明或前端代码里。密钥应保存在环境、服务属性或模块属性中。

## 依赖关系

数据、类型和函数之间有明确依赖：

| 资产  | 依赖              | 被谁使用              |
| --- | --------------- | ----------------- |
| 数据表 | 服务或数据库配置。       | 页面、服务、函数、管理后台。    |
| 类型  | 字段定义和枚举值。       | 函数、模块方法、表单、智能体工具。 |
| 函数  | 类型、环境变量、远程 API。 | 页面、后端服务、工作流、智能体。  |

修改类型或函数前，先查看项目依赖，确认影响范围。破坏性修改应新建版本或同步调整所有调用方。

## 验证清单

- 新建类型后，用至少一个函数或服务接口引用它。
- 新建函数后，填写真实测试参数并执行。
- 修改函数参数后，检查页面表单、智能体工具和工作流节点。
- 修改返回类型后，检查调用方是否仍能解析。
- 远程函数失败时，查看请求地址、鉴权、超时和外部系统返回。
