# 第14章 核心服务层
> 📖 《Gemini-Voyager 从入门到精通》系列连载
---
## 14.1 StorageService(存储服务)
存储服务是数据中枢,遵循「单一数据源」原则。
### 架构
```
┌─────────────────────────────────────────────────────────────────┐
│ StorageService 架构 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ StorageService │ │
│ │ • get<T>(key): Promise<Result<T>> │ │
│ │ • set<T>(key, value): Promise<Result<void>> │ │
│ │ • remove(key): Promise<Result<void>> │ │
│ │ • clear(): Promise<Result<void>> │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │ │
│ ┌───────────────────┼───────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Sync │ │ Local │ │ Session │ │
│ │ Storage │ │ Storage │ │ Storage │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ │
│ 附加功能: │
│ • 错误处理 (扩展上下文失效处理) │
│ • 数据迁移 (版本检测与转换) │
│ • 日志记录 (操作审计) │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## 14.2 GoogleDriveSyncService(云同步)
云同步服务使用 OAuth 2.0 + Google Drive API。
### 数据组织
```
┌─────────────────────────────────────────────────────────────────┐
│ 云同步服务数据流 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ GoogleDriveSyncService │
│ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Folders │ │ Prompts │ │ Starred │ │
│ │ .json │ │ .json │ │ .json │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ │ │ │ │
│ └───────────────┴───────────────┘ │
│ ▼ │
│ Google Drive: /My Drive/Gemini Voyager Data/ │
│ │
│ 同步策略: │
│ • 增量同步 (只传输变化数据) │
│ • 冲突处理 (最后写入胜出) │
│ • 自动重试 (指数退避) │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## 14.3 DataBackupService(备份服务)
多层数据保护机制。
### 备份模式
- **手动备份** - 用户主动触发
- **自动备份** - 变更检测触发
- **定时备份** - 定期执行
---
## 14.4 KeyboardShortcutService(快捷键)
全局键盘快捷键管理。
- 标准格式: "Ctrl+Shift+F"
- 冲突检测
- 作用域管理
---
> ⏳ 下一章将介绍特性模块设计
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!