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

59 lines
2.3 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;
2025-12-20 18:32:14 +08:00
quitApp: () => void;
2025-04-12 23:16:12 +08:00
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 18:32:14 +08:00
lxMusicHttpRequest: (request: { url: string; options: any; requestId: string }) => Promise<any>;
2025-12-20 02:29:22 +08:00
lxMusicHttpCancel: (requestId: string) => Promise<void>;
/** 扫描指定文件夹中的本地音乐文件 */
scanLocalMusic: (folderPath: string) => Promise<{ files: string[]; count: number }>;
/** 扫描指定文件夹中的本地音乐文件(包含修改时间) */
scanLocalMusicWithStats: (
folderPath: string
) => Promise<{ files: { path: string; modifiedTime: number }[]; count: number }>;
/** 批量解析本地音乐文件元数据 */
parseLocalMusicMetadata: (
filePaths: string[]
) => Promise<import('../renderer/types/localMusic').LocalMusicMeta[]>;
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;
}
}