matedesktop
Version:
云桌面前端框架vue插件-测试版本
75 lines (67 loc) • 2.49 kB
JavaScript
import SystemFun from "./js/System.js"
import MateDesktop from "./windowPage/MateDesktop.vue"
import Web from "./windowPage/Web.vue"
import Alert from "./windowPage/Alert.vue"
import Message from "./windowPage/Message.vue"
import MateWindow from "./js/MateWindow.js"
export default {
install(Vue){
let System = SystemFun();
System.App = Vue;
Vue.component("MateDesktop",MateDesktop);
Vue.component("Web",Web);
Vue.config.globalProperties.$MateWindow = MateWindow;
Vue.config.globalProperties.$System = System;
Vue.config.globalProperties.$Web = Web;
Vue.config.globalProperties.$mateAlert = (config={})=>{
let mateWindow = new MateWindow(Alert);
mateWindow.value = {
msg: "请输入内容!",
title: "提示!",
showCancel: true,
confirm: new Function(),
cancel: new Function(),
...config
}
System.window(mateWindow);
return mateWindow;
};
Vue.config.globalProperties.$mateMessage = (config={})=>{
let mateWindow = new MateWindow(Message);
mateWindow.value = {
msg: "请输入内容!",
icon: "https://img0.baidu.com/it/u=1741651978,642418582&fm=253&fmt=auto&app=138&f=JPEG?w=625&h=500",
...config
}
System.window(mateWindow);
return mateWindow;
};
Vue.config.globalProperties.$newWindow = function(component,value={}){
let mateWindow = new MateWindow(component);
mateWindow.value = {
...mateWindow.value,
...value
};
System.window(mateWindow);
return mateWindow;
}
Vue.config.globalProperties.$addDesktop = function(obj){
System.desktop.desktopList.push(obj);
}
Vue.config.globalProperties.$deviceDetection = function({window,ipd,phone} = {
window: new Function(),
ipd: new Function(),
phone: new Function(),
}){
if(System.windowWidth > 1000){
window();
}
else if(System.windowWidth > 800){
ipd();
}
else {
phone();
}
}
}
}