2026-02-09 15:52:45 +08:00

3.8 KiB
Raw Blame History

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账号模块

参考资料