From aaf3198eb598932a788561d715bdf2a91330d259 Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期四, 13 八月 2020 14:53:19 +0800
Subject: [PATCH] 左侧树高度超出显示滚动条,鼠标移入应用小图标显示实时快照,样式调整

---
 src/pages/desktop/index/components/Tools.vue |   34 ++++++++++++++++++++++++++++++++--
 1 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/src/pages/desktop/index/components/Tools.vue b/src/pages/desktop/index/components/Tools.vue
index 2cda1d5..81393fd 100644
--- a/src/pages/desktop/index/components/Tools.vue
+++ b/src/pages/desktop/index/components/Tools.vue
@@ -12,11 +12,11 @@
       </div>
     </div>
     <div class="tools-middle">
-      <div v-for="dock in $store.state.desktop.minDocks" :key="dock.id" class="dock-item-wrap" :class="{'actived':dock.highlight}">
+      <div v-for="dock in $store.state.desktop.minDocks" :key="dock.id" class="dock-item-wrap" :class="{'actived':dock.highlight}" @mouseover="screenShot(dock)">
         <a @click="dockClick(dock)">
           <img class="dock-item" :src="dock.src" :alt="dock.alt" />
           <img class="dock-shot" :src="dock.screenshot" v-if="dock.screenshot"/>
-          
+          <!-- <iframe class="dock-shot" :src="dock.url"  ></iframe> -->
         </a>
       </div>
     </div>
@@ -49,6 +49,7 @@
 </template>
 
 <script>
+import html2canvas from 'html2canvas';
 import {logout} from "@/api/login";
 export default {
   name: "Tools",
@@ -139,6 +140,33 @@
         this.$store.commit("desktop/refreshFrame", dock);
       }
     },
+    screenShot(dock){
+      debugger
+      //鎵惧埌褰撳墠鐨刬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:''});
+      });
+    },
     toLogout(){
       this.$confirm("鎻愮ず锛氱‘瀹氶��鍑哄悧锛�", {
         center: true,
@@ -197,6 +225,7 @@
   float: left;
   position: relative;
 }
+
 .tools .tools-middle::before {
   width: 1px;
   height: 20px;
@@ -232,6 +261,7 @@
 }
 .dock-item-wrap .dock-shot {
   visibility: hidden;
+  /* transform: scale(0.5); */
   width: 100px;
   height: 46px;
   position: absolute;

--
Gitblit v1.8.0