From 878ce80ef3ca88a2c108fbc713cd6ea461c44de1 Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期三, 13 十月 2021 13:51:03 +0800
Subject: [PATCH] 拓扑图

---
 src/pages/desktop/index/App.vue |   78 +++++++++++++++++++++++++++++----------
 1 files changed, 58 insertions(+), 20 deletions(-)

diff --git a/src/pages/desktop/index/App.vue b/src/pages/desktop/index/App.vue
index 29c1394..08d5c56 100644
--- a/src/pages/desktop/index/App.vue
+++ b/src/pages/desktop/index/App.vue
@@ -1,8 +1,8 @@
 <template>
   <div id="app" @contextmenu.prevent>
-    <tools></tools>
-    <desktop></desktop>
-    <tools-entry ref="dock_model"></tools-entry>
+    <tools @jumpToDock="onJumpToDock"></tools>
+    <desktop ref="desktop"></desktop>
+    <tools-entry @changeBackground="onChangeBg" ref="dock_model"></tools-entry>
     <notice-tip ref="notice_tip_model"></notice-tip>
     <notification-center></notification-center>
   </div>
@@ -15,21 +15,41 @@
 import NoticeTip from './components/NoticeTip';
 import Tools from './components/Tools';
 import ToolsEntry from './components/ToolsEntry';
-import axios from 'axios'
 
 import { getApps } from '@/api/app'
-import { findAllSdk } from '@/api/taskMange'
+
+import config from '../../../../package.json'
 
 export default {
   name: 'app',
   components: {
     Desktop, NotificationCenter, NoticeTip, Tools, ToolsEntry
   },
-
+  data() {
+    return {
+      buttonAuthority: sessionStorage.getItem('buttonAuthoritys') || [],
+      defaultBgUrl:"/images/desktop/background.png"
+    }
+  },
+  computed: {
+    isAdmin() {
+      if (
+        sessionStorage.getItem('userInfo') &&
+        sessionStorage.getItem('userInfo') !== ''
+      ) {
+        let loginName = JSON.parse(sessionStorage.getItem('userInfo')).username
+        return (
+          loginName === 'superadmin' || loginName === 'basic'
+        )
+      }
+      return false
+    }
+  },
   mounted() {
-    document.getElementById('app').style.backgroundImage = process.env.VUE_APP_MAIN_URL;
+    // document.getElementById('app').style.backgroundImage = process.env.VUE_APP_MAIN_URL;
+    const url = localStorage.getItem("backgroundPic")
+    document.getElementById('app').style.backgroundImage = `url(${url||this.defaultBgUrl})`
     this.showApps();
-
     let _that = this;
     let msgResp = require("./mock/messages.json")
     if (msgResp.success) {
@@ -37,7 +57,6 @@
         _that.addMessage(item);
       })
     }
-
     let weather = require("./mock/weather.json")
     if (weather.success) {
       _that.addWeather(weather.data.data);
@@ -47,28 +66,44 @@
         id: 'N2',
         icon: '/images/desktop/message.png',
         tip: '娑堟伅',
-        title: 'SmartAi',
-        body: 'v1.0.0',
+        title: 'SmartAI',
+        body: 'V' + config.version,
         time: new Date()
       }, true);
     }, 1000);
     window.addEventListener('message', (e) => {
       if (e.data.msg == 'AppUpdate') {
-        console.log('搴旂敤鏇存柊')
         this.showApps();
       }
-    });
-    findAllSdk().then(() => {
-
+      if (e.data.msg=='checkSN') {
+        debugger
+        this.$refs.desktop.validateSn()
+      }
+      if (e.data.msg === 'changeColor') {
+        const iframeArr = document.querySelectorAll("iframe")
+        iframeArr.forEach(item=>{
+          item.contentWindow.postMessage({msg:'changeColor',color:e.data.color},"*")
+        })
+      }
     });
   },
   methods: {
+    onJumpToDock(name){
+      this.$refs.dock_model.onJumpToDock(name)
+    },
+    onChangeBg(v){
+       document.getElementById('app').style.backgroundImage = "url(" + v + ")"
+       this.defaultBgUrl = v
+      localStorage.setItem("backgroundPic", v)
+    },
     showApps() {
       let _that = this;
 
       getApps().then(rsp => {
         if (rsp && rsp.success) {
           _that.$store.state.desktop.docks = [];
+          let installedApps = [];
+          rsp.data
           rsp.data.forEach(function (item) {
             if (item.installed) {
               let temp = {
@@ -93,13 +128,16 @@
                 isDefault: item.isDefault
               }
 
-              _that.$store.commit('desktop/addDock', temp);
-              // console.log(item)
-              // console.log('apps update')
-              //console.log(this.$store.state.desktop.docks)
-            }
+              // 鍒ゆ柇鏉冮檺
+              if (_that.isAdmin || _that.buttonAuthority.indexOf(item.package) >= 0) {
+                _that.$store.commit('desktop/addDock', temp);
+              }
 
+              installedApps.push(item.package);
+            }
           });
+
+          sessionStorage.setItem("apps", installedApps.join(","));
         }
       })
     },

--
Gitblit v1.8.0