2025-08-04 22:16:26 +08:00
|
|
|
import { contextBridge, ipcRenderer } from 'electron'
|
|
|
|
|
import { Provider } from '../shared/types'
|
|
|
|
|
|
|
|
|
|
contextBridge.exposeInMainWorld('electronAPI', {
|
|
|
|
|
getProviders: () => ipcRenderer.invoke('getProviders'),
|
|
|
|
|
getCurrentProvider: () => ipcRenderer.invoke('getCurrentProvider'),
|
|
|
|
|
addProvider: (provider: Provider) => ipcRenderer.invoke('addProvider', provider),
|
|
|
|
|
deleteProvider: (id: string) => ipcRenderer.invoke('deleteProvider', id),
|
2025-08-05 09:51:41 +08:00
|
|
|
updateProvider: (provider: Provider) => ipcRenderer.invoke('updateProvider', provider),
|
2025-08-04 22:16:26 +08:00
|
|
|
switchProvider: (providerId: string) => ipcRenderer.invoke('switchProvider', providerId),
|
2025-08-07 21:28:45 +08:00
|
|
|
importCurrentConfigAsDefault: () => ipcRenderer.invoke('importCurrentConfigAsDefault'),
|
2025-08-05 20:30:18 +08:00
|
|
|
getClaudeCodeConfigPath: () => ipcRenderer.invoke('getClaudeCodeConfigPath'),
|
2025-08-06 09:56:27 +08:00
|
|
|
selectConfigFile: () => ipcRenderer.invoke('selectConfigFile'),
|
2025-08-07 22:08:47 +08:00
|
|
|
openConfigFolder: () => ipcRenderer.invoke('openConfigFolder'),
|
2025-08-06 09:56:27 +08:00
|
|
|
openExternal: (url: string) => ipcRenderer.invoke('openExternal', url)
|
2025-08-10 19:13:45 +08:00
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// 暴露平台信息给渲染进程,用于平台特定样式控制
|
|
|
|
|
contextBridge.exposeInMainWorld('platform', {
|
|
|
|
|
isMac: process.platform === 'darwin'
|
|
|
|
|
})
|