//electron\preload.ts import { contextBridge, ipcRenderer } from 'electron'; // 在文件顶部添加类型声明 interface Message { role: 'user' | 'assistant' | 'system'; content: string; } contextBridge.exposeInMainWorld('electronAPI', { // 天气接口 getWeather: (params: { lon: number; lat: number }) => ipcRenderer.invoke('get-weather', params), // 新闻接口 getNews: () => ipcRenderer.invoke('get-news'), // 聊天接口 chatWithDeepseek: (messages: Message[]) => ipcRenderer.invoke('chat-with-deepseek', { messages }), onChatStreamChunk: (callback: (event: unknown, chunk: string) => void) => ipcRenderer.on('chat-stream-chunk', callback), onChatStreamEnd: (callback: () => void) => ipcRenderer.on('chat-stream-end', callback), onChatStreamError: (callback: (event: unknown, error: string) => void) => ipcRenderer.on('chat-stream-error', callback), removeListener: (channel: string, callback: (...args: any[]) => void) => ipcRenderer.removeListener(channel, callback) });