SuperAPI AI 工具集

offline-sync

数据与分析

查看项目

更新于 10-15 09:49

技能介绍

用途

该技能用于让助手设计并实现一套稳健的同步系统,解决 Capacitor/Android 应用中的“无离线队列”(No Offline Queue)问题(P0)。其核心目标是支持本地优先(local-first)架构,使应用在离线状态下仍能正常工作,并在网络恢复后可靠地完成数据同步。

主要能力

本地存储(原生)

  • Room 数据库:在 Android 端实现本地 SQLite 存储,用于缓冲位置更新。
  • 数据实体:定义 OfflineLocation 的 schema,使其与 Supabase 的 registros_reten 结构相匹配。

同步策略

  • 后台同步:使用 WorkManager,在连接恢复时可靠地上传数据。
  • 冲突解决:针对位置数据采用基于时间戳的简单解决方式。
  • 批量上传:通过单次 HTTP 请求向 Supabase 发送多条记录,以节省电量。

连接监控

  • 网络状态:在 Web(React)与原生(Java)两侧对连接变化做出响应。
  • 故障转移逻辑:在直连 Supabase 与本地优先模式之间优雅切换。

数据完整性

  • 去重:确保同一位置点不会被发送两次。
  • 队列管理:当设备长时间离线时截断旧日志,防止存储膨胀。

使用方式

该技能以知识领域与响应准则的形式提供给助手,用于指导同步系统的设计与实现。响应准则包括:

  • 优先使用批量请求,以最大化电量效率。
  • 在同步逻辑中始终包含针对网络失败的错误处理。
  • 对于 Web 层任何复杂的本地存储需求,推荐使用 Capacitor SQLite。
  • 确保遵守数据保留策略(删除已同步的记录)。

适用场景

适用于需要离线优先能力的 Capacitor/Android 应用,尤其是涉及位置数据缓冲与同步、需要在网络不稳定或离线环境下保证数据不丢失、并在恢复连接后批量上传的场景。

限制

资料未提供该技能的具体安装命令、代码示例、收费或价格信息、支持平台范围以及实际效果数据,这些内容暂未提供。