@lynker-desktop/electron-ipc
Version:
electron-ipc
62 lines • 2.38 kB
TypeScript
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