From 4a800a8fc83c6bd1f86a8e847b079a51a7532c09 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 20 七月 2022 15:05:58 +0800
Subject: [PATCH] 修复国标配置的bug

---
 src/pages/desktop/index/components/ToolsEntry.vue |  398 +++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 319 insertions(+), 79 deletions(-)

diff --git a/src/pages/desktop/index/components/ToolsEntry.vue b/src/pages/desktop/index/components/ToolsEntry.vue
index 55084be..dda3333 100644
--- a/src/pages/desktop/index/components/ToolsEntry.vue
+++ b/src/pages/desktop/index/components/ToolsEntry.vue
@@ -1,125 +1,365 @@
 <template>
   <div class="tools-entry">
     <div class="entry-wrap">
-      <div class="app-list clearFix">
-          <div class="app" v-for="dock in this.$store.state.desktop.docks" :key="dock.id" @click="dockClick(dock)">
-            <div class="wrap">
-              <div class="app-icon">
-                <img :src="dock.src" :alt="dock.alt">
+      <el-carousel
+        :height="rowSize == 3 ? '600px' : '770px'"
+        :autoplay="false"
+        arrow="never"
+        :indicator-position="carousels.length == 1 ? 'none' : ''"
+      >
+        <el-carousel-item v-for="(carousel, index) in carousels" :key="index">
+          <div class="app-list clearFix sdk-list">
+            <!-- <draggable v-model="carousel" @start="drag=true" @end="drag=false"> -->
+            <div v-for="item in carousel" :key="item.id">
+              <div class="app" v-if="item.url && !item.sdk_name" @click="dockClick(item)">
+                <div class="wrap">
+                  <div class="app-icon">
+                    <div class="badge" v-if="item.name == 'algorithmManage' && badgeNum > 0">
+                      {{ badgeNum }}
+                    </div>
+                    <img :src="item.src" :alt="item.alt" />
+                  </div>
+                  <div class="app-name">{{ item.title }}</div>
+                </div>
               </div>
-              <div class="app-name">{{dock.name}}</div>
-            </div> 
+              <div class="app sdk" v-if="item.sdk_name">
+                <div class="wrap">
+                  <div class="app-icon">
+                    <img
+                      :src="item.iconBlob.indexOf(',') > 0 ? item.iconBlob : `data:image/png;base64,${item.iconBlob}`"
+                    />
+                  </div>
+                  <div class="app-name">{{ item.sdk_name }}</div>
+                </div>
+              </div>
+            </div>
           </div>
+        </el-carousel-item>
+      </el-carousel>
+
+      <div class="logo">
+        <img :src="`${publicPath}images/desktop/desk-logo.png`" alt />
       </div>
     </div>
   </div>
 </template>
 
 <script>
+import draggable from "vuedraggable";
+import { findAllSdk } from "@/api/taskMange";
+import bus from "@/plugin/bus";
 export default {
-  name:'toolsEntry',
-  data(){
+  name: "toolsEntry",
+  data() {
     return {
       publicPath: process.env.BASE_URL,
-      // applist:[
-      //   {src: `/images/app-mid/camera-access.png`, name:'鎽勫儚鏈烘帴鍏�'},
-      //   {src: `/images/app-mid/datastack-config.png`, name:'鏁版嵁鏍堥厤缃�'},
-      //   {src: `/images/app-mid/DVR-access.png`, name:'纭洏褰曞儚鏈烘帴鍏�'},
-      //   {src: `/images/app-mid/data-push.png`, name:'鏁版嵁鎺ㄩ��'},
-      //   {src: `/images/app-mid/GB-config.png`, name:'GB28281閰嶇疆'},
-      //   {src: `/images/app-mid/scene-config.png`, name:'鍦烘櫙閰嶇疆'},
-      //   {src: `/images/app-mid/library.png`, name:'姣斿搴撶鐞�'},
-      //   {src: `/images/app-mid/poll.png`, name:'杞绠$悊'},
-      //   {src: `/images/app-mid/algorithm-manage.png`, name:'绠楁硶绠$悊'},
-      //   {src: `/images/app-mid/algorithm-store.png`, name:'绠楁硶鍟嗗煄'},
-      //   {src: `/images/app-mid/hashrate-manage.png`, name:'绠楀姏绠$悊'},
-      //   {src: `/images/app-mid/monitor.png`, name:'瀹炴椂鐩戞帶-鍦ㄧ嚎鎾斁'},
-      //   {src: `/images/app-mid/search.png`, name:'妫�绱�-缁熻鏌ヨ'},
-      //   {src: `/images/app-mid/360.png`, name:'鍏ㄦ櫙瑙嗛'},
-      //   {src: `/images/app-mid/log-manage.png`, name:'鏃ュ織绠$悊'},
-      //   {src: `/images/app-mid/device.png`, name:'璁惧绠$悊'},
-      //   {src: `/images/app-mid/settings.png`, name:'绯荤粺璁剧疆'},
-      //   {src: `/images/app-mid/vindicate.png`, name:'绯荤粺缁存姢'}
-      // ]
+      loading: true,
+      installedSdk: []
+      // sdkList: [
+      //   {
+      //     src: 'data:image/png;base64,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',
+      //     title: '涓綋闈欐'
+      //   },
+      //   {
+      //     src: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACAEAYAAACTrr2IAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAAFGhJREFUeNrt3XlcTXkfB/DP79wipcFYSlSWjH0Za1QiimJGzzPTWIcZsj/WYTBknTEzsmRNUcgwY3g09iXLtKBQQ5ZXHkSlooRokbrn+/xBZkaaVs697vf9n3vP/d3P+eV+Xveee+7vCDCdZE/OVu4r69alveoRtNfJiT6mmThmYYEpyBF7a9US1riGFTk51EBEUpXERCyQE8S2S5fShlW7lP7FyZNXP9u5a+euZ8+U3g9WNkLpAOztsFvZy8V9Wr9+ojHVpeGzZiEMH4gnHTsiBEexQRT//8EEXMF3jx+THZpj9i+/6H+dZ6qXvHDhiYATAesPJCYqvZ+sZLgA3lEOQx2GjulTp05ejt6DvEXbtyMZz7Cua9dyf6K28KCF2dm4I2YKJw+PkF1HTm28vGyZ0vvPiocL4B1ja+vk5O7erp00FI1hvXcvfsI1hJuZvbUAYfQbwgMCMts8sJU6u7tHRkVG+W7IzVV6XtjrSUoHYOXDoarLv0eYWlpK7jAi74MH3/oLP5+tcIX10KGGP1e3V3f38lJ6Xtg/4wLQcvZkT/NITy9vf94VcWnPHvgjU4ytVUvpXGIkrogT48Z13eoU5R46dKjSedjrcQFoOXmJwYjE++7u+AaWmNW6tdJ5ClBjEVl7etpU/zhs+HRjY6XjsL/jAtBSbm5ubm5uKhU60SCS5sxROk+hXrwjUXXPmSEdGjVK6Tjs77gAtNRd3/Qb74Xa2Ii5WCJm1KmjdJ4iuVNz+tXNTekY7O+4ALTVUXFB/NGnj9Ixik1F48VnHTrYPnG2+vK7mjWVjsOe4wLQVvXJD1aNGikdo9gWiemwliRV5dyJqsoNGyodhz3HBaClhCO1Q6SpqdI5SoqmqGzITYGvJ9lrcQFoqx1iLcmS1v39yJ4aSvElOPWYvVFa9x+IvXCdXETD+/eVjlFi3dBddk1NVToGe44LQFvNQX3cunBB6RjF1hVOGEkkVc2JykuOjlY6DnuOC0BLyXfQQxwPClI6R3FRD7TH8oiIYBEstohHj5TOw57jAtBSYcZdUs3GhYaiAqrhwa1bSucpijCCszDZulXpHOzvuAC01gKxQMgytaAz9O3ixUqnKdQQNIZ1UtKz2o//V3nApk1Kx2F/xwWg5UK9usTVbervj9qogHEhIUrnKeCq+IJcJkwINw83X9ElO1vpOOzvuAC03vN3Aupj8mb554ED8R4y8J+EBKVTicvohHBPzxCvI+38zHbvVjoPez0ugHfEqbRjNfw9k5LEPrSQ1jk50UyajJZxcW89yDNxlZquXBn8oPPCOpdmzlR6Xtg/4xMy3lEO4Q7h7i1MTPIs9CYhdP16DEAVTHd1Le/noU2oh1vp6TDHDpoyaVJohaPpfn23bFF6/1nxcAHoiK5VHC+6xzg4YKloiE+//pqGwAoje/YUvdAKl1SqYg9UCzEIT06mHqI2UjZtoiFSmnqSl1eY8aEbm2bzCT7ahgtASzhedLz4eS0jo6e/S7MqDu3ZE41oJczr1xe70EAsqVgRK8Ug8jt9OsT4yI6NvUNDixov/1d5wl/+QPWwSxdxkfaJn5s0QRD9Iv9SrRrGi/1Iys0V1zEYfZOSZDsxBusjI0O/sE6oO/X8+fxjD4WNb0/2NIwMDKhDheH6HiNGoJXYKDZVrowhcCbnhw9xRVZL4syZkAnHjvtuuHRJ6fnVVVwAGsrZytlqwsGKFTPd1R2ynsyZQ0PxWFSZMkUMQC52GRkVeIAHeSJclumB1AZBS5emifc+SZ/g4fG21++369R7gHuLVq2wQ66A77dtE0NxF3tatChse1qKAZh7/rzUQd4mLZoyJVgcO+67ISxMoWnXOVwAGqZnj549Ro2sUuVZXemu/OvBg7iFOnDr0qXEA+WfIBRL3cj0xx+NJL1lhn03bz5049CN1S45OeWV16Z67/bDpzdurPpEbiv1nzULVdEdywYNQjg2wUhfv9gDPUVtWpGXh9loAtfRo0P6HZ3ld9zf/+3Muu7iAtAwXW2cDrmPP3AAKqxAjotLuQ08HEbknZKC06gpLh46RHtovNA/fJiWyMtgGxWlGpq3Rd8vKSlYBIt1n2Vk5C85lvJrppvhrzVrylvUU/WWW1jgqHwA8T16CLWYLYb17g13+g5DbW3zf+9f5pz5RXCNporEXr1C0oNab2xy4oSSf5N3GReAhrA97zRqRFtXV2kqbou2gYGKBfkKQUjNyoIhXcBNA4Nye2GX1FKE4sqVKyEdO2fVOd2qVVHHHFjp8HkAGkKY4AF2asCimcvgiJqGhoq98PNNgx2aN29uT6d6Jo8qxUcgVixcAJpChWxx/Q1cukvLyYPFcrWhnZ3SOd5VXAAKy18vv9Cj+7pusogU7bRv6TNtwQWgMPWFnAHCtARHy3XNdhqEKjw/bwoXAGM6jAuAMR3GBcCYDuMCYEyHcQEwpsO4ABjTYVwAjOkwLgDGdBgXAGM6jAuAMR3GBcCYDuMC0FJkLNvAq3dvEayKRUtzc6XzFGopVtLEzZtlWe2h9mjYkI4hQuw4eVLpWOw5LgBtNU8yF15PngBZ1yvU1uCLbU4UjghKTw8LO263yTI2VvjQFrqflaV0LPYcFwBjOowLgDEdxgXAmA7jAmBMh3EBMKbDuAAY02FcAIzpMC4AxnQYFwBjOowLgDEdxgWgMPmpZPD0dl5eSR9Hh6mdiFOrlc5f4tydxAO8X/zLlYvL4jG28DUB3xQuAIWdbXToxrbVT54gHe1h9fRpUdvTEUSjpVqNKXqf5NaLjVU6f0mJEwgi/ytXiv2AFrhGa5KTlc79ruIC0AhEEHCnHkePFrWl6C70KG/NmjDjQzc2zU5NVTp5SeldzdPXD1i/Hs3JE2ZPnhT5gEHSb9IPRc8LKx0uAA2hd1tvGj6aOBGraDsGXrv28o628KCF2dk0UKRj7+LFRvclA8OmM2Yonbe0TgScCFh/IDFRrg1IyY6OtAvPsDkm5uUGHuSJcFmmOfiBZixfHtLx8LINq86dUzr3u0pP6QDsuROPDu72uxsXhzbYjR5NmjiEO4S7tzAxuRtffenjiQ8fXv1sZ8TOlBefnV2UTlt2YXODWvtuiIjAXABo2tSmes/7w6uZmRlspal5Vjk5xwOOBwQ0SktTOue7jgtAQ52wPmG98fK9ewCAy0qnefNOpR2r4e+ZlIQApZPoFv4IwJgO4wJgz704KEe/AoCvL0biBww7flzpWOzN4gJgz10Xi3H5/v1Q06NHN24cPVr8RF1wz89P6VjszeICYEyHcQEwpsO4ABjTYVwAjOkwLgDGdBgXAGM6jAuAMR3GBcCYDuMCYEyHcQEwpsO4ABjTYVwAjOkwLgDGdBgXAGM6jAuAMR3GBcCYDuMCYEyHcQEwpsO4ABjTYW9tWXDHi5/XunvEyCjnK8O9eT5mZuoZ5Cf/YWIi5qtUdNLAQOmJeJW0TU6g3ZmZFdOzzhk0j44Oar01xbRXZqbSuRgrT+VeADY/jG8a36V5c9X3ai/5+MCB1BojxJiPPnr6H/TNadKqFYDNWAFIC4UKACCR0nPwWvS5MBefAE+bGJ3KeZSdbec9+lFcuxUrpDGmVSzOzZsXLBYIIZX8op6MaZIyF4Ct7dixcXENGsBJXiK2Llok2qgdqd6AAdQKgSJFkkDoi4VK72YZxGAAqlaqhBgxE7u/+Ub+191P4xNq1Hh+5+jRSsdjrCxKfQzA1mbsmLjbbm7wowXYEx0tgsR0+nzQIHyHNrCT3t1jC6tETcSNHGlPY47EJ7dooXScjPbGkXnHyuHy2c74F6bRy7djZCONET+Ww+XHJ8sHxD7SzLd5rOQFYDt4TNX467NnC3sai/gdO4Q75qKfkZHSO/LWhMIblkLIzTEHPzk6Kh0nMnJ/e1/frCxY0U/46eHDUg9khVs495fLcA/FeLVPQkKZA+6SxuH+nTtKzxN7vWIXgN2zsSbxg4YNE/EYQBW+/Tb/haD0DiiFPsR1uBoaKp3jZZ7Vop2oGhhY6gE6UyJ12bs3/5/C8qmV+YfnztFJ/E6zb98u8XhPUZtW5OXhkZyp2vjnuEyzFFkANtVHD4+f3r493admOODjo3RgTUEOwkpeExWldI6XZgsv8fGcORiCxrBOSir24zqTJypHR2c6V/xCtWHNmvybg0WwWCDy8qSamCE+GjUKM2krhry4OnFx5ieCNqPyd9+FHAu64GN9/brS08Ner8gCEJvFDWqzfLnoj8YUXbGi0oEVt55miUkXLpgdvl/f0uvoUaXj5Av1OvKJr29yshgpVqlG2NggEJE4vH8/HUE0Wv75WZ72IBXHcnLQBPUwZssW+VSFb/RzunV7+VHiFcEPji7aeDkoSDjTIGlbjx64SJ6YduYMusIJI/9yzGACeWL3zZvCVOQicfjwUBEk/MT8+UrPC/tnhb6Ft5s89o84pz59EEk+2LB/v9JBFTeAJiPtyhVpHBrLH/btGyx8RH1RirfGb1nH685Wgye8916FL59tqjCtRo28nzPrVU1MTg43Dzdf0SU7u7TjWidYJ0w5XamS/LRa95Sf9fXPNjp0Y9vqx4+V3l9WMv9QAKNvxDkFBiJSLMUGV9cyP5MdxiKOCD5kJQaeOYN4MRJLYmLwhIaTrQZ+nx4trUS3jAwRTvGidkRE5m9yx5SVgYGRUb4b2nfIzVU6HmPloUABWCdMOZ2wrFIlvaxsK1k/NbXMR/kbIwYUGysHUgOxtn//U2k+/hae588rveOMsdecCKSqm9U5b2qnTqKrGCvFl+GFfxMJ8MrIUDvJH4i+Tk6n03x9LTxv3lR6hxljfypQAJK1dFxyr1sXFQiYW4aRf0Mslvj7n+7oe8BCn1/4jGmigt8CrJbzcNDUtKwD0xRhj8SwMKV3kDFWuIIF8IXwEFPL4RTQw3JHbONTQBnTZAULIA3fYshfTgktrRR0hJGNjdI7yBgrXIECoJ8xlg6X/Rxw4SESxYURIzpHjR8Um2VpqfSOMsYKKlAA2dPkHqktzp7FBfIQ9R49KvXICQikBcbGeg7qpqr5QUF2ncYeu9O8VSuld5gx9qfCTwQKHHMzrvH27VgOTxwdOLDMzzQbFxAqy/CjM/gtNJT8hYeoeumS1IyMyKP8V9qh/4oAmFWqhFAEw+6DD/AIdthRs+Ybnk/GSiaGYvBVRgZ5inVCunNH/E8cpnP37tEC1MHJ8HCKyTHOPnb48Kk0f88m7k+elPfTF1oAtk/Gbk9YZm8vXChE/vT335WeJ8Z0Ee3ANdEqJ0fcQXssOnhQ6oCecJs7N1is72VR+/Llso5f5M957RqPjo6vv38/aol19HufPkpPCGO6jA6iC35Sq0UTjBMnN23KMpUH6dWfNCky0tfXbEPBH3MVpchfA0oxtEYdO20azPEvMa/834IwxopPuOA0hqhUaIAh5OfuXmmPpM47HRZmd3ZsWuIic/OSjldkAQQLX9/6IiZG9qD+2Dd48MvP8owxxYmB0KeDH36I+/L76lOhoV1ajTlys1atWsV+fEmfsGuV0RNvZ48YQV8KPcnN2xuRyKK1+vpKTwRjDMAHqIHqp06l9UqLyfjCweHqZzt3Nd9V+EIuJV4TMCTdZ1W9Sn5+tEi0F90dHVGBFmNOaqrS+80YA/A/3EeajU11xxqZlfd9/XVRm5d69d4wY+9B5l8FB8sXcr/Ptm/YECHkDYsFC9AEv+BR6ReaYIyVg+YkYdyMGZ22u7eI9TUxKWyzcl/UM/8JK87R66S30tWVgrEPLv360XVUpmYdO4p5cIJD9epKzw9jxfLiZ+3oAENMfgMLwdRCEB4ZGLy8/kQ5o/7UTER++23Yf3wmWvzbw+PV+9/6qr72NIxukYHBsz8qD6ZsExPVRLmKKlWlets5GPsn8mNyzeuQkXE6en2vhikpKW/6+expNN2ievXkIOljqcGECZApFYsmTy7zdTZeLGUXOt6niWXbgtex0NllvRnTZLbLx/jEHfr8cxGIP9AsIKCs46mdZFncsLI67eHra9Hjz/U53t0r+DCmxcKmrh9t6bx1K7Zjt1hz6FBZx5MsJH1Kb9q0wO1K7yhj7B8swy26uHt3mcfZIGS0MzN79WYuAMY0mEgV1UTrsh+DEFvIUnR7//1Xb+cCYEyT5ZCPPKxRo7IOI9pSkny14Pk6XACMaSB7mkck6+lRNh4Jy+HDyzqePBy7VesSE1+9nQuAMQ2S/8KX694zTnDy9sZjXMODZs1KPeCLC/JQgH5buhsd/erd/DXgO8aeJtEtqlo1d2fuTqBePWkVnZTi+TwLjbWQjuCEgQFqUQQymzUTAlni2LhxGCO+p5Vt2pR5/ERUxNKzZ0Nj16+0XN2p06t365VmTKY5egwdH5FYuXr1nLXy4LxZa9eqM3K2YvGnn6pWv/jZKFe8ZpsHJzgAgHh5lh59VI7j1xfeeLRrF2JffzcXgJZq127UqKSRhoY5a9XGufVOnhQu6IkhLVsCOK10NqY8+grjxSf37qn6CQeD6d7eEPgMWwtuxwWgpQy9xb9z948bBxesQnjLlkrnYZpFXKMV6D5/frBY51+rf0ZGYdtxAWgpaipWi9rOzgIw56uvsJfCcUYM/O9/Q0N9Lpqf8vEBAHgWvjl/C6ClRGtYkU3lykrnYBriCTxEo6gog/OZyRXmDRsGAEIUfWUuLgAtRWuFtzC4dEnpHExhvliDlH37cnbqX8wZ1b17UOutKaa9ir/MPheAlhLzcVA6uGoV2sFQjH8Dv1NnGolWoJ7olp5OC3AUJ2bMCG1qorJo7+p6ttFql0ZrHj8u6XhcAFoqNMK7Z90r0dGUTWbi4bBhuAdHVHn6VOlcrJylIRI/JCTQj1glti9dqmon39TraWUV5rA+1vLLJUuABUKI0i/Sy98SvyPyr8GoMlJ76f0yeLDUFBWpeePGFERZMCn/lWZYOZkifsf3mZm4iUPivYQEcqNvxPK7d3FDWinHRkSEhXl7W1hERQHF+0xfUv8HrASX0hIwkmoAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMDctMTNUMjA6MTM6MjcrMDg6MDBhLSN6AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTA3LTEzVDIwOjEzOjI3KzA4OjAwEHCbxgAAAEp0RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fcWp6eWVjbDNocXIvZ2Vuem9uZy5zdmcBgnXEAAAAAElFTkSuQmCC',
+      //     title: '浜哄憳璺熻釜'
+      //   }
+      // ],
+      //rowSize: 3,
+      // badgeNum: 0,
+    };
+  },
+  computed: {
+    stateDocks() {
+      return this.$store.state.desktop.docks;
+    },
+    carousels() {
+      let pages = 0;
+      let tempArr = this.stateDocks.concat(this.installedSdk);
+      let upgradeArr = tempArr.filter((item) => item.isUpgrade);
+      let arr = null;
+      //鏍规嵁灞忓箷楂樺害鏉ュ垽鏂槸灞曠ず3鎺掕繕鏄�4鎺� 闃堝��:970
+      if (window.innerHeight >= 930) {
+        //this.rowSize = 4;
+        arr = this.chunk(tempArr, 24);
+      } else {
+        //this.rowSize = 3;
+        arr = this.chunk(tempArr, 18);
+      }
+      return arr;
+    },
+    badgeNum() {
+      let tempArr = this.stateDocks.concat(this.installedSdk);
+      return tempArr.filter((item) => item.isUpgrade).length;
+    },
+    rowSize() {
+      if (window.innerHeight >= 930) {
+        return 4;
+      } else {
+        return 3;
+      }
     }
   },
-  methods:{
-    
+  mounted() {
+    this.getAllSdk();
+    let _this = this;
+    window.addEventListener("message", (e) => {
+      if (e.data && e.data.msg) {
+        let msg = e.data.msg;
+        if (msg === "logout") {
+          location.assign("/");
+          return;
+        }
+        if (msg.indexOf("toSearch") >= 0) {
+          let params = msg.substring(7);
+          this.addFrameByName("search", params);
+        }
+        if (msg.indexOf("toCluster") >= 0) {
+          let params = msg.substring(8);
+          this.addFrameByName("searchForCluster", params);
+        }
+        if (msg.indexOf("toSetting") > -1) {
+          const str = msg.split("?")[1];
+          this.addFrameByName("settings", str);
+        }
+        if (msg.indexOf("toVindicate") > -1) {
+          const str = msg.split("?")[1];
+          this.addFrameByName("vindicate", str);
+        }
+        if (msg.indexOf("toAI") > -1) {
+          const str = msg.split("?")[1];
+          this.addFrameByName("algorithmManage", str);
+        }
+        if (msg.indexOf("toOpenApp") >= 0) {
+          let id = msg.substring(10);
+          this.addFrameByID(id);
+        }
+        if (msg.indexOf("changeBackground") > -1) {
+          const name = e.data.msg.split("?")[1];
+          _this.$emit("changeBackground", `/images/desktop/${name}.png`);
+        }
+        if (msg == "AppUpdate") {
+          this.getAllSdk();
+        }
+      }
+    });
+  },
+  methods: {
+    chunk(arr, size) {
+      size = Math.max(size, 0);
+      const len = arr == null ? 0 : arr.length;
+      if (!len || size < 1) {
+        return [];
+      }
+      let index = 0;
+      let resIndex = 0;
+      const result = new Array(Math.ceil(len / size));
+      while (index < len) {
+        result[resIndex++] = arr.slice(index, (index += size));
+      }
+      return result;
+    },
+    onJumpToDock(name) {
+      let togo;
+      this.carousels.forEach((arr) => {
+        arr.forEach((x) => {
+          if (x.title == name) {
+            togo = x;
+          }
+        });
+      });
+      this.dockClick(togo);
+    },
+    getAllSdk() {
+      findAllSdk()
+        .then((res) => {
+          this.installedSdk = res.data.filter((item) => item.installed);
+        })
+        .catch((e) => {
+          console.log(e);
+        });
+    },
     dockClick(dock) {
-      if (dock.type === '1') {
+      if (dock.type === "1") {
         window.open(dock.url);
-      } else if (dock.type === '2') {
-        debugger
-        this.$store.dispatch('desktop/addFrame', {
+      } else if (dock.type === "2" && !dock.isOpen) {
+        this.$store.dispatch("desktop/addFrame", {
           id: dock.id,
           icon: dock.src,
-          title: dock.name,
+          title: dock.title,
           url: dock.url
         });
-      } else if (dock.type === '3') {
-        this.$store.commit('desktop/resetMinFrame', dock.id);
-        this.resetDockItem();
+        this.$store.commit("desktop/addMinDock", {
+          id: dock.id,
+          src: dock.src,
+          alt: dock.title,
+          type: "3",
+          highlight: true,
+          url: dock.url,
+          screenshot: ""
+        });
+        //鎵撳紑搴旂敤鍚庡紓姝ユ姄鎷�,涔嬪悗鐨勬姄鎷嶉噰鐢ㄨ繖寮犲浐瀹氱殑
+        //if(dock.name=='cameraVideo'||dock.name=='search'||dock.name=='library'||dock.name=='cameraAccess'||dock.name=='dataStack'){
+        setTimeout(() => {
+          this.$parent.screenShot(dock);
+        }, 1500);
+        //}
+      } else if (dock.type === "2" && dock.isOpen) {
+        this.$store.commit("desktop/resetMinFrame", dock.id);
       }
     },
     resetDockItem() {
-      const dockItems = document.getElementsByClassName('dock-item');
-      const dockMask = document.getElementsByClassName('dock-mask')[0];
+      const dockItems = document.getElementsByClassName("dock-item");
+      const dockMask = document.getElementsByClassName("dock-mask")[0];
       for (let i = 0; i < dockItems.length; i++) {
         dockItems[i].width = 60;
         if (dockItems[i].parentNode.nextElementSibling) {
           dockItems[i].parentNode.nextElementSibling.style.marginLeft = "-35px";
         }
       }
-      dockMask.style.width = dockItems.length * 60 + 40 + 'px';
+      dockMask.style.width = dockItems.length * 60 + 40 + "px";
     },
+    addFrameByName(name, params) {
+      let dock = null;
+      this.$store.state.desktop.docks.forEach((app) => {
+        if (app.name === name) {
+          dock = app;
+        }
+      });
+      if (dock.isOpen) {
+        this.$store.dispatch("desktop/closeFrame", dock);
+      }
+      this.$store.dispatch("desktop/addFrame", {
+        id: dock.id,
+        icon: dock.src,
+        title: dock.title,
+        url: dock.url + "?" + params
+      });
+      this.$store.commit("desktop/addMinDock", {
+        id: dock.id,
+        src: dock.src,
+        alt: dock.title,
+        type: "3",
+        highlight: true,
+        url: dock.url,
+        screenshot: ""
+      });
+    },
+    addFrameByID(id, params) {
+      let dock = null;
+      let toClose = null;
+      this.$store.state.desktop.docks.forEach((app) => {
+        if (app.id == id) {
+          dock = app;
+        }
+        if (app.name == "algorithmManage") {
+          toClose = app;
+        }
+      });
+      this.dockClick(dock);
+    }
   }
 };
 </script>
 
 <style lang="scss">
-  .tools-entry{
-    //margin-top: 130px;
-    position: absolute;
-    top: 142px;
-    left: 50%;
-    transform: translateX(-50%);
-    .entry-wrap{
-      width: 1180px;
-      padding: 0 60px;
-      margin: 0 auto;
-      .app-list{
-        .app{
-          width: 16.6%;
-          margin-bottom: 54px;
-          float: left;
-          .wrap{
-            .app-icon{
-              text-align: center;
-              line-height: 110px;
-              width: 110px;
-              height: 110px;
-              margin: auto;
-              img{
-                vertical-align: middle;
-                margin-right: -3px;
-              }
+.el-carousel__arrow--left {
+  left: 0 !important;
+}
+.el-carousel__arrow--right {
+  right: 0 !important;
+}
+.el-carousel__button {
+  width: 12px !important;
+  height: 12px !important;
+  border-radius: 50% !important;
+}
+.tools-entry {
+  //margin-top: 130px;
+  position: absolute;
+  top: 142px;
+  left: 50%;
+  transform: translateX(-50%);
+  .entry-wrap {
+    width: 1180px;
+    padding: 0 60px;
+    margin: 0 auto;
+    .el-carousel__indicator--horizontal {
+      padding: 0px 4px;
+    }
+    .app-list {
+      .app {
+        width: 16.6%;
+        margin-bottom: 54px;
+        float: left;
+        .wrap {
+          .app-icon {
+            text-align: center;
+            line-height: 110px;
+            width: 110px;
+            height: 110px;
+            margin: auto;
+            position: relative;
+            border-radius: 10px;
+            img {
+              vertical-align: middle;
+              margin-right: -3px;
+              width: 82px;
+              // height: 82px;
             }
-            .app-name{
-              padding-top: 10px;
-              text-align: center;
-              font: Bold 16px/16px Microsoft JhengHei;
+            .badge {
+              position: absolute;
+              top: 13px;
+              right: 8px;
+              width: 22px;
+              height: 22px;
+              font-size: 14px;
+              background-color: red;
+              border-radius: 50%;
               color: #fff;
+              line-height: 22px;
+              text-align: center;
             }
           }
-          
-          &:hover{
-            .app-icon{
-              background: rgba(0,0,0,.4);
-            }
+          .el-loading-mask {
+            border-radius: 8px;
           }
-          
+          .el-loading-spinner {
+            top: 20px;
+          }
+          .el-loading-spinner .path {
+            stroke: #78adf7;
+          }
+          .el-loading-spinner .el-loading-text {
+            line-height: 1;
+            margin-top: -30px;
+            color: #78adf7;
+          }
+          .app-name {
+            padding-top: 10px;
+            text-align: center;
+            font: Bold 16px/16px Microsoft JhengHei;
+            color: #fff;
+          }
+        }
+
+        &:hover {
+          .app-icon {
+            background: rgba(0, 0, 0, 0.4);
+          }
         }
       }
     }
+    .logo {
+      text-align: right;
+      padding-right: 50px;
+      user-select: none;
+      margin-top: -74px;
+      img {
+        user-select: none;
+        -webkit-user-drag: none;
+      }
+    }
   }
-</style>
\ No newline at end of file
+}
+</style>

--
Gitblit v1.8.0