From a9559b4a81eff1c064cd9e79948164138dfbe600 Mon Sep 17 00:00:00 2001 From: chenqiang Date: Tue, 12 Aug 2025 11:18:56 +0800 Subject: [PATCH] ai --- electron/db/index.js | 4 ++-- electron/db/path.js | 11 ++++++----- electron/main.js | 3 +++ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/electron/db/index.js b/electron/db/index.js index e35c27f..573a60b 100644 --- a/electron/db/index.js +++ b/electron/db/index.js @@ -411,11 +411,11 @@ export async function initializeDatabase() { console.log('数据库整体初始化成功'); global.initResult = true; - return true; + return { success: true }; } catch (error) { console.error('数据库初始化失败:', error); global.initResult = false; - return false; + return { success: false, error: error.message }; } finally { global.isInitializing = false; } diff --git a/electron/db/path.js b/electron/db/path.js index 1e4d889..6005ef6 100644 --- a/electron/db/path.js +++ b/electron/db/path.js @@ -2,20 +2,21 @@ import path from 'path'; import fs from 'fs'; import { fileURLToPath } from 'url'; +// 导入app模块 +import { app } from 'electron'; // 获取当前文件所在目录 const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); -// 获取项目根目录 -const getProjectRoot = () => { - return path.resolve(__dirname, '../..'); +// 获取用户数据目录(跨平台解决方案) +const getUserDataPath = () => { + return app.getPath('userData'); }; // 确保数据目录存在 const ensureDataDirExists = () => { - const projectRoot = getProjectRoot(); - const dataDir = path.join(projectRoot, 'data'); + const dataDir = path.join(getUserDataPath(), 'data'); if (!fs.existsSync(dataDir)) { fs.mkdirSync(dataDir, { recursive: true }); } diff --git a/electron/main.js b/electron/main.js index 743e3ad..ef3f25a 100644 --- a/electron/main.js +++ b/electron/main.js @@ -179,6 +179,9 @@ async function setupApp() { try { console.log("应用启动 - 检查数据库初始化状态..."); + // 等待应用就绪 + await app.whenReady(); + // 执行数据库迁移 await migrateDatabases();