/**
 * 会话列表「最后一条消息」预览文案（与患者端 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 '您有一条新消息';
  }
}
