improvement(chat): 完善会话置顶与消息卡片解析展示

- 后端:会话列表支持置顶识别(isTop)并按置顶优先排序

- 后端:修正群聊 XML 发送者提取,避免 refermsg 嵌套误识别

- 后端:完善转账状态后处理与视频缩略图 MD5 回填(packed_info_data)

- 后端:补充 quoteThumbUrl/linkType/linkStyle 字段链路

- 前端:新增置顶会话背景态、引用链接缩略图预览与 LinkCard cover 样式

- 测试:新增转账、置顶、引用解析与视频缩略图相关回归用例
This commit is contained in:
2977094657
2026-02-11 21:57:43 +08:00
parent 2ce479aefd
commit 548f3cf2c8
11 changed files with 1367 additions and 200 deletions

View File

@@ -0,0 +1,23 @@
import sys
import unittest
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT / "src"))
from wechat_decrypt_tool.chat_helpers import _extract_sender_from_group_xml
class TestGroupXmlSenderExtraction(unittest.TestCase):
def test_prefers_outer_fromusername_over_nested_refermsg(self):
xml_text = (
'<msg><appmsg><type>57</type>'
'<refermsg><fromusername>quoted_user@chatroom</fromusername></refermsg>'
'</appmsg><fromusername>actual_sender@chatroom</fromusername></msg>'
)
self.assertEqual(_extract_sender_from_group_xml(xml_text), "actual_sender@chatroom")
if __name__ == "__main__":
unittest.main()