hanbaoshan
2020-10-14 d5144e7cb7ccf2795e02098b850e282eb2a6e74f
src/pages/desktop/index/App.vue
@@ -1,5 +1,5 @@
<template>
  <div id="app" @contextmenu.prevent="">
  <div id="app" @contextmenu.prevent>
    <tools></tools>
    <desktop></desktop>
    <tools-entry ref="dock_model"></tools-entry>
@@ -17,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) {
@@ -54,8 +52,57 @@
        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) {
@@ -66,7 +113,7 @@
    addWeather: function (weather) {
      this.$store.commit('desktop/addWeather', weather);
    },
    screenShot(dock){
    screenShot(dock) {
      //找到当前的iframe
      let curIframe = Array.from(document.querySelectorAll('iframe')).find(iframe => iframe.src.indexOf(dock.url) >= 0);
      //保存当前应用快照
@@ -86,10 +133,10 @@
        //   type: "3",
        //   screenshot: shotSrc
        // });
        this.$store.commit('desktop/shotscreen', {id:dock.id, src:shotSrc});
        this.$store.commit('desktop/shotscreen', { id: dock.id, src: shotSrc });
      }).catch(e => {
        this.$store.commit('desktop/shotscreen', {id:dock.id, src:''});
        this.$store.commit('desktop/shotscreen', { id: dock.id, src: '' });
      });
    }
  }