feat: Implement features and continuously optimize the proxy service

- Settings page UI
- Persist settings data
- Proxy server fixes & optimizations:
  - Fixed download latency caused by Range Seek
  - Improved cache stability
  - Implemented a dual-threading model to ensure smooth playback
- Optimized styles for the homepage TopBar and SideBar
- Added theme switching functionality
- Added theme color customization feature
This commit is contained in:
lqtmcstudio
2026-02-04 14:14:40 +08:00
parent c472ec06e5
commit 8eab16cbf5
13 changed files with 1935 additions and 323 deletions

View File

@@ -22,5 +22,21 @@ contextBridge.exposeInMainWorld('electronAPI', {
// Plugin System
plugin: {
call: (pluginId: string, method: string, args: any[]) => ipcRenderer.invoke('plugin:call', pluginId, method, args)
},
// Cache Control
getCacheInfo: () => ipcRenderer.invoke('cache:getInfo'),
setCachePersist: (persist: boolean) => ipcRenderer.invoke('cache:setPersist', persist),
openCacheFolder: () => ipcRenderer.invoke('cache:openFolder'),
clearCache: () => ipcRenderer.invoke('cache:clear'),
// Settings
settings: {
getAll: () => ipcRenderer.invoke('settings:getAll'),
set: (settings: any) => ipcRenderer.invoke('settings:set', settings),
getTheme: () => ipcRenderer.invoke('settings:getTheme'),
setTheme: (theme: 'dark' | 'light') => ipcRenderer.invoke('settings:setTheme', theme),
getAccentColor: () => ipcRenderer.invoke('settings:getAccentColor'),
setAccentColor: (color: string) => ipcRenderer.invoke('settings:setAccentColor', color)
}
})