Files
AlgerMusicPlayer/src/preload/index.d.ts

52 lines
1.8 KiB
TypeScript
Raw Normal View History

import { ElectronAPI } from '@electron-toolkit/preload';
2025-04-12 23:16:12 +08:00
interface API {
minimize: () => void;
maximize: () => void;
close: () => void;
dragStart: (data: any) => void;
miniTray: () => void;
miniWindow: () => void;
restore: () => void;
restart: () => void;
resizeWindow: (width: number, height: number) => void;
resizeMiniWindow: (showPlaylist: boolean) => void;
openLyric: () => void;
sendLyric: (data: any) => void;
sendSong: (data: any) => void;
unblockMusic: (id: number, data: any, enabledSources?: string[]) => Promise<any>;
2025-04-12 23:16:12 +08:00
onLyricWindowClosed: (callback: () => void) => void;
startDownload: (url: string) => void;
onDownloadProgress: (callback: (progress: number, status: string) => void) => void;
onDownloadComplete: (callback: (success: boolean, filePath: string) => void) => void;
onLanguageChanged: (callback: (locale: string) => void) => void;
removeDownloadListeners: () => void;
2025-09-09 22:05:48 +08:00
importCustomApiPlugin: () => Promise<{ name: string; content: string } | null>;
2025-12-13 15:00:38 +08:00
importLxMusicScript: () => Promise<{ name: string; content: string } | null>;
2025-04-12 23:16:12 +08:00
invoke: (channel: string, ...args: any[]) => Promise<any>;
2025-09-10 01:11:06 +08:00
getSearchSuggestions: (keyword: string) => Promise<any>;
2025-12-20 02:29:22 +08:00
lxMusicHttpRequest: (request: {
url: string;
options: any;
requestId: string;
}) => Promise<any>;
lxMusicHttpCancel: (requestId: string) => Promise<void>;
2025-04-12 23:16:12 +08:00
}
// 自定义IPC渲染进程通信接口
interface IpcRenderer {
send: (channel: string, ...args: any[]) => void;
invoke: (channel: string, ...args: any[]) => Promise<any>;
on: (channel: string, listener: (...args: any[]) => void) => () => void;
removeAllListeners: (channel: string) => void;
}
declare global {
interface Window {
electron: ElectronAPI;
2025-04-12 23:16:12 +08:00
api: API;
ipcRenderer: IpcRenderer;
2025-01-10 22:49:55 +08:00
$message: any;
}
}