s1-avatar-backend.md 1.02 KB

S1: 消息浏览页发送人头像支持

目标

修改 wechat_db.py 的 get_messages(),为每条消息提取发送人用户名(sender_username), 供后续 API 和前端查找头像。

涉及文件

  • wechat_db.py:get_messages() 函数

数据流

  1. get_messages() 从 message 表查询消息
  2. 群聊消息的 content 字段格式:sender_username:\n<xml>...
  3. 私聊消息的 talker 就是 sender_username(非 chatroom 后缀)
  4. 新增返回字段 sender_username

步骤

  1. 在 get_messages() 的 SQL 中不加 JOIN(保持性能),在 Python 层提取 sender
  2. 对于群聊(talker 含 @chatroom):从 content 提取 ^([^:\n]+):\n 前缀
  3. 对于私聊:sender_username = talker
  4. 对于自己发的(isSend=1):不需要 sender(自己发的消息用自己头像)

验证

  • 写测试 test_s1_sender.py → RED(当前没 sender_username 字段)
  • 改 wechat_db.py → GREEN
  • smoketest

风险

  • 某些 content 格式不一致(非标准 XML),正则需容错