常见错误与解决方案
在开发、部署或运行应用时,您可能会遇到系统抛出的异常提示或不符合预期的错误结果。我们为您分类整理了所有的错误现象与解决方案,您可以根据当前遇到的场景切换对应标签页进行排查。
建议结合实际业务场景 and 错误提示,优先排查权限、配置、数据唯一性等常见问题。如遇无法解决的问题,可联系 Zion 官方技术支持。
编辑与开发时错误
编辑时常见错误排查
在编辑器中进行开发时,系统会对配置进行智能校验。
- 典型表现:编辑器右上角错误图标有数字显示。
- 处理办法:点击“去修复”跳转到错误位置,根据报错提示修改。
常见高频校验异常
在实际搭建中,最常遇到的两类高频校验异常如下:
1. 类型错误(Type Error)
- 错误表现:字段的数据类型与填入/绑定的数据类型不匹配。
- 典型案例:数据表中“原价”字段需为
Int(整数)类型,但前端输入框或配置中直接填入了字符串"1元"。 - 解决方法:去掉带有非数字的字符(如
"元"),仅填入纯数值1。 - 错误图示:
2. 必填项缺失(Missing Required Field)
- 错误表现:组件、API 行为、或数据模型中被声明为“必填”的属性、入参未进行填写或数据绑定。
- 典型案例:配置“创建数据”行为时,必填的“名称”字段未配置对应的数据源绑定。
- 解决方法:检查该组件或行为属性,为其绑定正确的变量 or 输入值。
- 错误图示:
编辑器校验错误对照表
| 报错信息 | 导致原因 | 一般解决方法 |
|---|---|---|
数据模型 $tableName 里没有 $fieldName 属性,需在数据表内添加该类型字段后重新配置 | 数据模型中某个字段被删除,绑定这个字段的组件找不到依赖源 | 点击“去修复”删除原来配置,根据需求重新配置新的字段后再进行绑定 |
未知表名 $tableName | 引用了不存在的表名 | 1. 检查表名拼写 2. 重新选择有效的数据表 3. 如果不再使用,删除该引用 |
未知表 id $tableId | 引用了不存在的表 ID | 1. 检查表 ID 是否正确 2. 重新选择有效的数据表 3. 如果不再使用,删除该引用 |
数据库触发器 $triggerName 未配置数据表 | 数据库触发器没有配置目标数据表 | 为该触发器配置一个有效的数据表 |
未知主题 $colorThemeId | 使用了不支持的主题颜色 | 重新选择主题颜色 |
未知变量类型 $type | 使用了未定义或不支持的变量类型 | 检查变量类型,确保使用系统支持的变量类型 |
重复类型定义 $type | 同一种类型被重复定义 | 检查并删除重复的类型定义 |
约束名 $constraintName 与表 $tableName 的表名冲突 | 约束名称与表名相同 | 修改约束名称,避免与表名冲突 |
约束名 $constraintName 与表 $tableName 的列名冲突 | 约束名称与列名(字段名)相同 | 修改约束名称,避免与列名冲突 |
表 $tableName 中唯一约束 $constraintName 未配置列 | 唯一约束没有配置任何列 | 为该唯一约束添加至少一列 |
| 未提供 API | 第三方 API 定义缺失 | 配置完整的第三方 API |
API $definitionId 不存在 | 引用了不存在的 API | 重新选择新的第三方 API,如果不再使用,则删除该引用 |
API $definitionId 返回中不存在 $fieldName 字段 | API 返回结构中缺少预期的字段 | 1. 检查 API 文档,确认返回字段 2. 修改字段绑定或更新 API 定义 |
参数 $fieldName 不在表 $tableName 里,表的参数: $existField,需删除或重新配置 | 引用了数据表中不存在的字段 | 检查字段名是否正确,使用已存在的有效字段 |
请求行为 $mutationId 数据绑定丢失,需重新设置请求行为 | 请求行为的数据绑定配置丢失或被删除 | 重新设置该请求行为的数据绑定 |
自定义行为 $actionFlowId 不存在 | 引用了不存在的自定义行为流 | 重新创建该行为流或删除引用 |
ZAI 行为 $configId 不存在 | 引用了不存在的 ZAI 行为 | 重新创建 ZAI 行为或删除引用 |
字段 $fieldName 不存在自定义行为 $actionFlowId 里,现有字段: $existField | 自定义行为中不存在该字段 | 检查字段,使用已存在的有效字段 |
字段 $fieldName 不存在 ZAI 行为 $configId 里,现有字段: $existField | ZAI 行为中不存在该字段 | 检查字段,使用已存在的有效字段 |
| 行为缺少页面入参 | 行为配置中缺少必要的页面入参 | 在页面配置中补充页面入参 |
行为中的路径入参 $pathDataName 在目标页面 $targetPage 中不存在 | 目标页面没有定义该路径入参 | 1. 检查目标页面的路径参数配置 2. 添加对应路径参数或修改行为配置 |
输入数据源 $componentId 丢失 | 输入组件的数据源对应的组件丢失 | 1. 检查组件是否存在 2. 重新选择输入数据源 |
代码组件 $componentId 丢失 | 代码组件丢失或被删除 | 1. 检查组件是否存在 2. 重新配置或删除引用 |
| webhook 请求体丢失 | Webhook 请求体配置丢失或被删除 | 重新配置 Webhook 请求体 |
组件 $componentId 不存在 | 某个组件不存在 | 重新创建该组件或删除引用 |
页面变量 $pageDataName 丢失 | 页面变量被删除或未定义 | 重新创建该变量或删除引用 |
引用的数据源 $remoteDataId 丢失 | 引用的页面数据源不存在 | 重新创建该数据源或删除引用 |
| 定时任务控制行为缺少目标任务 | 定时任务控制行为没有配置目标任务 | 配置一个有效的定时任务 |
定时任务控制行为的目标定时任务 $scheduledJobId 不存在 | 引用了不存在的定时任务 | 重新创建该定时任务或删除引用 |
| 设置 JSONB 数据行为的目标 JSON 配置错误,该项只支持页面变量 | 配置了不支持的数据源(非页面变量) | 将目标 JSON 配置为页面变量 |
| 设置折叠模式行为中未选择模式 | 折叠模式行为未配置模式选项 | 在行为配置中选择一个模式(展开/折叠) |
配置数据路径中的 componentMRef:$componentMRef 无效 | 数据路径中引用了无效的组件 | 检查组件引用,确保组件存在 or 重新配置 |
客户端变量 $globalDataName 丢失 | 客户端变量被删除或未定义 | 重新创建 or 删除引用 |
页面入参 $linkedDataName 缺失 | 页面入参配置缺失 | 在页面配置中重新添加该页面入参 |
未知页面入参: $linkedDataName | 引用了未定义的页面入参 | 在页面配置中定义该页面入参或删除引用 |
路径入参 $pathDataName 缺失 | 页面入参的路径入参配置缺失 | 在页面配置中添加该路径入参 |
| 绑定数据路径中的类型与实际类型不符 | 绑定的数据类型与预期不符 | 检查绑定的数据路径,确保类型匹配 |
选择视图的本地数据 $componentId 缺失 | 选择视图的本地数据源丢失 | 重新配置选择视图的本地数据源 |
待刷新组件 $componentId 缺失 | 待刷新的页面 or 列表丢失或被删除 | 检查后重新选择待刷新组件 |
刷新行为目标 $componentId 为其他页面的组件,请更改刷新目标 | 刷新目标组件不在当前页面 | 将刷新目标更改为当前页面内的组件 |
| 不支持刷新使用了本地数据源的列表 | 试图刷新一个使用本地数据源的列表,但系统不支持 | 避免此操作,或更改数据源类型 |
行为流节点 $nodeId 数据绑定丢失 | 行为流节点的数据绑定配置丢失 | 重新配置该节点的数据绑定 |
| 输入数据参数丢失 | 输入数据参数未配置 | 配置输入数据参数 |
未知工具 $toolId | 引用了不存在的工具 | 检查工具,确保工具存在 |
未知上下文请求 $requestId | 引用了不存在的上下文请求 | 检查请求,确保请求存在 |
行为所需组件 $mRefId 不存在 | 行为引用了不存在的组件 | 重新创建该组件或删除引用 |
| 行为的目标组件不是页面 | 行为的目标组件类型错误(应该是页面) | 将目标组件更改为页面 |
底部导航栏上的组件 $mRefId 不存在 | 底部导航栏引用了不存在的组件 | 重新创建 or 删除该引用 |
| 底部导航栏的内容不能以 ’@’ 开头 | 底部导航栏的项内容以 ’@’ 开头,这是不允许的 | 修改内容,避免以非法字符开头 |
无效的输入组件: $mRefId | 输入组件无效 or 不存在 | 重新创建该组件 or 删除该组件 |
无效的表格组件: $mRefId | 表格组件无效 or 不存在 | 重新创建该组件 or 删除该组件 |
| 聚合数据来源不是数据模型,无法使用过滤条件 | 在本平台创建的数据模型才能使用聚合数据 | 重新配置该聚合数据 or 删除 |
在组件 $graphString 中发现循环依赖 | 组件之间存在循环依赖关系 | 检查组件依赖关系,打破循环(如移除不必要的依赖) |
属性 $fieldName 不可用 | 引用了不可用的字段 | 检查字段名,确保可用 |
| 绑定数据不在表作用域内 | 数据绑定超出了当前表的作用域 | 重新配置数据绑定,确保在正确的表作用域内 |
| 过滤条件的值没有配置或配置的类型错误(应该是布尔值) | 过滤条件配置了非布尔值 | 1. 检查过滤条件的值是否为布尔类型 2. 修改或删除该过滤条件 |
| 公式参数类型不匹配 | 公式中的参数类型不匹配 | 检查绑定的参数类型,确保与公式要求一致 |
自定义对象的项: $fieldName 值不能为空 | 自定义对象的字段值为空 | 为该字段配置有效的非空值 |
组件 $componentId 的子项的第 index 个标题缺失 | 组件的子项某个标题缺失 | 为子项配置标题 |
| 进度条中总进度必须是步进值的整数倍 | 总进度值 and 步进值不匹配 | 调整总进度 or 步进值,使总进度是步进值的整数倍 |
导航操作缺失参数 $paramName | 跳转操作缺少必要的参数 | 在跳转操作配置中补充相应参数 |
| 修改数据操作配置错误 | 修改数据操作的配置有误 | 检查修改数据操作的配置并进行修正 |
| 暂时不支持删除可重复列表中的值 | 试图删除可重复列表的值,但当前不支持 | 避免此操作 |
扫描二维码的赋值类型不支持 $receiverType,只允许文本,布尔值,数字 and 日期/时间类型 | 赋值参数类型不符合要求 | 将赋值参数类型更改为文本、布尔值、数字 or 日期/时间类型 |
条件行为 $actionId 的条件需配置布尔类型的数据 | 条件行为的条件配置中参数不是布尔类型 | 将该项参数配置为布尔类型 |
| 条件数据没有以 ‘总是’ 作为最后的条件 | 条件数据缺少 ‘总是’ 分支作为默认情况 | 在条件数据末尾添加 ‘总是’ 分支 |
条件数据中的第 $index 项需配置正确类型值 | 条件数据中某一项的值类型错误 | 检查并配置正确的值类型 |
| 条件行为没有以 ‘总是’ 作为最后的条件 | 条件行为缺少 ‘总是’ 分支 | 在条件行为末尾添加 ‘总是’ 分支 |
条件式容器 $componentId 的条件需配置布尔类型的数据 | 条件式容器的条件不是布尔类型 | 将条件配置为布尔类型的数据 |
条件数据中的第 $index 项需配置布尔类型的数据 | 条件数据中某一项的条件配置中参数不是布尔类型 | 将该项参数配置为布尔类型 |
Last updated on









