f13ae2d3c1
* 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()
|