// Electron API 类型声明 interface ElectronPrinterInfo { name: string; displayName?: string; description?: string; status?: number; isDefault?: boolean; options?: Record; } interface ElectronAPI { fetchPdf: ( pdfUrl: string ) => Promise<{ success: boolean; data?: string; error?: string }>; printPdf: ( pdfUrl: string, options?: { printerName?: string; duplex?: boolean } ) => Promise<{ success: boolean; error?: string }>; getPrinters: () => Promise<{ success: boolean; printers?: ElectronPrinterInfo[]; error?: string; }>; startIdCardListen: () => Promise; stopIdCardListen: () => Promise; onIdCardData: (callback: (data: any) => void) => void; onIdCardError: (callback: (error: any) => void) => void; log: (level: string, message: any) => void; removeIdCardListeners: () => void; restartApp: () => void; quitApp: () => void; // 读取本地文件并返回 base64(如果失败返回 { success:false, error }) readLocalFile: ( filePath: string ) => Promise<{ success: boolean; data?: string; mime?: string; error?: string; }>; // 成功时返回 { success:true, data: base64String, mime?: mimeType } } interface Window { electronAPI: ElectronAPI; }