mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-03 19:30:04 +08:00
fix: more robust portable data dir setup logic (#5347)
This commit is contained in:
parent
4fff7f9014
commit
ff21f764de
@ -17,7 +17,7 @@ import {
|
|||||||
import { registerShortcuts } from './services/ShortcutService'
|
import { registerShortcuts } from './services/ShortcutService'
|
||||||
import { TrayService } from './services/TrayService'
|
import { TrayService } from './services/TrayService'
|
||||||
import { windowService } from './services/WindowService'
|
import { windowService } from './services/WindowService'
|
||||||
import { setAppDataDir } from './utils/file'
|
import { setUserDataDir } from './utils/file'
|
||||||
|
|
||||||
// Check for single instance lock
|
// Check for single instance lock
|
||||||
if (!app.requestSingleInstanceLock()) {
|
if (!app.requestSingleInstanceLock()) {
|
||||||
@ -56,7 +56,7 @@ if (!app.requestSingleInstanceLock()) {
|
|||||||
|
|
||||||
replaceDevtoolsFont(mainWindow)
|
replaceDevtoolsFont(mainWindow)
|
||||||
|
|
||||||
setAppDataDir()
|
setUserDataDir()
|
||||||
|
|
||||||
// Setup deep link for AppImage on Linux
|
// Setup deep link for AppImage on Linux
|
||||||
await setupAppImageDeepLink()
|
await setupAppImageDeepLink()
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import * as fs from 'node:fs'
|
|||||||
import os from 'node:os'
|
import os from 'node:os'
|
||||||
import path from 'node:path'
|
import path from 'node:path'
|
||||||
|
|
||||||
import { isPortable } from '@main/constant'
|
import { isMac } from '@main/constant'
|
||||||
import { audioExts, documentExts, imageExts, textExts, videoExts } from '@shared/config/constant'
|
import { audioExts, documentExts, imageExts, textExts, videoExts } from '@shared/config/constant'
|
||||||
import { FileType, FileTypes } from '@types'
|
import { FileType, FileTypes } from '@types'
|
||||||
import { app } from 'electron'
|
import { app } from 'electron'
|
||||||
@ -85,11 +85,11 @@ export function getAppConfigDir(name: string) {
|
|||||||
return path.join(getConfigDir(), name)
|
return path.join(getConfigDir(), name)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function setAppDataDir() {
|
export function setUserDataDir() {
|
||||||
if (isPortable) {
|
if (!isMac) {
|
||||||
const dir = path.join(path.dirname(app.getPath('exe')), 'data')
|
const dir = path.join(path.dirname(app.getPath('exe')), 'data')
|
||||||
if (fs.existsSync(dir)) {
|
if (fs.existsSync(dir) && fs.statSync(dir).isDirectory()) {
|
||||||
app.setPath('appData', dir)
|
app.setPath('userData', dir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user