/**
 * 处理复制
 * @param data
 * @param message
 * @returns {Promise<void>}
 */
const handleCopy = async (data, message) => {
    // 检查是否在安全上下文中 (HTTPS 或 localhost)
    const isSecureContext = window.isSecureContext || location.protocol === 'https:';
    
    if (isSecureContext) {
        try {
            // 使用现代剪贴板 API
            await navigator.clipboard.writeText(data);
            message.success('已复制到剪贴板');
        } catch (err) {
            message.error('现代剪贴板API错误:', err);
            useFallbackCopy(data, message);
        }
    } else {
        // 非安全上下文直接使用回退方法
        useFallbackCopy(data, message);
    }
}

// 回退复制方法
function useFallbackCopy(data, message) {
    try {
        const textarea = document.createElement('textarea');
        textarea.value = data;
        
        // 设置样式确保元素在视口外但可交互
        textarea.style.position = 'fixed';
        textarea.style.top = '0';
        textarea.style.left = '0';
        textarea.style.opacity = '0';
        textarea.style.pointerEvents = 'none';
        
        document.body.appendChild(textarea);
        textarea.select();
        
        // 尝试执行复制
        const success = document.execCommand('copy');
        document.body.removeChild(textarea);
        
        if (success) {
            message.success('已复制');
        } else {
            throw new Error('回退复制方法失败');
        }
    } catch (err) {
        message.error('复制失败，请手动复制内容');
    }
}
export default handleCopy
