diff --git a/src/views/message-center-view.jsx b/src/views/message-center-view.jsx index e7453762..6fc714ff 100644 --- a/src/views/message-center-view.jsx +++ b/src/views/message-center-view.jsx @@ -106,6 +106,14 @@ function draftyPreview(content) { const label = {IM: '[图片]', VD: '[视频]', AU: '[语音]', EX: '[文件]', TC: '[名片]', VC: '[通话]'}[content.ent[0].tp]; if (label) return label; } + // 服务端的 system_notice/system_action(好友通过、群成员加入、群邀请卡片等,见 chat-message.jsx + // 对 x-im-type 的处理)以及合并转发消息都不是 Drafty,也没有 `txt` 字段,真正的可读文案在 + // `text`(system_*)或 `comment`/`title`(forward_bundle)——原来这里只认 `txt`,这三类消息在 + // 会话列表的预览行一律回退成没有信息量的"[消息]",即使内容本身早就是一句完整人话 + // (比如"邀请你加入群聊。"),聊天页里点开看到的和列表预览完全对不上。 + if (typeof content.text === 'string' && content.text) return content.text; + if (typeof content.comment === 'string' && content.comment) return content.comment; + if (typeof content.title === 'string' && content.title) return '[聊天记录] ' + content.title; return content.txt || '[消息]'; }