From d0975268a963a8e7b62cae4abe47b1247fdff022 Mon Sep 17 00:00:00 2001
From: HandSonic <8078023+HandSonic@users.noreply.github.com>
Date: Sat, 14 Sep 2024 20:48:21 +0800
Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=96=B0=E5=A4=8D?=
 =?UTF-8?q?=E5=88=B6=E6=BF=80=E6=B4=BB=E7=A0=81=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/main/resources/static/js/index.js | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/main/resources/static/js/index.js b/src/main/resources/static/js/index.js
index a35bbc3..5ef82a9 100644
--- a/src/main/resources/static/js/index.js
+++ b/src/main/resources/static/js/index.js
@@ -59,8 +59,11 @@ $(document).ready(function() {
         $.post('/generateLicense', JSON.stringify(data))
             .then(response => {
                 copyText(response)
-                    .then((result) => {
-                        alert(result);
+                    .then(() => {
+                        alert("已复制成功");
+                    })
+                    .catch(() => {
+                        alert("系统不支持复制功能,或者当前非SSL访问,若为Local环境,请使用127.0.0.1或者localhost访问.");
                     });
             });
     };
@@ -68,11 +71,19 @@ $(document).ready(function() {
 // Function to copy text to clipboard
     const copyText = async (val) => {
         if (navigator.clipboard && navigator.permissions) {
-            await navigator.clipboard.writeText(val);
-            return "已复制成功";
+            return navigator.clipboard.writeText(val);
         } else {
             console.log(val);
-            return "系统不支持复制功能,或者当前非SSL访问,若为Local环境,请使用127.0.0.1或者localhost访问.";
+            const textArea = document.createElement('textarea')
+            textArea.value = val
+            // 使text area不在viewport,同时设置不可见
+            document.body.appendChild(textArea)
+            textArea.focus()
+            textArea.select()
+            return new Promise((res, rej) => {
+                document.execCommand('copy') ? res() : rej()
+                textArea.remove()
+            })
         }
     };