mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-25 11:20:07 +08:00
* refactor: move initAppDataDir function to a new utils module - Updated the import path for initAppDataDir in bootstrap.ts to reflect its new location in the utils/init module. - Removed the initAppDataDir function and related code from file.ts to streamline the file and improve organization. * refactor: update import structure in ipc.ts - Removed the import of updateAppDataConfig from file.ts and added it to the new init module for better organization and clarity in the code structure. * refactor: rename getConfigPath to getConfigDir and update related references - Renamed the function getConfigPath to getConfigDir for clarity. - Updated references to the renamed function in getAppDataPathFromConfig and updateAppDataConfig to reflect the new naming convention.
34 lines
979 B
TypeScript
34 lines
979 B
TypeScript
import { occupiedDirs } from '@shared/config/constant'
|
||
import { app } from 'electron'
|
||
import fs from 'fs'
|
||
import path from 'path'
|
||
|
||
import { initAppDataDir } from './utils/init'
|
||
|
||
app.isPackaged && initAppDataDir()
|
||
|
||
// 在主进程中复制 appData 中某些一直被占用的文件
|
||
// 在renderer进程还没有启动时,主进程可以复制这些文件到新的appData中
|
||
function copyOccupiedDirsInMainProcess() {
|
||
const newAppDataPath = process.argv
|
||
.slice(1)
|
||
.find((arg) => arg.startsWith('--new-data-path='))
|
||
?.split('--new-data-path=')[1]
|
||
if (!newAppDataPath) {
|
||
return
|
||
}
|
||
|
||
if (process.platform === 'win32') {
|
||
const appDataPath = app.getPath('userData')
|
||
occupiedDirs.forEach((dir) => {
|
||
const dirPath = path.join(appDataPath, dir)
|
||
const newDirPath = path.join(newAppDataPath, dir)
|
||
if (fs.existsSync(dirPath)) {
|
||
fs.cpSync(dirPath, newDirPath, { recursive: true })
|
||
}
|
||
})
|
||
}
|
||
}
|
||
|
||
copyOccupiedDirsInMainProcess()
|