SuperAPI AI 工具集

offline-first

部署与运维

查看项目

更新于 10-15 19:52

技能介绍

该技能面向移动端离线优先架构,提供一套可复用的模式与代码示例。

用途:在弱网或断网环境下保证应用可用,先展示本地缓存数据,再在联网时同步更新。

主要能力:

  1. NetworkBoundResource 抽象,协调缓存与网络数据源,配合 Resource 包装类(Success/Loading/Error)在 Repository 中使用。
  2. 缓存策略:缓存优先(默认)与网络优先(时效敏感数据)。
  3. 基于 TTL 的缓存失效,通过 CachePolicy 记录时间戳,提供默认 15 分钟、短 2 分钟、长 24 小时等常量。
  4. 连接状态监听:Android 使用 ConnectivityManager.NetworkCallback,iOS 使用 NWPathMonitor。
  5. 离线写入同步队列:PendingOperation 实体记录操作类型、实体、载荷与重试次数,联网后处理队列。
  6. 冲突解决:最后写入胜出、字段级合并。
  7. 指数退避重试,以及 Android WorkManager 周期同步与 iOS BGTaskScheduler 后台任务示例。

使用方式:按示例将 networkBoundResource、CachePolicy、SyncQueue 等集成到 Repository 与数据层;后台同步需注册对应平台的周期任务。

适用场景:需要离线可用的移动应用,如资讯、笔记、社交等。

限制:示例基于 Kotlin 协程与 Swift,具体 API 与平台版本要求资料未提供;实际 TTL、重试次数等参数需按业务调整。