3 Commits
Author SHA1 Message Date
linshen 71600b5081 feat: 重构导入导出架构
## 核心架构重构
- 创建IImportExportable接口,定义统一的导入导出规范
- 新增ImportExportError错误类,提供专门的错误处理
- 将导入导出逻辑从集中式DataManager分散到各个服务
- DataManager职责精简:从375行减至67行(-308行),仅负责协调

## 存储键架构优化
- 移动storage-keys.ts从ui包到core包,实现统一管理
- 修复存储键双重用途问题:物理存储键vs逻辑JSON导出键
- PreferenceService添加'pref:'前缀处理物理存储
- 解决数据导出不完整的关键架构缺陷

## 服务层改造
### ModelManager
- 实现IImportExportable接口(+209行,-153行)
- 添加exportData/importData/validateData方法
- 保持向后兼容的数据格式

### TemplateManager
- 实现分布式导入导出逻辑
- 移除过度设计的configurable storageKey
- 统一使用PreferenceService管理用户偏好

### HistoryManager
- 添加完整的导入导出实现
- 支持数据验证和错误处理

### PreferenceService
- 实现统一的用户设置导入导出
- 处理存储键前缀转换逻辑
- 支持builtin-template-language等核心设置

## Electron桌面端更新
- main.js: 新增148行IPC处理逻辑
- preload.js: 新增177行API暴露
- 更新所有service proxy类支持新接口
- 保持IPC通信的类型安全

## 测试体系完善
- 新增各服务专门的import-export.test.ts文件
- 创建data/import-export-integration.test.ts集成测试
- 建立AI自动化测试框架验证存储键一致性
- 更新现有测试适配新架构

## 文档与架构说明
- 创建import-export-interface-design.md设计文档
- 添加storage-key-architecture.md架构说明
- 建立AI自动化测试文档体系
- 更新workspace文档记录重构过程

BREAKING CHANGE: 导入导出接口从集中式DataManager重构为分布式服务实现,
各服务现在必须实现IImportExportable接口,存储键架构发生变化
2025-07-12 11:56:14 +08:00
linshen 8a35c010cc feat: 新增文件存储支持与历史记录管理优化
- 在`.gitignore`中添加了`prompt-optimizer-datas`以排除相关数据文件。
- 更新`INDEX.md`,新增桌面版文件存储实现的相关信息,确保文档的完整性。
- 在`index.ts`中导出了`FileStorageProvider`,支持文件存储功能。
- 修改`factory.ts`,新增对文件存储类型的支持,并优化错误处理逻辑。
- 在集成测试中模拟了历史记录的保存与验证,确保功能的正确性。
- 更新了多个测试用例,确保历史记录管理逻辑的准确性与一致性。

这些变更旨在提升数据存储的灵活性与历史记录管理的可靠性,确保用户体验的优化。
2025-07-05 16:24:21 +08:00
linshen f89fbb76eb feat(template): 增强模板管理器以支持内置模板语言切换
- 新增内置模板语言服务,支持中英文切换
- 更新模板管理器以根据当前语言加载相应的内置模板
- 实现语言切换功能,允许用户动态更改模板语言
- 增强错误处理,确保在语言切换和模板加载过程中稳定性
- 更新相关测试用例以验证新功能的正确性
2025-06-08 21:58:32 +08:00