关于 flutter-networking
面向 Flutter 开发者的网络处理技能,指导将传输细节限制在服务边界,并向应用其他部分提供领域结果。涵盖 HTTP、故障处理、缓存、分页与验证。
主要功能
- 01规范 HTTP 客户端与配置
- 02防御式解码并区分故障类型
- 03在边界映射领域模型
- 04安全控制重试与凭据刷新
- 05定义分页与缓存行为
- 06用模拟传输验证网络场景
适用场景
- 01为 Flutter 应用接入 HTTP API
- 02排查解码、认证或超时问题
- 03验证分页、重试与离线行为
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ thienqo/ flutter-skills --skill flutter-networking安装后在 Claude Code 中输入/flutter-networking确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/cases.jsonreferences/graphql.mdhttp-response-evidence.mdrealtime-transports.md详细介绍
Flutter 网络
将传输相关职责保留在服务边界,并向应用的其他部分提供具有领域意义的结果。
选择模式
- 按照以下规则处理常规 HTTP 请求-响应工作。
- 对于 GraphQL 操作、生成的模型、规范化缓存、乐观写入或订阅,请阅读 GraphQL 客户端。
- 对于 WebSocket、SSE、Socket.IO、连接恢复或实时事件传递,请阅读 实时传输。
- 对于 REST 或 HTTP 响应调试、未记录的字段、解码偏差,或比较 Swagger/OpenAPI 与已部署行为,请阅读 HTTP 响应证据。
- 对于 GraphQL 订阅,请阅读这两份参考资料。将流竞争或订阅泄漏交由
dart-concurrency处理,将持久离线队列交由flutter-persistence处理,将应用已终止时的提醒交由flutter-notifications处理。
检查
检查当前客户端、生成的 API 代码、拦截器、模型生成、身份验证、环境配置和测试。如果 http、Dio、生成的客户端或其他既有方案满足要求,请保留该方案。
规则
- 集中管理基础 URL、标头、超时和环境选择,不要提交密钥。
- 防御性地解码不受信任的响应和消息,并区分传输、协议、解码、身份验证和领域故障。
- 在明确的边界将线上模型映射为领域模型。
- 仅当操作和协议允许安全恢复时才重试或重新连接;限制退避、队列和取消操作。
- 通过一条协调的路径刷新凭据,避免请求风暴。
- 明确分页标识、排序、重复项处理、终止条件和刷新行为。
- 有意识地制定缓存策略;不要默默将过期数据作为新鲜数据返回。
- 避免记录令牌、个人数据或完整的敏感负载。
- 将已记录的架构、文档示例、受控固定样本和观察到的服务端响应作为不同证据。不要将单个观察到的负载描述为完整契约,也不要将模拟结果作为已部署行为的证明。
验证
使用确定性的伪服务端或模拟传输,覆盖成功、格式错误的数据、超时、取消、未授权后的凭据刷新、重试耗尽、分页边界、重新连接与恢复行为,以及离线行为。仅当凭据和环境明确属于范围内时,才针对真实服务运行集成测试。分别报告执行环境和数据来源。
来源
评论
支持 Markdown