mirror of
https://github.com/algerkong/AlgerMusicPlayer.git
synced 2026-04-24 16:27:23 +08:00
fix(preload): 修复ipc.on解绑监听器失效问题
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import { electronAPI } from '@electron-toolkit/preload';
|
import { electronAPI } from '@electron-toolkit/preload';
|
||||||
|
import type { IpcRendererEvent } from 'electron';
|
||||||
import { contextBridge, ipcRenderer } from 'electron';
|
import { contextBridge, ipcRenderer } from 'electron';
|
||||||
|
|
||||||
// Custom APIs for renderer
|
// Custom APIs for renderer
|
||||||
@@ -87,9 +88,10 @@ const ipc = {
|
|||||||
},
|
},
|
||||||
// 监听主进程消息
|
// 监听主进程消息
|
||||||
on: (channel: string, listener: (...args: any[]) => void) => {
|
on: (channel: string, listener: (...args: any[]) => void) => {
|
||||||
ipcRenderer.on(channel, (_, ...args) => listener(...args));
|
const wrappedListener = (_event: IpcRendererEvent, ...args: any[]) => listener(...args);
|
||||||
|
ipcRenderer.on(channel, wrappedListener);
|
||||||
return () => {
|
return () => {
|
||||||
ipcRenderer.removeListener(channel, listener);
|
ipcRenderer.removeListener(channel, wrappedListener);
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
// 移除所有监听器
|
// 移除所有监听器
|
||||||
|
|||||||
Reference in New Issue
Block a user