From 59ad7ba6452b2028fd7faca000c626a148256620 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@iotlink.com>
Date: 星期二, 01 九月 2020 23:29:50 +0800
Subject: [PATCH] fix: do not allow empty data to be saved. for area manager

---
 src/pages/desktop/index/App.vue |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/src/pages/desktop/index/App.vue b/src/pages/desktop/index/App.vue
index 73741ab..a89ad1d 100644
--- a/src/pages/desktop/index/App.vue
+++ b/src/pages/desktop/index/App.vue
@@ -1,5 +1,5 @@
 <template>
-  <div id="app">
+  <div id="app" @contextmenu.prevent="">
     <tools></tools>
     <desktop></desktop>
     <tools-entry ref="dock_model"></tools-entry>
@@ -9,6 +9,7 @@
 </template>
 
 <script>
+import html2canvas from 'html2canvas';
 import Desktop from './components/Desktop';
 import NotificationCenter from './components/NotificationCenter';
 import NoticeTip from './components/NoticeTip';
@@ -57,13 +58,39 @@
   methods: {
     addMessage: function (message, ding) {
       this.$store.dispatch('desktop/addMessage', message);
-      if (ding) {
-        new Audio('sounds/ping.mp3').play();
-      }
+      // if (ding) {
+      //   new Audio('sounds/ping.mp3').play();
+      // }
       this.$refs.notice_tip_model.showTip(message);
     },
     addWeather: function (weather) {
       this.$store.commit('desktop/addWeather', weather);
+    },
+    screenShot(dock){
+      //鎵惧埌褰撳墠鐨刬frame
+      let curIframe = Array.from(document.querySelectorAll('iframe')).find(iframe => iframe.src.indexOf(dock.url) >= 0);
+      //淇濆瓨褰撳墠搴旂敤蹇収
+      html2canvas(curIframe.contentWindow.document.body, {
+        dpi: window.devicePixelRatio * 4,
+        logging: true, //鏌ョ湅html2canvas鍐呴儴鎵ц娴佺▼
+        removeContainer: true,
+        imageTimeout: 0,
+        useCORS: true, //寮�鍚法鍩熼厤缃�
+        //allowTaint: true
+      }).then(canvas => {
+        let shotSrc = canvas.toDataURL();
+        // this.$store.commit('desktop/addMinDock', {
+        //   id: dock.id,
+        //   src: dock.icon,
+        //   alt: dock.title,
+        //   type: "3",
+        //   screenshot: shotSrc
+        // });
+        this.$store.commit('desktop/shotscreen', {id:dock.id, src:shotSrc});
+        
+      }).catch(e => {
+        this.$store.commit('desktop/shotscreen', {id:dock.id, src:''});
+      });
     }
   }
 }

--
Gitblit v1.8.0