Explorar el Código

fix:大屏编辑页面复制编码功能优化,不使用Clipboard API

hong.yang hace 1 año
padre
commit
90c39e7b86
Se han modificado 2 ficheros con 17 adiciones y 11 borrados
  1. 1 1
      data-room-ui/package.json
  2. 16 10
      data-room-ui/packages/BigScreenList/EditForm.vue

+ 1 - 1
data-room-ui/package.json

@@ -3,7 +3,7 @@
   "version": "2.0.1-2024010901-Alpha",
   "description": "自定义大屏",
   "author": "gcpaas",
-  "license": "MIT",
+  "license": "Apache-2.0",
   "main": "packages/index.js",
   "keywords": [
     "dataRoom",

+ 16 - 10
data-room-ui/packages/BigScreenList/EditForm.vue

@@ -414,16 +414,22 @@ export default {
      * 复制大屏编码
      */
     copyCode () {
-      let code = this.dataForm.code
-      navigator.clipboard
-        .writeText(code)
-        .then(() => {
-          this.$message.success("复制成功");
-        })
-        .catch(err => {
-          this.$message.error("复制失败,请手动复制");
-          console.error(err);
-        })
+      try {
+        let code = this.dataForm.code
+        const transfer = document.createElement('input')
+        document.body.appendChild(transfer)
+        transfer.value = code
+        transfer.focus()
+        transfer.select()
+        if (document.execCommand('copy')) {
+          document.execCommand('copy')
+        }
+        transfer.blur()
+        transfer.style.display = 'none'
+        this.$message.success('复制成功')
+      } catch (e) {
+        this.$message.error('复制失败, 请手动复制')
+      }
     }
   }
 }