SuperAPI AI 工具集

flutter-riverpod-arch

通用与其它

查看项目

更新于 10-15 22:15

技能介绍

用途:为 Flutter 应用落地可扩展的 Feature-First 架构,结合 Riverpod 状态管理(含代码生成)与 flutter_hooks/HookConsumerWidget 组织界面。架构受 DDD 与 Clean Architecture 启发,分为 Presentation/UI、Domain/UseCase、Infrastructure/Repository 三层,数据源访问封装在 Repository 内。

主要能力:规划功能结构,区分共享与功能本地代码;实现 Repository、UseCase 与 UI 层;编写测试;应用响应式布局规则。Repository provider 使用 @Riverpod(keepAlive: true),屏幕级状态使用 @riverpod。

使用方式:先规划功能结构并放置文件,再实现 Repository、UseCase,用 HookConsumerWidget 构建 UI,实现响应式布局并编写测试。新增或修改 @riverpod 注解后需运行 dart run build_runner build。命名上文件与目录用 snake_case,类用 UpperCamelCase,页面类以 Page 结尾,Repository 类以 Repository 结尾,UseCase 用动词-名词(如 FetchPosts)。

限制:build 方法中不得用 ref.read(),事件处理中不得用 ref.watch(),视图内不含业务逻辑。优先用 HookConsumerWidget,仅纯局部状态可用 StatefulWidget。不用 LayoutBuilder 做页面级断点,改用基于 MediaQuery.sizeOf 的 ResponsiveLayout;优先用 MediaQuery.sizeOf 等定向方法。macOS/Web 上按钮需 enabledMouseCursor: SystemMouseCursors.click,InkWell 需 mouseCursor: SystemMouseCursors.click。避免仅为固定样式而创建按钮包装组件。列表与 sliver 规则见 list.md。平台支持范围、版本要求与许可信息暂未提供。