# 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) - 快速参考