docs/archives/110-desktop-indexeddb-fix/README.md
用户在Desktop应用中发现,即使在Electron环境下,开发者工具中仍然可以看到IndexedDB数据库,这违反了Desktop应用的架构设计(应该只使用主进程的memory storage)。
packages/core/src/services/prompt/factory.ts中有模块级别的StorageFactory.createDefault()调用createDefault()createDefault()方法在任何环境下都会创建IndexedDBStorageFactory.createDefault()方法TemplateLanguageService构造函数:改为必须传入storage参数prompt/factory.ts:移除模块级存储创建,改为依赖注入getModels() → getAllModels()packages/core/src/services/storage/factory.ts - 删除createDefault()和getCurrentDefault()packages/core/src/services/template/languageService.ts - 构造函数改为必须传入storagepackages/core/src/services/prompt/factory.ts - 重构为依赖注入方式packages/core/src/services/prompt/service.ts - 移除重复函数定义packages/core/src/index.ts - 修复导出路径packages/core/tests/integration/storage-implementations.test.ts - 更新测试packages/desktop/package.json - 添加缺失依赖packages/desktop/main.js - 修复API调用错误packages/desktop/build.js - 创建跨平台构建脚本packages/ui/src/composables/useAppInitializer.ts - 修复Electron存储代理createDefault()强制开发者明确指定存储类型getCurrentDefault()等失效方法任务负责人:AI Assistant
审核状态:已归档
归档时间:2025-01-02