diff --git a/web/src/views/Psks.vue b/web/src/views/Psks.vue index f20cdba..3a09f10 100644 --- a/web/src/views/Psks.vue +++ b/web/src/views/Psks.vue @@ -166,7 +166,20 @@ const handleToggle = async (row) => { const copySecret = async (secret) => { try { - await navigator.clipboard.writeText(secret) + // 优先 clipboard API(需要 HTTPS) + if (navigator.clipboard && window.isSecureContext) { + await navigator.clipboard.writeText(secret) + } else { + // HTTP 降级:execCommand + const textarea = document.createElement('textarea') + textarea.value = secret + textarea.style.position = 'fixed' + textarea.style.opacity = '0' + document.body.appendChild(textarea) + textarea.select() + document.execCommand('copy') + document.body.removeChild(textarea) + } ElMessage.success('已复制到剪贴板') } catch { ElMessage.error('复制失败,请手动复制')