3.8 KiB
3.8 KiB
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 - 规范文档
- QUICK_REF.md - 快速参考