/** * 会话列表「最后一条消息」预览文案(与患者端 ChatManager.getMessagePreview 对齐) * @param {Object} message * @returns {string} */ export function getMessagePreview(message) { if (!message || message.message_type === undefined) { return '您有一条新消息'; } const messageType = message.message_type; const content = message.message_content; switch (messageType) { case 0: return content != null ? String(content) : ''; case 1: return '[图片]'; case 2: return '[语音消息]'; case 3: return '[视频]'; case 4: return '[处方单]'; case 5: return '[文件]'; case 6: return '[视频通话]'; case 7: return '[语音通话]'; case 9: try { const parsed = typeof content === 'object' ? content : JSON.parse(content); if (parsed.type === 'price_update') { return parsed.message || '[价格更新]'; } if (parsed.type === 'price_adjust') { return parsed.message || '[价格调整]'; } return '[系统消息]'; } catch (e) { return '[系统消息]'; } case 10: return '[挂号信息]'; case 11: return '[就诊信息]'; case 12: return '[商品推荐]'; case 13: return '[问诊已结束]'; default: return '您有一条新消息'; } }