From 3df730fcce626fc0637f66c09fbec71071920a83 Mon Sep 17 00:00:00 2001 From: W-David <1776867536@qq.com> Date: Sat, 10 Jan 2026 03:06:18 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=A7=BB=E5=8A=A8=20IPC=20?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E7=9B=B8=E5=85=B3=E7=B1=BB=E5=9E=8B=E5=92=8C?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=AE=9A=E4=B9=89=E5=88=B0=E5=85=B1=E4=BA=AB?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=EF=BC=8C=E6=9B=B4=E6=96=B0=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/core/IPCManager.ts | 4 ++-- src/main/core/WindowManager.ts | 2 +- src/renderer/src/api/index.ts | 2 +- src/renderer/src/ipc/index.ts | 2 +- src/renderer/src/ipc/ipc.ts | 2 +- src/{preload/ipcEvent.d.ts => shared/ipc/events.d.ts} | 2 +- src/{preload/ipcTypes.d.ts => shared/ipc/types.d.ts} | 0 tsconfig.node.json | 9 ++++++++- tsconfig.web.json | 5 ++++- 9 files changed, 19 insertions(+), 9 deletions(-) rename src/{preload/ipcEvent.d.ts => shared/ipc/events.d.ts} (95%) rename src/{preload/ipcTypes.d.ts => shared/ipc/types.d.ts} (100%) diff --git a/src/main/core/IPCManager.ts b/src/main/core/IPCManager.ts index b4ca043..237fda7 100644 --- a/src/main/core/IPCManager.ts +++ b/src/main/core/IPCManager.ts @@ -1,6 +1,6 @@ +import { IpcMainEvents, IpcRendererEvents } from '@shared/ipc/events' +import type { ExtractArgs, ExtractHandler, IpcEventMap, IpcListenEventMap } from '@shared/ipc/types' import { ipcMain } from 'electron' -import { IpcMainEvents, IpcRendererEvents } from '../../preload/ipcEvent' -import type { ExtractArgs, ExtractHandler, IpcEventMap, IpcListenEventMap } from '../../preload/ipcTypes' import logger from './Logger' /** diff --git a/src/main/core/WindowManager.ts b/src/main/core/WindowManager.ts index b8a7b3e..4441bfe 100644 --- a/src/main/core/WindowManager.ts +++ b/src/main/core/WindowManager.ts @@ -1,7 +1,7 @@ +import { IpcRendererEvents } from '@shared/ipc/events' import { app, BrowserWindow, shell, WebContents } from 'electron' import is from 'electron-is' import EventEmitter from 'node:events' -import { IpcRendererEvents } from '../../preload/ipcEvent' import { pages } from '../config/page' import type { Pages } from '../config/types' import ConfigManager from './ConfigManager' diff --git a/src/renderer/src/api/index.ts b/src/renderer/src/api/index.ts index ccb1b45..1aecc15 100644 --- a/src/renderer/src/api/index.ts +++ b/src/renderer/src/api/index.ts @@ -1,5 +1,5 @@ -import { RendererEmitterInvokeFn, RendererEmitterSendFn, RendererHandlerFn } from '@preload/ipcEvent' import { emitter, ipc } from '@renderer/ipc' +import { RendererEmitterInvokeFn, RendererEmitterSendFn, RendererHandlerFn } from '@shared/ipc/events' /** * 从本地存储加载配置 diff --git a/src/renderer/src/ipc/index.ts b/src/renderer/src/ipc/index.ts index 384c603..e2db0db 100644 --- a/src/renderer/src/ipc/index.ts +++ b/src/renderer/src/ipc/index.ts @@ -1,4 +1,4 @@ -import { IpcMainEvents, IpcRendererEvents } from '@preload/ipcEvent' +import { IpcMainEvents, IpcRendererEvents } from '@shared/ipc/events' import { IpcEmitter, IpcListener } from './ipc' import mitt from './mitt' import { MittEventMap } from './types' diff --git a/src/renderer/src/ipc/ipc.ts b/src/renderer/src/ipc/ipc.ts index e6e4395..4037083 100644 --- a/src/renderer/src/ipc/ipc.ts +++ b/src/renderer/src/ipc/ipc.ts @@ -1,4 +1,4 @@ -import type { ExtractArgs, ExtractHandler, IpcEventMap, IpcListenEventMap } from '@preload/ipcTypes' +import type { ExtractArgs, ExtractHandler, IpcEventMap, IpcListenEventMap } from '@shared/ipc/types' /** * Typed emitter for Electron `ipcRenderer`. diff --git a/src/preload/ipcEvent.d.ts b/src/shared/ipc/events.d.ts similarity index 95% rename from src/preload/ipcEvent.d.ts rename to src/shared/ipc/events.d.ts index ad8b509..07f10fd 100644 --- a/src/preload/ipcEvent.d.ts +++ b/src/shared/ipc/events.d.ts @@ -1,6 +1,6 @@ import { OpenDialogOptions } from 'electron' import type { ProgressInfo, UpdateCheckResult, UpdateInfo } from 'electron-updater' -import type { ComposEventMap, UserStore } from '../main/config/types' +import type { ComposEventMap, UserStore } from '../../main/config/types' //主进程 handle IPC 事件 type IpcMainHandleEvents = { diff --git a/src/preload/ipcTypes.d.ts b/src/shared/ipc/types.d.ts similarity index 100% rename from src/preload/ipcTypes.d.ts rename to src/shared/ipc/types.d.ts diff --git a/tsconfig.node.json b/tsconfig.node.json index 4af4a5b..6e16936 100644 --- a/tsconfig.node.json +++ b/tsconfig.node.json @@ -6,9 +6,16 @@ ".prettierrc.mjs", "src/main/**/*", "src/preload/*", + "src/shared/**/*" ], "compilerOptions": { "composite": true, - "types": ["electron-vite/node"] + "types": ["electron-vite/node"], + "baseUrl": ".", + "paths": { + "@shared/*": [ + "src/shared/*" + ] + } } } diff --git a/tsconfig.web.json b/tsconfig.web.json index 123dc63..52582fd 100644 --- a/tsconfig.web.json +++ b/tsconfig.web.json @@ -3,8 +3,8 @@ "include": [ "src/renderer/src/**/*", "src/renderer/src/**/*.vue", - "src/main/config/*.d.ts", "src/preload/**/*.d.ts", + "src/shared/**/*", "uno.config.ts", ], "compilerOptions": { @@ -17,6 +17,9 @@ ], "@preload/*": [ "src/preload/*" + ], + "@shared/*": [ + "src/shared/*" ] } }