mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-09 23:10:20 +08:00
Revert "feat: add resolveFilePath functionality to resolve restoring from different computer (#5980)"
This reverts commit 3abe0e803c.
This commit is contained in:
parent
e8753e0cf3
commit
09952a4d3b
@ -113,7 +113,7 @@ export enum IpcChannel {
|
|||||||
File_BinaryImage = 'file:binaryImage',
|
File_BinaryImage = 'file:binaryImage',
|
||||||
File_Base64File = 'file:base64File',
|
File_Base64File = 'file:base64File',
|
||||||
Fs_Read = 'fs:read',
|
Fs_Read = 'fs:read',
|
||||||
File_ResolveFilePath = 'file:resolveFilePath',
|
|
||||||
Export_Word = 'export:word',
|
Export_Word = 'export:word',
|
||||||
|
|
||||||
Shortcuts_Update = 'shortcuts:update',
|
Shortcuts_Update = 'shortcuts:update',
|
||||||
|
|||||||
@ -242,7 +242,6 @@ export function registerIpc(mainWindow: BrowserWindow, app: Electron.App) {
|
|||||||
ipcMain.handle(IpcChannel.File_Download, fileManager.downloadFile)
|
ipcMain.handle(IpcChannel.File_Download, fileManager.downloadFile)
|
||||||
ipcMain.handle(IpcChannel.File_Copy, fileManager.copyFile)
|
ipcMain.handle(IpcChannel.File_Copy, fileManager.copyFile)
|
||||||
ipcMain.handle(IpcChannel.File_BinaryImage, fileManager.binaryImage)
|
ipcMain.handle(IpcChannel.File_BinaryImage, fileManager.binaryImage)
|
||||||
ipcMain.handle(IpcChannel.File_ResolveFilePath, (_, name) => fileManager.resolveFilePath(name))
|
|
||||||
|
|
||||||
// fs
|
// fs
|
||||||
ipcMain.handle(IpcChannel.Fs_Read, FileService.readFile)
|
ipcMain.handle(IpcChannel.Fs_Read, FileService.readFile)
|
||||||
|
|||||||
@ -27,10 +27,6 @@ class FileStorage {
|
|||||||
this.initStorageDir()
|
this.initStorageDir()
|
||||||
}
|
}
|
||||||
|
|
||||||
public resolveFilePath = (name: string): string => {
|
|
||||||
return path.join(this.storageDir, name)
|
|
||||||
}
|
|
||||||
|
|
||||||
private initStorageDir = (): void => {
|
private initStorageDir = (): void => {
|
||||||
try {
|
try {
|
||||||
if (!fs.existsSync(this.storageDir)) {
|
if (!fs.existsSync(this.storageDir)) {
|
||||||
|
|||||||
@ -55,7 +55,6 @@ const api = {
|
|||||||
},
|
},
|
||||||
file: {
|
file: {
|
||||||
select: (options?: OpenDialogOptions) => ipcRenderer.invoke(IpcChannel.File_Select, options),
|
select: (options?: OpenDialogOptions) => ipcRenderer.invoke(IpcChannel.File_Select, options),
|
||||||
resolveFilePath: (name: string) => ipcRenderer.invoke(IpcChannel.File_ResolveFilePath, name),
|
|
||||||
upload: (file: FileType) => ipcRenderer.invoke(IpcChannel.File_Upload, file),
|
upload: (file: FileType) => ipcRenderer.invoke(IpcChannel.File_Upload, file),
|
||||||
delete: (fileId: string) => ipcRenderer.invoke(IpcChannel.File_Delete, fileId),
|
delete: (fileId: string) => ipcRenderer.invoke(IpcChannel.File_Delete, fileId),
|
||||||
read: (fileId: string) => ipcRenderer.invoke(IpcChannel.File_Read, fileId),
|
read: (fileId: string) => ipcRenderer.invoke(IpcChannel.File_Read, fileId),
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import db from '@renderer/databases'
|
|||||||
import { upgradeToV7 } from '@renderer/databases/upgrades'
|
import { upgradeToV7 } from '@renderer/databases/upgrades'
|
||||||
import i18n from '@renderer/i18n'
|
import i18n from '@renderer/i18n'
|
||||||
import store from '@renderer/store'
|
import store from '@renderer/store'
|
||||||
import { updateKnowledgeBaseFilePath } from '@renderer/services/KnowledgeService'
|
|
||||||
import { setWebDAVSyncState } from '@renderer/store/backup'
|
import { setWebDAVSyncState } from '@renderer/store/backup'
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
|
|
||||||
@ -34,7 +33,6 @@ export async function restore() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await handleData(data)
|
await handleData(data)
|
||||||
await updateKnowledgeBaseFilePath()
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
Logger.error('[Backup] restore: Error restoring backup file:', error)
|
Logger.error('[Backup] restore: Error restoring backup file:', error)
|
||||||
window.message.error({ content: i18n.t('error.backup.file_format'), key: 'restore' })
|
window.message.error({ content: i18n.t('error.backup.file_format'), key: 'restore' })
|
||||||
@ -214,7 +212,6 @@ export async function restoreFromWebdav(fileName?: string) {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
await handleData(JSON.parse(data))
|
await handleData(JSON.parse(data))
|
||||||
await updateKnowledgeBaseFilePath()
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('[Backup] Error downloading file from WebDAV:', error)
|
console.error('[Backup] Error downloading file from WebDAV:', error)
|
||||||
window.message.error({ content: i18n.t('error.backup.file_format'), key: 'restore' })
|
window.message.error({ content: i18n.t('error.backup.file_format'), key: 'restore' })
|
||||||
|
|||||||
@ -12,10 +12,6 @@ class FileManager {
|
|||||||
return files
|
return files
|
||||||
}
|
}
|
||||||
|
|
||||||
static async resolveFilePath(name: string): Promise<string> {
|
|
||||||
return window.api.file.resolveFilePath(name)
|
|
||||||
}
|
|
||||||
|
|
||||||
static async addFile(file: FileType): Promise<FileType> {
|
static async addFile(file: FileType): Promise<FileType> {
|
||||||
const fileRecord = await db.files.get(file.id)
|
const fileRecord = await db.files.get(file.id)
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import { getEmbeddingMaxContext } from '@renderer/config/embedings'
|
|||||||
import Logger from '@renderer/config/logger'
|
import Logger from '@renderer/config/logger'
|
||||||
import AiProvider from '@renderer/providers/AiProvider'
|
import AiProvider from '@renderer/providers/AiProvider'
|
||||||
import store from '@renderer/store'
|
import store from '@renderer/store'
|
||||||
import { updateBases } from '@renderer/store/knowledge'
|
|
||||||
import { FileType, KnowledgeBase, KnowledgeBaseParams, KnowledgeReference } from '@renderer/types'
|
import { FileType, KnowledgeBase, KnowledgeBaseParams, KnowledgeReference } from '@renderer/types'
|
||||||
import { ExtractResults } from '@renderer/utils/extract'
|
import { ExtractResults } from '@renderer/utils/extract'
|
||||||
import { isEmpty } from 'lodash'
|
import { isEmpty } from 'lodash'
|
||||||
@ -12,29 +11,6 @@ import { isEmpty } from 'lodash'
|
|||||||
import { getProviderByModel } from './AssistantService'
|
import { getProviderByModel } from './AssistantService'
|
||||||
import FileManager from './FileManager'
|
import FileManager from './FileManager'
|
||||||
|
|
||||||
export const updateKnowledgeBaseFilePath = async () => {
|
|
||||||
const bases = store.getState().knowledge.bases
|
|
||||||
const updatedBases = await Promise.all(
|
|
||||||
bases.map(async (base) => {
|
|
||||||
const updatedBase = { ...base }
|
|
||||||
updatedBase.items = await Promise.all(
|
|
||||||
base.items.map(async (item) => {
|
|
||||||
const updatedItem = { ...item }
|
|
||||||
if (item.type === 'file' || item.type === 'directory') {
|
|
||||||
updatedItem.content = { ...(item.content as FileType) }
|
|
||||||
updatedItem.content.path = await FileManager.resolveFilePath(updatedItem.content.name)
|
|
||||||
}
|
|
||||||
return updatedItem
|
|
||||||
})
|
|
||||||
)
|
|
||||||
return updatedBase
|
|
||||||
})
|
|
||||||
)
|
|
||||||
|
|
||||||
// 使用 dispatch 更新状态
|
|
||||||
store.dispatch(updateBases(updatedBases))
|
|
||||||
}
|
|
||||||
|
|
||||||
export const getKnowledgeBaseParams = (base: KnowledgeBase): KnowledgeBaseParams => {
|
export const getKnowledgeBaseParams = (base: KnowledgeBase): KnowledgeBaseParams => {
|
||||||
const provider = getProviderByModel(base.model)
|
const provider = getProviderByModel(base.model)
|
||||||
const rerankProvider = getProviderByModel(base.rerankModel)
|
const rerankProvider = getProviderByModel(base.rerankModel)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user