108 lines
3.8 KiB
Markdown
108 lines
3.8 KiB
Markdown
# 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) - 快速参考
|