diff --git a/electron/main/ipc/window.ts b/electron/main/ipc/window.ts index 801172d..cde5b16 100644 --- a/electron/main/ipc/window.ts +++ b/electron/main/ipc/window.ts @@ -59,6 +59,17 @@ export function registerWindowHandlers(ctx: IpcContext): void { return app.getVersion() }) + // 获取动态文案配置 + ipcMain.handle('app:fetchRemoteConfig', async (_, url: string) => { + try { + const response = await fetch(url) + const data = await response.json() + return { success: true, data } + } catch (error) { + return { success: false, error: String(error) } + } + }) + // ==================== 更新检查 ==================== ipcMain.on('check-update', () => { autoUpdater.checkForUpdates() diff --git a/electron/preload/index.d.ts b/electron/preload/index.d.ts index 96bf97d..6cfcd7d 100644 --- a/electron/preload/index.d.ts +++ b/electron/preload/index.d.ts @@ -88,6 +88,7 @@ interface Api { getVersion: () => Promise checkUpdate: () => void simulateUpdate: () => void + fetchRemoteConfig: (url: string) => Promise<{ success: boolean; data?: unknown; error?: string }> } } diff --git a/electron/preload/index.ts b/electron/preload/index.ts index 3d25444..a4c5139 100644 --- a/electron/preload/index.ts +++ b/electron/preload/index.ts @@ -995,6 +995,12 @@ const extendedApi = { simulateUpdate: (): void => { ipcRenderer.send('simulate-update') }, + /** + * 获取远程配置(通过主进程请求,绕过 CORS) + */ + fetchRemoteConfig: (url: string): Promise<{ success: boolean; data?: unknown; error?: string }> => { + return ipcRenderer.invoke('app:fetchRemoteConfig', url) + }, }, } diff --git a/src/components/common/SettingModal.vue b/src/components/common/SettingModal.vue index 59c3d6a..1241c3a 100644 --- a/src/components/common/SettingModal.vue +++ b/src/components/common/SettingModal.vue @@ -126,14 +126,13 @@ onMounted(() => { - +
-
diff --git a/src/components/common/settings/AIConfigEditModal.vue b/src/components/common/settings/AIConfigEditModal.vue index aebc23d..5ec17cf 100644 --- a/src/components/common/settings/AIConfigEditModal.vue +++ b/src/components/common/settings/AIConfigEditModal.vue @@ -1,5 +1,6 @@ + + diff --git a/src/components/common/sidebar/DynamicIcon.vue b/src/components/common/sidebar/DynamicIcon.vue new file mode 100644 index 0000000..2a4f2ad --- /dev/null +++ b/src/components/common/sidebar/DynamicIcon.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/components/common/sidebar/SidebarFooter.vue b/src/components/common/sidebar/SidebarFooter.vue index 3a293e8..f0a8e63 100644 --- a/src/components/common/sidebar/SidebarFooter.vue +++ b/src/components/common/sidebar/SidebarFooter.vue @@ -1,16 +1,64 @@