import { app, ipcMain } from "electron"; import { closeWindow, minimize, splashEnd, updateMaximize } from "./windowManage"; import { IpcRenderToMain } from "../constants"; import { getStore } from "./storeManage"; import { changeLanguage } from "../i18n"; const store = getStore(); export const setIpcMainListener = () => { // window manage ipcMain.handle("changeLanguage", (_, locale) => { store.set("language", locale); changeLanguage(locale).then(() => { app.relaunch(); app.exit(0); }); }); ipcMain.handle("main-win-ready", () => { splashEnd(); }); ipcMain.handle(IpcRenderToMain.minimizeWindow, () => { minimize(); }); ipcMain.handle(IpcRenderToMain.maxmizeWindow, () => { updateMaximize(); }); ipcMain.handle(IpcRenderToMain.closeWindow, () => { closeWindow(); }); ipcMain.handle(IpcRenderToMain.setKeyStore, (_, { key, data }) => { store.set(key, data); }); ipcMain.handle(IpcRenderToMain.getKeyStore, (_, { key }) => { return store.get(key); }); ipcMain.on(IpcRenderToMain.getKeyStoreSync, (e, { key }) => { e.returnValue = store.get(key); }); ipcMain.on(IpcRenderToMain.getDataPath, (e, key: string) => { switch (key) { case "public": e.returnValue = global.pathConfig.publicPath; break; default: e.returnValue = global.pathConfig.publicPath; break; } }); };