2023-02-27 11:00:08 +08:00
|
|
|
import {exportLayout, getInstanceById} from "../layout/util";
|
|
|
|
|
import {Tab} from "../layout/Tab";
|
|
|
|
|
import {fetchPost} from "../util/fetch";
|
|
|
|
|
|
2023-02-27 11:37:54 +08:00
|
|
|
const closeTab = (ipcData: IWebSocketData) => {
|
2023-02-27 11:00:08 +08:00
|
|
|
const tab = getInstanceById(ipcData.data);
|
|
|
|
|
if (tab && tab instanceof Tab) {
|
|
|
|
|
tab.parent.removeTab(ipcData.data);
|
|
|
|
|
}
|
2023-02-27 16:03:38 +08:00
|
|
|
};
|
2023-02-27 11:37:54 +08:00
|
|
|
export const onWindowsMsg = (ipcData: IWebSocketData) => {
|
2023-02-27 11:00:08 +08:00
|
|
|
switch (ipcData.cmd) {
|
|
|
|
|
case "closetab":
|
2023-02-27 11:37:54 +08:00
|
|
|
closeTab(ipcData);
|
2023-02-27 11:00:08 +08:00
|
|
|
break;
|
|
|
|
|
case "lockscreen":
|
2023-04-09 17:29:19 +08:00
|
|
|
exportLayout(false, () => {
|
|
|
|
|
fetchPost("/api/system/logoutAuth", {}, () => {
|
|
|
|
|
window.location.href = `/check-auth?url=${window.location.href}`;
|
|
|
|
|
});
|
|
|
|
|
}, false, false);
|
2023-02-27 11:00:08 +08:00
|
|
|
break;
|
|
|
|
|
}
|
2023-02-27 16:03:38 +08:00
|
|
|
};
|