heyujie
2022-01-05 2aefbd4ad240823e3195c16f11222d8d92ab8acd
recent change
1 文件已复制
4 文件已重命名
4个文件已修改
204 ■■■■■ 已修改文件
src/pages/desktop/index/App.vue 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/desktop/index/api.ts 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/desktop/index/components/Desktop.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/index/App.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/login/index/App.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/login/index/ParticleNetwork.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/login/index/api.ts 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/login/index/main.ts 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/desktop/index/App.vue
@@ -9,103 +9,122 @@
</template>
<script>
import html2canvas from 'html2canvas';
import Desktop from './components/Desktop';
import NotificationCenter from './components/NotificationCenter';
import NoticeTip from './components/NoticeTip';
import Tools from './components/Tools';
import ToolsEntry from './components/ToolsEntry';
import html2canvas from "html2canvas";
import Desktop from "./components/Desktop";
import NotificationCenter from "./components/NotificationCenter";
import NoticeTip from "./components/NoticeTip";
import Tools from "./components/Tools";
import ToolsEntry from "./components/ToolsEntry";
import { getServerName } from "./api.ts";
import { getApps } from '@/api/app'
import { getApps } from "@/api/app";
import config from '../../../../package.json'
import config from "../../../../package.json";
export default {
  name: 'app',
  name: "app",
  components: {
    Desktop, NotificationCenter, NoticeTip, Tools, ToolsEntry
    Desktop,
    NotificationCenter,
    NoticeTip,
    Tools,
    ToolsEntry,
  },
  data() {
    return {
      buttonAuthority: sessionStorage.getItem('buttonAuthoritys') || [],
      buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
      // defaultBgUrl:"/images/desktop/background.png"
    }
    };
  },
  computed: {
    isAdmin() {
      if (
        sessionStorage.getItem('userInfo') &&
        sessionStorage.getItem('userInfo') !== ''
        sessionStorage.getItem("userInfo") &&
        sessionStorage.getItem("userInfo") !== ""
      ) {
        let loginName = JSON.parse(sessionStorage.getItem('userInfo')).username
        return (
          loginName === 'superadmin' || loginName === 'basic'
        )
        let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username;
        return loginName === "superadmin" || loginName === "basic";
      }
      return false
      return false;
    },
    defaultBgUrl(){
      return JSON.parse(sessionStorage.getItem('userInfo')).backgroundpic
    }
    defaultBgUrl() {
      return JSON.parse(sessionStorage.getItem("userInfo")).backgroundpic;
    },
  },
  created() {
    this.getServerName();
  },
  mounted() {
    document.getElementById('app').style.backgroundImage = `url(${this.defaultBgUrl || "/images/desktop/background.png"})`
    document.getElementById("app").style.backgroundImage = `url(${
      this.defaultBgUrl || "/images/desktop/background.png"
    })`;
    this.showApps();
    let _that = this;
    let msgResp = require("./mock/messages.json")
    let msgResp = require("./mock/messages.json");
    if (msgResp.success) {
      msgResp.data.forEach(function (item) {
        _that.addMessage(item);
      })
      });
    }
    let weather = require("./mock/weather.json")
    let weather = require("./mock/weather.json");
    if (weather.success) {
      _that.addWeather(weather.data.data);
    }
    setTimeout(function () {
      _that.addMessage({
        id: 'N2',
        icon: '/images/desktop/message.png',
        tip: '消息',
        title: 'SmartAI',
        body: 'V' + config.version,
        time: new Date()
      }, true);
      _that.addMessage(
        {
          id: "N2",
          icon: "/images/desktop/message.png",
          tip: "消息",
          title: "SmartAI",
          body: "V" + config.version,
          time: new Date(),
        },
        true
      );
    }, 1000);
    window.addEventListener('message', (e) => {
      if (e.data.msg == 'AppUpdate') {
    window.addEventListener("message", (e) => {
      if (e.data.msg == "AppUpdate") {
        this.showApps();
      }
      if (e.data.msg=='checkSN') {
        debugger
        this.$refs.desktop.validateSn()
      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},"*")
        })
      if (e.data.msg === "changeColor") {
        const iframeArr = document.querySelectorAll("iframe");
        iframeArr.forEach((item) => {
          item.contentWindow.postMessage(
            { msg: "changeColor", color: e.data.color },
            "*"
          );
        });
      }
    });
  },
  methods: {
<<<<<<< HEAD
    quit(){
      this.$refs.tools.toLogout()
    },
    onJumpToDock(name){
      this.$refs.dock_model.onJumpToDock(name)
=======
    onJumpToDock(name) {
      this.$refs.dock_model.onJumpToDock(name);
>>>>>>> ca43456ba7e5a27fdeaebb8293ddda90962ac42e
    },
    onChangeBg(v){
       document.getElementById('app').style.backgroundImage = "url(" + v + ")"
    onChangeBg(v) {
      document.getElementById("app").style.backgroundImage = "url(" + v + ")";
    },
    showApps() {
      let _that = this;
      getApps().then(rsp => {
      getApps().then((rsp) => {
        if (rsp && rsp.success) {
          _that.$store.state.desktop.docks = [];
          let installedApps = [];
          rsp.data
          rsp.data;
          rsp.data.forEach(function (item) {
            if (item.installed) {
              let temp = {
@@ -114,7 +133,9 @@
                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,
@@ -127,12 +148,15 @@
                url: item.url,
                version: item.version,
                width: item.width,
                isDefault: item.isDefault
              }
                isDefault: item.isDefault,
              };
              // 判断权限
              if (_that.isAdmin || _that.buttonAuthority.indexOf(item.package) >= 0) {
                _that.$store.commit('desktop/addDock', temp);
              if (
                _that.isAdmin ||
                _that.buttonAuthority.indexOf(item.package) >= 0
              ) {
                _that.$store.commit("desktop/addDock", temp);
              }
              installedApps.push(item.package);
@@ -141,21 +165,23 @@
          sessionStorage.setItem("apps", installedApps.join(","));
        }
      })
      });
    },
    addMessage: function (message, ding) {
      this.$store.dispatch('desktop/addMessage', message);
      this.$store.dispatch("desktop/addMessage", message);
      // if (ding) {
      //   new Audio('sounds/ping.mp3').play();
      // }
      this.$refs.notice_tip_model.showTip(message);
    },
    addWeather: function (weather) {
      this.$store.commit('desktop/addWeather', weather);
      this.$store.commit("desktop/addWeather", weather);
    },
    screenShot(dock) {
      //找到当前的iframe
      let curIframe = Array.from(document.querySelectorAll('iframe')).find(iframe => iframe.src.indexOf(dock.url) >= 0);
      let curIframe = Array.from(document.querySelectorAll("iframe")).find(
        (iframe) => iframe.src.indexOf(dock.url) >= 0
      );
      //保存当前应用快照
      html2canvas(curIframe.contentWindow.document.body, {
        dpi: window.devicePixelRatio * 4,
@@ -164,23 +190,37 @@
        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: '' });
      });
    }
  }
}
      })
        .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: "" });
        });
    },
    async getServerName() {
      let res = await getServerName();
      if (res && res.success) {
        this.serverTitle = res.data.serverName;
        window.document.title = res.data.serverName
          ? res.data.serverName
          : "SmartAI";
        sessionStorage.setItem("title", res.data.serverName);
      }
    },
  },
};
</script>
<style>
src/pages/desktop/index/api.ts
copy from src/pages/login/api.ts copy to src/pages/desktop/index/api.ts
src/pages/desktop/index/components/Desktop.vue
@@ -38,8 +38,8 @@
      <el-divider></el-divider>
      <div class="info">
        如果还没有产品密钥,你可以使用手机扫码或前往此链接
        <a href="http://os.smartai.com:7004" target="_blank"
          >http://os.smartai.com:7004</a
        <a href="http://apps.smartai.com" target="_blank"
          >http://apps.smartai.com</a
        >
        购买。
      </div>
@@ -147,7 +147,7 @@
      this.activeDialog = true;
    },
    uploadKey(params) {
      debugger
      debugger;
      let param = new FormData();
      param.append("code", params.file);
      uploadKey(param).then(
src/pages/index/App.vue
@@ -150,10 +150,10 @@
        }, 0);
      }
      /* if (res.data.initPwd && res.data.initRegInfo) {
        location.assign("/login");
      if (res.data.initPwd && res.data.initRegInfo) {
        location.assign("/view/login/");
        return;
      } */
      }
      this.isWhite = false;
    },
src/pages/login/index/App.vue
File was renamed from src/pages/login/App.vue
@@ -120,7 +120,7 @@
import Licence from "@/components/licence";
import LangSelect from "@/components/langSelect";
import { getMenuListData } from "@/api/utils";
import loginData from "../../../public/apps/loginData/login.json";
import loginData from "../../../../public/apps/loginData/login.json";
export default {
  name: "login-pgae",
src/pages/login/index/ParticleNetwork.vue
src/pages/login/index/api.ts
src/pages/login/index/main.ts
vue.config.js
@@ -93,7 +93,7 @@
      },
      "/data/api-v/app/findAllApp": {
        // target: '/',
        target: "http://localhost:8080/",
        target: "http://localhost:8081/",
        changeOrigin: true,
        pathRewrite: {
          "^/data/api-v/app/findAllApp": "apps.json",