/**
 * 复制文本到剪贴板
 * @param {string} text 要复制的文本
 * @returns {Promise<boolean>} 是否复制成功
 */
export const copyDomText = (text) => {
  // 优先使用 navigator.clipboard API (现代浏览器)
  if (navigator.clipboard && window.isSecureContext) {
    return navigator.clipboard.writeText(text)
      .then(() => {
        return true;
      })
      .catch((error) => {
        console.error('复制到剪贴板失败:', error);
        return fallbackCopyTextToClipboard(text);
      });
  } else {
    // 回退方案
    return fallbackCopyTextToClipboard(text);
  }
};

/**
 * 使用传统方法复制文本到剪贴板
 * @param {string} text 要复制的文本
 * @returns {boolean} 是否复制成功
 */
const fallbackCopyTextToClipboard = (text) => {
  try {
    const textArea = document.createElement('textarea');
    textArea.value = text;
    
    // 避免滚动到底部
    textArea.style.top = '0';
    textArea.style.left = '0';
    textArea.style.position = 'fixed';
    textArea.style.opacity = '0';
    
    document.body.appendChild(textArea);
    textArea.focus();
    textArea.select();
    
    const successful = document.execCommand('copy');
    document.body.removeChild(textArea);
    
    return successful;
  } catch (err) {
    console.error('复制到剪贴板失败:', err);
    return false;
  }
}; 