# 第15章 特性模块设计
> 📖 《Gemini-Voyager 从入门到精通》系列连载
---
## 15.1 导出模块架构
导出模块将对话转换为各种格式。
### 分层设计
```
┌─────────────────────────────────────────────────────────────────┐
│ 导出模块架构 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ConversationExportService │ │
│ │ (导出流程编排与输出处理) │ │
│ └──────────────────────────┬────────────────────────────┘ │
│ │ │
│ ┌───────────────────┼───────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │MarkdownFormat│ │ PDFPrint │ │ ImageExport │ │
│ │ ter │ │ Service │ │ Service │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ └───────────────────┼───────────────────┘ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ DOMContentExtractor │ │
│ │ (从页面提取对话数据) │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ 数据流向: 页面 DOM → 数据提取 → 格式转换 → 输出 → 下载 │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## 15.2 文件夹模块架构
文件夹模块负责对话的文件夹组织功能。
### 模块结构
```
┌─────────────────────────────────────────────────────────────────┐
│ 文件夹模块架构 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ FolderManager │ │
│ │ (统一协调与状态管理) │ │
│ └──────────────────────────┬────────────────────────────┘ │
│ │ │
│ ┌───────────────────┼───────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │StorageAdapter│ │ DOMHandler │ │ EventHandler │ │
│ │ 数据持久化 │ │ 界面渲染 │ │ 交互处理 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ 平台适配器: │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ gemini.ts │ │ aistudio.ts │ │
│ │ (Gemini 适配)│ │(AI Studio适配)│ │
│ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## 15.3 内容脚本模块
内容脚本是与网页交互的核心机制。
### 22个功能模块
```
┌─────────────────────────────────────────────────────────────────┐
│ 内容脚本模块 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 22 个功能模块 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ folder/ │ timeline/ │ export/ │ │
│ │ prompt/ │ deepResearch/ │ watermarkRemover/ │ │
│ │ mermaid/ │ markdownPatcher/ │ ... │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ 通信机制: Event Bus (事件总线) │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
> ⏳ 下一章将介绍工程实践
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!