修复朋友圈全量刷新并保留原有日志信息 - #132
Merged
2977094657 merged 3 commits intoSep 2, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
关联问题
关联 #124。本拉取请求不会自动关闭该问题,待维护者验证后再决定是否关闭。
问题原因
朋友圈左侧的手动“刷新”原先复用了增量同步逻辑,会受到最大动态编号、高水位以及单次读取数量限制的影响。因此在好友动态较多、总记录超过读取上限,或者需要补齐低于现有高水位的历史记录时,只能刷新出部分内容。
此外,原来的同步过程缺少可恢复的后台任务状态、批次进度和完整的生命周期诊断日志。
修复内容
日志行为说明
本次根据反馈保留原有朋友圈日志的字段和输出方式,不再删除或替换既有日志信息:
在原有日志之外,仅为本次新增的全量同步和增量同步增加独立的结构化生命周期日志。这些新增日志记录任务或请求标识、阶段、批次数、聚合计数、状态码、错误类型和耗时,便于定位同步进度与失败阶段,同时不会改变原有日志。
新增接口
POST /api/sns/realtime/full_sync:创建或复用当前账号的全量同步任务。GET /api/sns/realtime/full_sync/status:查询当前账号最近一次全量同步任务。DELETE /api/sns/realtime/full_sync:按照同步任务标识取消当前任务。测试结果
给问题 #124 的回复
问题已经定位并修复。此前朋友圈左侧“刷新”实际使用的是增量同步路径,会受到高水位判断和单次读取数量上限影响,因此好友动态较多或需要补齐较早历史记录时,只能刷新出部分内容。
本次修复后,手动“刷新”会启动当前账号的完整本地朋友圈缓存同步,按批次遍历微信本地已经缓存的全部有效记录,不再受 200 条或 2000 条限制,也能补齐低于现有高水位的历史记录。同步在后台运行,支持查看进度和取消;离开页面后不会中断,重新进入时可以恢复任务状态。每批数据写入后会无感更新当前列表并尽量保持滚动位置。
日志方面保留原有输出行为,账号、联系人、正文、动态和媒体标识、地址、摘要、本地路径等原有诊断信息都会继续记录。本次只额外增加全量同步和增量同步的结构化生命周期日志,用于观察任务阶段、批次数、聚合数量、错误类型和耗时。
需要注意:全量同步只能处理微信客户端本地已经缓存的数据,不会主动联网拉取微信尚未缓存的历史朋友圈。