// 将 CommonJS 导入改为 ES 模块导入 import { getSystemDbPath } from '../db/path.js'; import { openDatabase } from '../db/utils.js'; // 获取系统配置 async function getSystemConfig() { try { const systemDb = await openDatabase(getSystemDbPath()); const configs = await systemDb.allAsync('SELECT key, value FROM config'); // 不要关闭连接,由连接池管理 const configMap = {}; configs.forEach(config => { configMap[config.key] = config.value; }); return configMap; } catch (error) { console.error('Get system config failed:', error); throw error; } } // 更新系统配置 async function updateSystemConfig(config) { try { const systemDb = await openDatabase(getSystemDbPath()); await systemDb.runAsync('BEGIN TRANSACTION'); for (const [key, value] of Object.entries(config)) { await systemDb.runAsync('UPDATE config SET value = ? WHERE key = ?', [value, key]); } await systemDb.runAsync('COMMIT'); // 不要关闭连接,由连接池管理 return true; } catch (error) { await systemDb.runAsync('ROLLBACK'); // 不要关闭连接,由连接池管理 console.error('Update system config failed:', error); throw error; } } // 增加题库版本号 async function increaseQuestionBandVersion() { try { const systemDb = await openDatabase(getSystemDbPath()); await systemDb.runAsync('UPDATE config SET value = value + 1 WHERE key = ?', ['question_bank_version']); // 不要关闭连接,由连接池管理 return true; } catch (error) { console.error('Increase question bank version failed:', error); throw error; } } export { getSystemConfig, updateSystemConfig, increaseQuestionBandVersion };