Flutter Networking 是一个面向 Flutter 应用的网络与传输层技能,用于构建或审查远程数据与传输边界,覆盖 HTTP、GraphQL、WebSocket、SSE 或 Socket.IO。它的总体原则是:把传输关注点保持在服务边界内,向应用其余部分暴露具有领域意义的结果。
用途 该技能适用于 API 契约、带认证的请求、远程数据获取与传输层设计或评审等场景。它要求先选择模式:普通 HTTP 请求-响应工作按技能中的规则处理;GraphQL 操作、生成模型、规范化缓存、乐观写入或订阅应阅读 GraphQL clients 参考;WebSocket、SSE、Socket.IO、连接恢复或实时事件投递应阅读 Realtime transports 参考;REST 或 HTTP 响应调试、未记录字段、解码漂移,或对比 Swagger/OpenAPI 与已部署行为,应阅读 HTTP response evidence 参考。GraphQL 订阅需要同时阅读两份参考。流竞争或订阅泄漏应交给 dart-concurrency,持久离线队列交给 flutter-persistence,应用终止后的告警交给 flutter-notifications。
主要能力 技能要求先检查当前客户端、生成的 API 代码、拦截器、模型生成、认证、环境配置与测试,并在满足需求时保留 http、Dio、生成客户端或其他既有选择。其规则包括:集中管理 base URL、请求头、超时与环境选择,且不提交密钥;防御性解码不可信响应与消息,并区分传输、协议、解码、认证和领域失败;在明确边界把线上模型映射为领域模型;仅在操作与协议使恢复安全时重试或重连,并限制退避、队列与取消;通过单一协调路径刷新凭证以避免请求风暴;定义分页标识、排序、重复处理、终止条件与刷新行为;谨慎应用缓存策略,不把过期数据静默当作新数据返回;避免记录令牌、个人数据或完整敏感载荷;把已记录的模式、文档示例、受控夹具与观察到的服务器响应作为彼此独立的证据,不把一次观察到的载荷当作完整契约,也不把 mock 当作已部署行为的证明。
使用方式 按技能描述,使用时应先阅读现有客户端与相关配置,再依据所选模式查阅对应参考文档,最后按规则实施或评审。验证环节建议使用确定性假服务器或模拟传输,覆盖成功、畸形数据、超时、取消、未授权刷新、重试耗尽、分页边界、重连与恢复行为以及离线行为;仅在凭证与环境明确在范围内时对真实服务运行集成测试,并分别报告执行面与数据来源。
适用场景 适用于 Flutter 项目中涉及远程数据获取、API 契约、认证请求、实时传输、分页、缓存与重连等网络边界的构建与审查工作。
限制 资料未提供具体安装命令、代码示例、支持的 Flutter 版本、依赖包清单、收费或价格信息,也未提供官方文档或仓库地址之外的更多细节。