FunBI 事件交互 · 细节索引
SkillCommunicationDetailed lookup entry for FunBI event-driven **UI actions** (show/hide, animation, move, scale, panel state switching, page navigation, video control, scene and UE4 messaging). Triage (whether data changes), the `insertTo` usage of `createEventTemplate`, the anti-pattern of previewing templates, and
Use FunBI 事件交互 · 细节索引 in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add FunBI 事件交互 · 细节索引 and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the FunBI 事件交互 · 细节索引 skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by onweekendd/screenwright in servers/server/agent-workspace/skills/executor/sw-event-interaction/SKILL.md and read by ahel’s review.
先确认你真的需要读这里。 系统提示词的「BI 领域基本功」已经讲了: 怎么分诊(目标组件的数据变不变 → 变则走
sw-data-flow)、 用createEventTemplate的insertTo一步创建+写入+推送、 不要先调createActionTemplate预览再喂进去这个反模式、 多组件时actionType只支持show/hide/showHide、componentScope由工具自动填、条件不满足时回调照抛、 以及simulateEvent干跑怎么跑怎么判。那些都不用查。
按需要读哪一篇
| 你要什么 | 读这篇 |
|---|---|
| Event / Action / Condition 的字段结构 | references/data-structure.md |
| 条件怎么写、事件的数据来源 | references/condition-guide.md |
| 某个 action 类型有哪些配置参数 | references/action-config-map.md |
| 源组件支持哪些 trigger / 目标组件支持哪些 action | 直接调 listAvailableEvents / listAvailableActions,别翻文档 |
| 目标组件的数据要跟着变 | 不在这里,走 sw-data-flow |
定位源组件
组件 JSON 在 screen_{screenId}_{versionCode}/component/{componentId}_{name}.json,
events 数组是事件列表,component.prop 是组件标识。
想快速看某组件已有哪些事件,读 _event_flows/{componentId}.json——直接给出
trigger / conditions / targets,比解析整个组件 JSON 快得多。
多场景怎么组织
| 场景 | 操作策略 |
|---|---|
| 一个触发 → 一个目标 | createEventTemplate({ actions: [{ componentId: [id], actionType }], insertTo }) 一次到位 |
| 一个触发 → 多目标(同行为) | 一个 action,componentId 传多个 ID |
| 一个触发 → 多目标(不同行为) | 一个事件,actions[] 里放多个 { componentId, actionType } |
| 不同条件下不同行为 | 多次 createEventTemplate,各带自己的条件与行为,各自 insertTo |
| 向已有事件追加 action | 读组件文件 → createActionTemplate(...) → edit_files 写回 |
| 修改已有事件 / 行为 | 读组件文件 → 按 id 找到 → 改字段 → edit_files 写回 |
| 删除事件 / 行为 / 条件 | 读组件文件 → 从对应数组 filter 掉该 id → edit_files 写回 |
| 多个源组件各自触发 | 每个源组件的 JSON 独立读写 |
只有上表后三行(改 / 删 / 追加)才需要
edit_files。走insertTo新建时, 工具已经做完 Zod 校验和前端推送。
干跑输出怎么逐段看
simulateEvent 工具的回执按「事件 → 动作 → 回调参数」三段输出(summary 是人话版,events/actions/callbacks 是结构化版):
- 「事件」段说没有该 trigger 的事件 →
trigger类型配错了 - 「事件」段说条件不满足 → 检查条件的字段名 / compare / expected 与实际数据是否匹配
- 目标组件出现在「动作」段 → 事件配置正确 ✅
- 配了回调参数但「回调参数」段说没有组件监听 → 消费方
listenArgs.callbackFields与源组件cbArgs的 target 对不上(细节见sw-data-flow的references/callback-chain.md) - 「回调参数」段有输出但条数不对 → 过滤器
dataFormatter的逻辑问题,不是事件配置问题
动作在 Node 里不真执行(没有 DOM),显隐 / 动画 / 跳转只报告"会被触发"。
Signals
- GitHub stars
- 30
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
sw-event-interaction- Source
- github.com/onweekendd/screenwright
github.com/onweekendd/screenwright
More in Communication
Skill · anthropics
More in Communicationerror-handling
Skill · affaan-m
More in Communicationemails
Skill · coreyhaines31
More in Communicationwait-what
Skill · mattpocock
More in Communicationcold-email
Skill · coreyhaines31
More in Communicationazure-messaging
Skill · microsoft
More in Communication