123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import { ipcMain } from "electron";
- import { socket } from "./tray";
- import {
- hideMainWin,
- isMaximized,
- minimizeMainWin,
- unmaximizeMainWin,
- maximizeMainWin,
- middleMainWin,
- } from "../win/mainWin";
- let hasEmittedUid = false;
- export const initIpcMain = () => {
- // 获取当前窗口
- // callback(BrowserWindow.fromWebContents(e.sender), e, ...par)
- const handle = (name: string, callback: Function) => {
- ipcMain.handle(name, (e, ...par) => callback(e, ...par));
- };
- // 关闭窗口
- handle("close", () => hideMainWin());
- // 最小化
- handle("min", () => minimizeMainWin());
- // 最大化
- handle("max", () => {
- let obj = { type: "max", data: "unmax" };
- if (isMaximized()) {
- unmaximizeMainWin();
- } else {
- obj.data = "max";
- maximizeMainWin();
- }
- return obj;
- });
- handle("middle", () => middleMainWin());
- ipcMain.on("login-uid", (event, uid) => {
- if (hasEmittedUid) {
- console.log("Uid already emitted, skipping...");
- return;
- }
- console.log("Received uid in main process:", uid);
- if (socket && socket.connected) {
- socket.emit("login", Number(uid));
- hasEmittedUid = true;
- console.log("Socket login with uid:", uid);
- } else {
- console.warn("Socket not connected when trying to send uid");
- }
- });
- // 添加重置状态的处理
- socket?.on("disconnect", () => {
- hasEmittedUid = false; // socket断开连接时重置状态
- });
- };
|