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;
|
|
|
|
|
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
|
|
|
};
|