SuperAPI AI 工具集

apply-phoenix-liveview-conventions

写作与研究

查看项目

更新于 10-15 22:16

技能介绍

用途:在编写或修改 Phoenix LiveView 模块时,强制采用一致、惯用的 Phoenix 模式。前置条件:先调用 phoenix-liveview-essentials 获取完整回调生命周期参考。规范基准为 docs/fcis-engineering-rules.md(Functional Core, Imperative Shell:纯领域模块,副作用置于边缘),LiveView/控制器回调保持轻薄,业务规则委托给 context 或纯模块。

主要规则:每个回调(mount/3、handle_event/3、handle_info/2、handle_params/3、render/1)前加 @impl true;在 mount/3 中为每个 assign 设置安全默认值,确保断连渲染不抛 KeyError;用 if connected?(socket) 守卫副作用(PubSub 订阅、定时器、异步任务仅在 WebSocket 连接时执行);handle_event/3 与 handle_info/2 返回 {:noreply, socket},除非回复客户端 push;错误通过 put_flash 或 changeset assigns 写入 socket,回调内不 raise;可复用函数组件用 def 导出而非 defp;2 个以上连续可失败操作用 with 而非嵌套 case;LiveView 中不直接查询 Repo,委托给 context 函数。

使用方式:按端到端流程创建或修改 LiveView——定义带安全默认值的 mount/3;为 URL 相关 assign 添加 handle_params/3 并用 connected?(socket) 守卫订阅;验证断连渲染;添加 handle_event/handle_info 回调;将可复用标记提取为导出函数组件;检查错误路径。表单绑定使用 to_form 与独立 validate 事件。

适用场景:Phoenix LiveView 新代码编写与既有代码修改。限制:资料未提供安装命令、收费、平台或效果信息。