refactor: 数据库层从 better-sqlite3 迁移到 sql.js (WASM)
- 替换原生依赖 better-sqlite3 为纯 WASM 的 sql.js,消除 Electron ABI 版本不匹配问题 - 新增 sql.js 兼容层:runExec/queryOne/queryAll/runPragma/runTransaction - initDatabase() 改为异步(WASM 加载需要) - 每次写操作后自动 persist() 到磁盘 - electron-builder 配置:extraResources 打包 sql-wasm.wasm - 移除 @electron/rebuild 依赖和 postinstall 脚本 - 设置 npmRebuild: false(不再需要原生模块重编译)
This commit is contained in:
+2
-2
@@ -76,7 +76,7 @@ function summarizeResult(toolName: string, result: Record<string, unknown>): str
|
||||
}
|
||||
}
|
||||
|
||||
export function setupIPC(): void {
|
||||
export async function setupIPC(): Promise<void> {
|
||||
ipcMain.handle('dialog:openFile', async (_, options?: { filters?: Array<{ name: string; extensions: string[] }> }) => {
|
||||
const result = await dialog.showOpenDialog(mainWindow!, {
|
||||
properties: ['openFile', 'multiSelections'],
|
||||
@@ -267,7 +267,7 @@ export function setupIPC(): void {
|
||||
// ══════════════════════════════════════════════
|
||||
|
||||
// 初始化数据库
|
||||
initDatabase();
|
||||
await initDatabase();
|
||||
sendLog('success', '📦 SQLite 数据库已初始化');
|
||||
|
||||
// Sessions
|
||||
|
||||
Reference in New Issue
Block a user