From 04e5d9e5447fcbbd96aa5778c73b1291082d5886 Mon Sep 17 00:00:00 2001
From: hanbaoshan <hanbaoshan@aiotlink.com>
Date: 星期六, 01 八月 2020 12:17:17 +0800
Subject: [PATCH] 应用最小化前保存应用快照用于桌面头部鼠标移入显示

---
 src/pages/desktop/index/components/DFrame.vue |   37 +++++++++++++++++++++++++++++--------
 1 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/src/pages/desktop/index/components/DFrame.vue b/src/pages/desktop/index/components/DFrame.vue
index 72e5d61..d172a75 100644
--- a/src/pages/desktop/index/components/DFrame.vue
+++ b/src/pages/desktop/index/components/DFrame.vue
@@ -8,7 +8,7 @@
     <div class="d-frame-title" v-drag @click="frameClick()">
       <div class="d-frame-title-operation">
         <i class="fa fa-circle d-frame-operation-close" @click="closeFrame()"></i>
-        <i class="fa fa-circle d-frame-operation-minus" @click="minFrame()"></i>
+        <i class="fa fa-circle d-frame-operation-minus" @click="minFrame(data)"></i>
         <i class="fa fa-circle d-frame-operation-full" @click="changeFullScreen()"></i>
       </div>
       <slot name="d-frame-title-content">
@@ -27,6 +27,7 @@
 </template>
 
 <script>
+import html2canvas from 'html2canvas'
 export default {
   name: "DFrame",
   props: {
@@ -60,13 +61,30 @@
     frameClick: function () {
       this.$store.commit('desktop/refreshFrame', this.data);
     },
-    minFrame: function () {
-      this.$store.commit('desktop/addMinDock', {
-        id: this.data.id,
-        src: this.data.icon,
-        alt: this.data.title,
-        type: "3"
-      });
+    minFrame: function (data) {
+      debugger
+      //鎵惧埌褰撳墠鐨刬frame
+      let curIframe = Array.from(document.querySelectorAll('iframe')).find(iframe => iframe.src.indexOf(data.url) >= 0);
+      debugger
+      //淇濆瓨褰撳墠搴旂敤蹇収
+      html2canvas(curIframe.contentWindow.document.body,{
+        dpi: window.devicePixelRatio*4,
+        logging: true, //鏌ョ湅html2canvas鍐呴儴鎵ц娴佺▼
+        removeContainer: true,
+        imageTimeout : 0, 
+        useCORS : true //寮�鍚法鍩熼厤缃�
+      }).then(canvas => {
+        let shotSrc = canvas.toDataURL();
+        debugger;
+        this.$store.commit('desktop/addMinDock', {
+          id: this.data.id,
+          src: this.data.icon,
+          alt: this.data.title,
+          type: "3",
+          screenshot: shotSrc
+        });
+      })
+
       //this.refreshDock();
     },
     refreshDock: function () {
@@ -131,6 +149,9 @@
 </script>
 
 <style scoped>
+html,body{
+  heiht: 100%;
+}
 .d-frame {
   position: fixed;
 }

--
Gitblit v1.8.0