Skip to content

Action 元数据与 handler 校验一致性及绑定机制一揽子修复 #833

@hotlong

Description

@hotlong

背景

当前 Action 声明与运行时执行绑定存在以下主要问题:

  • execute / target 字段混乱,缺少严格检测
  • type = script/flow 等情形下引用目标是否存在完全无静态校验,规范未定义唯一来源
  • 示例/实际工程存在大量"悬空"引用,运行到实际 UI/自动化时可能失败但CI/typecheck不报错
  • 测试用例和 schema 只查结构/形状,不查引用有效性

与 Salesforce/ServiceNow/Power Platform 等主流平台做法严重不一致: 它们均强制元数据声明和 handler 必须一一绑定,并在部署或保存、编辑阶段检测引用有效。


具体细节与优化清单

1. 规范/schema

  • type:'script'/'flow'/等时,统一只允许 target 字段指向唯一 handler,下沉 execute 字段为 legacy 并逐步移除
  • ActionSchema 增加 .refine(),要求 type 不同,target 必须满足各种严格必填和唯一性条件,message 友好
  • Markdown/mdx 文档与所有 example 统一用法和命名

2. 交叉引用校验与集成

  • defineStack crossref 检查补全:所有 Action[target] 必须能 resolve 到真实 handler/flow/modal,不允许悬空
  • stack 注册出错时必须 fail
  • 集成测试补充所有 action/handler/flow/modal 是否 can find(可用一个虚拟 registry/反射模拟)

3. 示例/工程工具

  • 后续代码生成、低代码、SDK等产出,仅允许 target 统一模式
  • 示例/测试用例不得再出现只写字符串但无 handler/脚本存在的案例

4. 文档/协作

  • 补充主流平台设计对标说明和当前问题总结,团队共识

价值

  • 降低潜在线上运行失败风险
  • 提高 schema/stack/工具链鲁棒性
  • 向主流平台、一线低代码产品看齐

Metadata

Metadata

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions