diff --git a/frontend/pages/sns.vue b/frontend/pages/sns.vue index c7ca3d5..e095bce 100644 --- a/frontend/pages/sns.vue +++ b/frontend/pages/sns.vue @@ -179,9 +179,7 @@
暂无朋友圈数据
- 已显示:{{ posts.length }} 缓存统计:{{ selectedSnsUserInfo.postCount || 0 }} - source: {{ timelineSource }} (已到末尾)
@@ -247,30 +245,23 @@
-
- -
-
-
-
{{ formatFinderFeedCardText(post) }}
-
-
- -
- 视频 -
-
-
- -
-
+
+ +
+ +
+ {{ formatFinderFeedCardText(post) }} +
+
+
+
@@ -622,7 +613,6 @@ const seenPostIds = new Set() // NOTE: Backend `/api/sns/timeline` uses SQL OFFSET on the raw timeline rows. // The UI filters out some rows (e.g. type=7 cover), so `posts.length` must NOT be used as the next OFFSET. const timelineOffset = ref(0) -const timelineSource = ref('') const hasMore = ref(true) // When timeline API reports `hasMore=false` but cached sidebar count indicates more, keep paging. // If we hit an empty page, stop trying to avoid infinite requests. @@ -1615,7 +1605,6 @@ const loadPosts = async ({ reset }) => { try { if (reset) { timelineOffset.value = 0 - timelineSource.value = '' hasMore.value = true cachePagingExhausted.value = false seenPostIds.clear() @@ -1633,7 +1622,6 @@ const loadPosts = async ({ reset }) => { offset, usernames: selectedSnsUser.value ? [String(selectedSnsUser.value).trim()] : [] }) - timelineSource.value = String(resp?.source || '').trim() const items = Array.isArray(resp?.timeline) ? resp.timeline : [] // Advance offset by the number of rows consumed by the backend. // When `hasMore` is true, the backend definitely scanned at least `limit` raw rows (even if it filtered some out). diff --git a/src/wechat_decrypt_tool/sns_export_service.py b/src/wechat_decrypt_tool/sns_export_service.py index 0e4fa6e..81a940b 100644 --- a/src/wechat_decrypt_tool/sns_export_service.py +++ b/src/wechat_decrypt_tool/sns_export_service.py @@ -1204,29 +1204,24 @@ class SnsExportManager: ff = post.get("finderFeed") if isinstance(post.get("finderFeed"), dict) else {} thumb_url = str(ff.get("thumbUrl") or "").strip() if isinstance(ff, dict) else "" thumb_arc = export_external_thumb(thumb_url, kind="finder") if thumb_url else "" - out.append('
') - out.append('
') - out.append('
') - out.append('
') - out.append( - f'
{_esc_text(format_finder_feed_card_text(post))}
' - ) - out.append("
") - out.append('
') + out.append('
') + out.append('
') if thumb_arc: out.append( - f'' + f'' ) else: out.append( - '
视频
' + '
' + f'{_esc_text(format_finder_feed_card_text(post))}' + "
" ) out.append('
') - out.append('
') + out.append('
') out.append( - '' + '' ) - out.append("
") + out.append("
") else: out.append(render_media_block(zf=zf, post=post))