用途:当用户要求根据 JSON Schema 定义创建新的 CatalogItem、数据类或 Widget 类时使用本技能,适用于使用 GenUI 的 Flutter 应用。
主要能力:按固定约定生成三部分代码。数据类命名为 _<SchemaName>Data,为 schema 中每个属性添加 final 字段,并提供 _<SchemaName>Data.fromJson(Map<String, Object?> json) 工厂方法,用 try-catch 逐项类型转换解析,出错时抛出 Exception('Invalid JSON for _<SchemaName>Data')。CatalogItem 实例命名去掉 Schema 后缀,声明为 final CatalogItem,name 为名称首字母大写形式,dataSchema 设为给定 schema,并在 widgetBuilder 中把 itemContext.data 转为 Map 后交给 fromJson,返回对应 Widget 类。若 schema 含 action 回调(如 onCompleted),需用 resolveContext 解析动作上下文并通过 itemContext.dispatchEvent(...) 派发事件。Widget 类命名为 _<CapitalizedSchemaName>,按状态需求继承 StatelessWidget 或 StatefulWidget,接收数据类与所需回调,用 Flutter Material 组件实现 build,展示各数据字段并以按钮等交互元素表示动作。
必要用法:按上述命名与结构逐步生成数据类、CatalogItem 和 Widget,命令与代码保持资料原样。
限制:步骤与命名规则需严格遵守,解析须使用 try-catch 和类型转换,动作需通过 resolveContext 与 dispatchEvent 处理。资料未说明支持的平台版本、收费或性能表现,暂未提供。