import { ElMessage } from 'element-plus'

export function copyToClipboard(text) {
  // 方案1：使用现代 Clipboard API
  if (navigator.clipboard && navigator.clipboard.writeText) {
    return navigator.clipboard.writeText(text).catch((err) => {
      console.error('Clipboard API 写入失败：', err);
       ElMessage.error('复制失败')
      // 降级到传统方案
      fallbackCopyText(text);
    });
  } 
  // 方案2：降级使用传统方法
  else {
    fallbackCopyText(text);
  }
}

// 传统复制方法
function fallbackCopyText(text, typeName = '内容') {
  const textarea = document.createElement('textarea');
  textarea.value = text;
  textarea.style.position = 'fixed';
  textarea.style.opacity = '0';
  document.body.appendChild(textarea);
  
  try {
    textarea.select();
    textarea.setSelectionRange(0, 99999); // 对于移动设备
    document.execCommand('copy');
    console.log('传统方法复制成功');
     ElMessage.success(`${typeName}已复制`)
  } catch (err) {
    console.error('传统方法复制失败：', err)
     ElMessage.error('复制失败');
  } finally {
    document.body.removeChild(textarea);
  }
}

export default {
  copyToClipboard
}
