From 3da82371b3826dc047f8c30fb0b5fb6ef3aff46e Mon Sep 17 00:00:00 2001 From: heyujie <516346543@qq.com> Date: 星期四, 25 十一月 2021 11:53:48 +0800 Subject: [PATCH] 应用中心修改 --- src/pages/desktop/index/App.vue | 87 +++++++++++++++++++++++++++++++------------ 1 files changed, 62 insertions(+), 25 deletions(-) diff --git a/src/pages/desktop/index/App.vue b/src/pages/desktop/index/App.vue index 78897be..922813d 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,42 @@ 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 + }, + defaultBgUrl(){ + return JSON.parse(sessionStorage.getItem('userInfo')).backgroundpic + } + }, mounted() { - document.getElementById('app').style.backgroundImage = process.env.VUE_APP_MAIN_URL; + document.getElementById('app').style.backgroundImage = `url(${this.defaultBgUrl || "/images/desktop/background.png"})` this.showApps(); - let _that = this; let msgResp = require("./mock/messages.json") if (msgResp.success) { @@ -37,7 +58,6 @@ _that.addMessage(item); }) } - let weather = require("./mock/weather.json") if (weather.success) { _that.addWeather(weather.data.data); @@ -47,37 +67,51 @@ 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('搴旂敤鏇存柊') + window.addEventListener('message', (e) => { + if (e.data.msg == 'AppUpdate') { 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 + ")" + }, 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){ + 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, + src: item.iconBlob ? 'data:image/png;base64,' + item.iconBlob : item.icon, installed: item.installed, isDelete: item.isDelete, isUpgrade: item.isUpgrade, @@ -92,14 +126,17 @@ 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) + + // 鍒ゆ柇鏉冮檺 + 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