s1-avatar-backend.md
1.02 KB
S1: 消息浏览页发送人头像支持
目标
修改 wechat_db.py 的 get_messages(),为每条消息提取发送人用户名(sender_username),
供后续 API 和前端查找头像。
涉及文件
wechat_db.py:get_messages()函数
数据流
get_messages()从 message 表查询消息- 群聊消息的 content 字段格式:
sender_username:\n<xml>... - 私聊消息的 talker 就是 sender_username(非 chatroom 后缀)
- 新增返回字段
sender_username
步骤
- 在
get_messages()的 SQL 中不加 JOIN(保持性能),在 Python 层提取 sender - 对于群聊(talker 含 @chatroom):从 content 提取
^([^:\n]+):\n前缀 - 对于私聊:sender_username = talker
- 对于自己发的(isSend=1):不需要 sender(自己发的消息用自己头像)
验证
- 写测试 test_s1_sender.py → RED(当前没 sender_username 字段)
- 改 wechat_db.py → GREEN
- smoketest
风险
- 某些 content 格式不一致(非标准 XML),正则需容错