--- id: common-faq.sync-offline-data.faq title: 离线后再上线,期间的数据怎么办 type: faq feature: common-faq scope: end-user locale: zh aliases: - 离线数据 - 断网后的消息 - 没在线时的更新 - 重新上线后补不全 - 历史消息丢了 - 离线期间错过了什么 related_tools: [] related_pages: [] prerequisites: [] negative: - DooTask 不是离线优先架构,不支持本地写入 → 上线后合并 - 离线期间不能发消息、不能改任务,所有操作必须联网完成 - WebSocket 断线期间的实时推送不会被服务器缓存补发 last_verified: v1.7.90 --- # 离线后再上线,期间的数据怎么办 ## 问题 - 我刚才断网了 5 分钟,重新上线后聊天历史 / 任务变更能补回来吗? - 桌面端 / 手机端从后台切回前台,期间的更新怎么获取? ## DooTask 的同步模型 DooTask 是「在线优先」架构: - 所有读写都直接请求服务器,不存本地副本 - 在线时通过 WebSocket 接收实时推送 - 离线 / WS 断开期间的推送**不会被服务器缓存** 但「数据本身」是按需拉取的: - 进入会话页 → 拉取最新消息列表(含离线期间的) - 进入任务详情 → 拉取最新任务状态 - 切换页面会触发重新拉取 ## 离线期间会发生什么 | 数据类型 | 重新上线后是否能看到 | |---|---| | 聊天消息 | 是,进入会话即拉最新 | | 任务变更 | 是,进入任务 / 项目即拉最新 | | 实时通知(弹窗) | 否,已错过不会重发 | | 未读数 | 是,重新计算 | | 推送通知(手机) | 是,由 UMENG/APNs 离线推送 | ## 解决 1. 重新上线后**手动进各页面**走一遍 → 自动拉新 2. 移动端开启系统通知,离线时也能收到推送([[mobile-notify.toggle.howto]]) 3. 邮件通知作为兜底([[email-notice.scenarios.concept]]) ## 不支持 - 不支持「离线编辑、上线合并」 - 不支持离线消息草稿