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-04-19 11:27:32 +08:00
|
|
|
import {redirectToCheckAuth} from "../util/pathName";
|
2023-02-27 11:00:08 +08:00
|
|
|
|
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;
|
2025-03-28 13:45:55 +08:00
|
|
|
case "resetTabsStyle":
|
|
|
|
|
document.querySelectorAll(".layout-tab-bars--drag").forEach(item => {
|
|
|
|
|
item.classList.remove("layout-tab-bars--drag");
|
2025-03-30 17:50:33 +08:00
|
|
|
});
|
|
|
|
|
document.querySelectorAll(".layout-tab-bar li[data-clone='true']").forEach(tabItem => {
|
|
|
|
|
tabItem.remove();
|
2025-03-28 13:45:55 +08:00
|
|
|
});
|
|
|
|
|
break;
|
2023-02-27 11:00:08 +08:00
|
|
|
case "lockscreen":
|
2023-05-11 12:22:53 +08:00
|
|
|
exportLayout({
|
|
|
|
|
errorExit: false,
|
|
|
|
|
cb() {
|
|
|
|
|
fetchPost("/api/system/logoutAuth", {}, () => {
|
|
|
|
|
redirectToCheckAuth();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
2023-02-27 11:00:08 +08:00
|
|
|
break;
|
2023-09-04 10:06:15 +08:00
|
|
|
case "lockscreenByMode":
|
|
|
|
|
if (window.siyuan.config.system.lockScreenMode === 1) {
|
|
|
|
|
exportLayout({
|
|
|
|
|
errorExit: false,
|
|
|
|
|
cb() {
|
|
|
|
|
fetchPost("/api/system/logoutAuth", {}, () => {
|
|
|
|
|
redirectToCheckAuth();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
break;
|
2023-02-27 11:00:08 +08:00
|
|
|
}
|
2023-02-27 16:03:38 +08:00
|
|
|
};
|