From 7b58883d33a3760b8ad1ed91355e77a0c9d1a5a2 Mon Sep 17 00:00:00 2001 From: fullex <106392080+0xfullex@users.noreply.github.com> Date: Mon, 21 Jul 2025 10:20:47 +0800 Subject: [PATCH] fix(PreloadAPI): change Obsidian api from global window to window.api (#8320) * fix: change Obsidian API from global window into window.apiI * fix: format --- src/preload/index.ts | 10 +++++----- src/renderer/src/components/ObsidianExportDialog.tsx | 6 +++--- .../pages/settings/DataSettings/ObsidianSettings.tsx | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/preload/index.ts b/src/preload/index.ts index 1fdaffc096..1d5d05de31 100644 --- a/src/preload/index.ts +++ b/src/preload/index.ts @@ -174,6 +174,11 @@ const api = { export: { toWord: (markdown: string, fileName: string) => ipcRenderer.invoke(IpcChannel.Export_Word, markdown, fileName) }, + obsidian: { + getVaults: () => ipcRenderer.invoke(IpcChannel.Obsidian_GetVaults), + getFolders: (vaultName: string) => ipcRenderer.invoke(IpcChannel.Obsidian_GetFiles, vaultName), + getFiles: (vaultName: string) => ipcRenderer.invoke(IpcChannel.Obsidian_GetFiles, vaultName) + }, openPath: (path: string) => ipcRenderer.invoke(IpcChannel.Open_Path, path), shortcuts: { update: (shortcuts: Shortcut[]) => ipcRenderer.invoke(IpcChannel.Shortcuts_Update, shortcuts) @@ -394,11 +399,6 @@ if (process.contextIsolated) { try { contextBridge.exposeInMainWorld('electron', electronAPI) contextBridge.exposeInMainWorld('api', api) - contextBridge.exposeInMainWorld('obsidian', { - getVaults: () => ipcRenderer.invoke(IpcChannel.Obsidian_GetVaults), - getFolders: (vaultName: string) => ipcRenderer.invoke(IpcChannel.Obsidian_GetFiles, vaultName), - getFiles: (vaultName: string) => ipcRenderer.invoke(IpcChannel.Obsidian_GetFiles, vaultName) - }) } catch (error) { // eslint-disable-next-line no-restricted-syntax console.error(error) diff --git a/src/renderer/src/components/ObsidianExportDialog.tsx b/src/renderer/src/components/ObsidianExportDialog.tsx index d45dde0856..355153ae8f 100644 --- a/src/renderer/src/components/ObsidianExportDialog.tsx +++ b/src/renderer/src/components/ObsidianExportDialog.tsx @@ -181,7 +181,7 @@ const PopupContainer: React.FC = ({ try { setLoading(true) setError(null) - const vaultsData = await window.obsidian.getVaults() + const vaultsData = await window.api.obsidian.getVaults() if (vaultsData.length === 0) { setError(i18n.t('chat.topics.export.obsidian_no_vaults')) setLoading(false) @@ -191,7 +191,7 @@ const PopupContainer: React.FC = ({ const vaultToUse = defaultObsidianVault || vaultsData[0]?.name if (vaultToUse) { setSelectedVault(vaultToUse) - const filesData = await window.obsidian.getFiles(vaultToUse) + const filesData = await window.api.obsidian.getFiles(vaultToUse) setFiles(filesData) } } catch (error) { @@ -210,7 +210,7 @@ const PopupContainer: React.FC = ({ try { setLoading(true) setError(null) - const filesData = await window.obsidian.getFiles(selectedVault) + const filesData = await window.api.obsidian.getFiles(selectedVault) setFiles(filesData) } catch (error) { logger.error('获取Obsidian文件失败:', error) diff --git a/src/renderer/src/pages/settings/DataSettings/ObsidianSettings.tsx b/src/renderer/src/pages/settings/DataSettings/ObsidianSettings.tsx index 72aa6bf153..d98ebc4955 100644 --- a/src/renderer/src/pages/settings/DataSettings/ObsidianSettings.tsx +++ b/src/renderer/src/pages/settings/DataSettings/ObsidianSettings.tsx @@ -28,7 +28,7 @@ const ObsidianSettings: FC = () => { try { setLoading(true) setError(null) - const vaultsData = await window.obsidian.getVaults() + const vaultsData = await window.api.obsidian.getVaults() if (vaultsData.length === 0) { setError(t('settings.data.obsidian.default_vault_no_vaults'))