# M3 词典系统模块 (v0.2.1-0.2.11)

## 模块概述
- **版本范围**: 0.2.1 ~ 0.2.11
- **任务数**: 11
- **目标**: 构建词典接口体系，支持多词典源查询和结果展示

## 关键产出
- 词典接口基类设计（DictionaryBase）
- 词典管理器（支持多词典注册和查询）
- 必应词典和有道词典实现
- 后台查询接口（Background Service Worker）
- 结果展示组件（支持折叠/展开）

## 任务列表

### M3.1 词典接口基类设计 [目标版本: 0.2.1]
**任务**: 定义词典抽象接口  
**验收标准**:
- [ ] `src/shared/dictionary/base.js` 存在
- [ ] 定义 `DictionaryBase` 类
- [ ] 要求子类实现 `search(word)` 方法
- [ ] 定义统一的返回格式：`{word, phonetic, meanings[], examples[]}`

### M3.2 词典管理器 [目标版本: 0.2.2]
**任务**: 管理多个词典实例  
**验收标准**:
- [ ] `src/shared/dictionary/manager.js` 存在
- [ ] 提供 `register(name, dictionaryInstance)` 注册词典
- [ ] 提供 `search(word, dictNames[])` 查询指定词典
- [ ] 提供 `getAll()` 获取所有已注册词典

### M3.3 必应词典实现（Mock版） [目标版本: 0.2.3]
**任务**: 先实现假数据版本  
**验收标准**:
- [ ] `src/shared/dictionary/bing.js` 存在
- [ ] 继承 `DictionaryBase`
- [ ] `search(word)` 返回模拟数据（不调用真实API）
- [ ] 模拟数据包含：单词、音标、词性、中文释义、例句

### M3.4 后台查询接口 [目标版本: 0.2.4]
**任务**: background 处理词典查询请求  
**验收标准**:
- [ ] background 监听 `DICT_SEARCH` 消息
- [ ] 调用词典管理器执行查询
- [ ] 返回查询结果给 content script
- [ ] Console 可看到查询结果

### M3.5 结果展示组件（静态） [目标版本: 0.2.5]
**任务**: 面板中显示词典结果  
**验收标准**:
- [ ] 面板内显示单词标题（大字）
- [ ] 显示音标（如果有）
- [ ] 显示词性和中文释义列表
- [ ] 显示1-2个例句（英文+中文翻译）

### M3.6 点击图标查词（Mock数据） [目标版本: 0.2.6]
**任务**: 打通完整流程  
**验收标准**:
- [ ] 网页划词，点击图标
- [ ] 面板显示该单词的 Mock 查询结果
- [ ] 结果显示格式正确，可读

### M3.7 必应词典真实API [目标版本: 0.2.7]
**任务**: 调用必应词典接口  
**验收标准**:
- [ ] 使用 fetch 请求必应词典网页
- [ ] 解析 HTML 提取释义数据
- [ ] 错误时返回友好提示（如"查询失败，请检查网络"）
- [ ] 替换 Mock 数据，显示真实结果

### M3.8 加载状态显示 [目标版本: 0.2.8]
**任务**: 查询时显示 loading  
**验收标准**:
- [ ] 点击图标后，面板先显示 loading 动画
- [ ] 查询完成后，loading 消失，显示结果
- [ ] 查询超时（5秒）显示"查询超时"

### M3.9 有道词典实现 [目标版本: 0.2.9]
**任务**: 添加第二个词典源  
**验收标准**:
- [ ] `src/shared/dictionary/youdao.js` 存在
- [ ] 实现 `search(word)` 调用有道API或网页
- [ ] 注册到词典管理器
- [ ] 面板中可同时显示必应和有道结果

### M3.10 结果折叠/展开 [目标版本: 0.2.10]
**任务**: 词典结果可折叠  
**验收标准**:
- [ ] 每个词典结果区域有标题栏（词典名+展开/折叠按钮）
- [ ] 点击标题栏可折叠/展开该词典结果
- [ ] 折叠状态用图标表示（▼/▶）

### M3.11 词典图标标识 [目标版本: 0.2.11]
**任务**: 每个词典显示对应Logo  
**验收标准**:
- [ ] 必应结果前有必应图标（或颜色标识）
- [ ] 有道结果前有道图标
- [ ] 图标使用小尺寸（16x16px）

## 依赖
- **前置模块**: M1 基础架构模块, M2 划词核心模块
- **后置模块**: M4 Popup查词模块, M6 触发方式模块, M9 API账号模块

## 参考资料
- [AGENTS.md](./AGENTS.md) - 规范文档
- [QUICK_REF.md](./QUICK_REF.md) - 快速参考
