From d5144e7cb7ccf2795e02098b850e282eb2a6e74f Mon Sep 17 00:00:00 2001 From: hanbaoshan <hanbaoshan@aiotlink.com> Date: 星期三, 14 十月 2020 10:27:07 +0800 Subject: [PATCH] 集群节点展示测试 --- src/pages/desktop/index/App.vue | 98 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 86 insertions(+), 12 deletions(-) diff --git a/src/pages/desktop/index/App.vue b/src/pages/desktop/index/App.vue index 73741ab..29c1394 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'; @@ -16,22 +17,20 @@ import ToolsEntry from './components/ToolsEntry'; import axios from 'axios' +import { getApps } from '@/api/app' +import { findAllSdk } from '@/api/taskMange' + export default { name: 'app', components: { Desktop, NotificationCenter, NoticeTip, Tools, ToolsEntry }, - + mounted() { document.getElementById('app').style.backgroundImage = process.env.VUE_APP_MAIN_URL; - let _that = this; - let user_res = require("./mock/userData.json") - if (user_res.success) { - user_res.data.docks.forEach(function (item) { - _that.$store.commit('desktop/addDock', item); - }); - } + this.showApps(); + let _that = this; let msgResp = require("./mock/messages.json") if (msgResp.success) { msgResp.data.forEach(function (item) { @@ -53,17 +52,92 @@ time: new Date() }, true); }, 1000); + window.addEventListener('message', (e) => { + if (e.data.msg == 'AppUpdate') { + console.log('搴旂敤鏇存柊') + this.showApps(); + } + }); + findAllSdk().then(() => { + + }); }, methods: { + showApps() { + let _that = this; + + getApps().then(rsp => { + if (rsp && rsp.success) { + _that.$store.state.desktop.docks = []; + rsp.data.forEach(function (item) { + if (item.installed) { + let temp = { + id: item.id, + create_by: item.create_by, + create_time: item.create_time, + height: item.height, + icon: item.icon, + src: item.iconBlob ? 'data:image/png;base64,' + item.iconBlob : item.icon, + installed: item.installed, + isDelete: item.isDelete, + isUpgrade: item.isUpgrade, + title: item.title, + name: item.package, + remoteVersion: item.remoteVersion, + type: item.type, + update_by: item.update_by, + update_time: item.update_time, + url: item.url, + version: item.version, + width: item.width, + isDefault: item.isDefault + } + + _that.$store.commit('desktop/addDock', temp); + // console.log(item) + // console.log('apps update') + //console.log(this.$store.state.desktop.docks) + } + + }); + } + }) + }, 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