UNPKG

@lynker-desktop/electron-ipc

Version:

electron-ipc

62 lines 2.38 kB
import type { IpcRenderer } from 'electron'; export { WINDOWL_GLOBAL_KEY } from '../common'; export declare const getIpc: () => IpcRenderer; export declare class RendererIPC { /** * 原生ipcRenderer */ static get ipcRenderer(): Electron.IpcRenderer; /** * 发送给主进程消息 * 使用 Electron 原生的 invoke 方法,支持并发请求 * @param channel 消息通道名称 * @param args 传递给处理器的参数 * @returns Promise<any> 返回处理结果 */ static invokeMain(channel: string, ...args: any[]): Promise<any>; /** * 处理主进程发送过来的消息 * 支持 requestId 机制,确保并发请求正确匹配 * @param channel 消息通道名称 * @param handler 处理函数,接收除 requestId 外的所有参数 */ static handleMain(channel: string, handler: (...args: any[]) => Promise<any>): { cancel: () => void; }; /** * 发送给渲染进程消息 * 使用唯一的 requestId 确保并发请求不会互相干扰 * @param channel 消息通道名称 * @param args 传递给渲染进程的参数 * @returns Promise<any> 返回渲染进程的处理结果 */ static invokeRenderer(channel: string, ...args: any[]): Promise<any>; /** * 发送给指定渲染进程消息 * 使用唯一的 requestId 确保并发请求不会互相干扰 * @param targetWindowId 目标窗口ID * @param channel 消息通道名称 * @param args 传递给渲染进程的参数 * @returns Promise<any> 返回渲染进程的处理结果 */ static invokeRendererByWinId(targetWindowId: number, channel: string, ...args: any[]): Promise<any>; /** * 处理渲染进程发送过来的消息 * 支持 requestId 机制,确保并发请求正确匹配 * @param channel 消息通道名称 * @param handler 处理函数,接收除 requestId 外的所有参数 */ static handleRenderer(channel: string, handler: (...args: any[]) => Promise<any>): { cancel: () => void; }; /** * 获取当前渲染进程id */ static getCurrentWebContentId(): Promise<number>; /** * 打开当前窗口的开发者工具 * @returns */ static openCurrentWebContentDevTools(): Promise<number>; } //# sourceMappingURL=index.d.ts.map