# M8 生词本模块 (v0.7.1-0.7.10) ## 模块概述 - **版本范围**: 0.7.1 ~ 0.7.10 - **任务数**: 10 - **目标**: 构建完整的生词本系统,支持收藏、管理和导出 ## 关键产出 - 收藏功能实现(心形图标) - IndexedDB 数据库封装 - 生词本页面(列表展示、搜索、删除) - 多格式导出(JSON、CSV、Anki) - 生词导入功能 - 上下文保存功能 ## 任务列表 ### M8.1 收藏功能实现 [目标版本: 0.7.1] **任务**: 点击心形收藏单词 **验收标准**: - [ ] 点击面板/Popup中的心形图标,保存单词 - [ ] 实心表示已收藏,空心表示未收藏 - [ ] 再次点击取消收藏 ### M8.2 生词本数据库 [目标版本: 0.7.2] **任务**: 使用 IndexedDB 存储 **验收标准**: - [ ] `src/shared/database.js` 封装 IndexedDB - [ ] 表结构:id, word, phonetic, translation, context, url, timestamp - [ ] 提供 `add()`, `remove()`, `getAll()`, `search()` 方法 ### M8.3 生词本页面 [目标版本: 0.7.3] **任务**: 查看收藏的单词 **验收标准**: - [ ] 设置页新增"生词本"菜单 - [ ] 以列表形式展示所有生词 - [ ] 显示:单词、音标、释义、收藏时间 ### M8.4 生词本搜索 [目标版本: 0.7.4] **任务**: 搜索生词 **验收标准**: - [ ] 生词本页顶部有搜索框 - [ ] 输入时实时过滤列表 ### M8.5 生词本删除 [目标版本: 0.7.5] **任务**: 移除生词 **验收标准**: - [ ] 每个生词项有删除按钮 - [ ] 支持批量删除(复选框+删除选中) ### M8.6 生词本导出(JSON) [目标版本: 0.7.6] **任务**: 导出为 JSON 格式 **验收标准**: - [ ] "导出"按钮,选择 JSON 格式 - [ ] 下载 .json 文件,包含所有生词数据 ### M8.7 生词本导出(CSV) [目标版本: 0.7.7] **任务**: 导出为 CSV 格式 **验收标准**: - [ ] 导出选项包含 CSV 格式 - [ ] CSV 列:单词,音标,释义,例句,来源URL,时间 ### M8.8 生词本导出(Anki) [目标版本: 0.7.8] **任务**: 导出为 Anki 格式 **验收标准**: - [ ] 导出选项包含 Anki (.txt) - [ ] 格式兼容 Anki 导入(制表符分隔) ### M8.9 生词本导入 [目标版本: 0.7.9] **任务**: 从文件导入 **验收标准**: - [ ] "导入"按钮,支持 JSON 格式 - [ ] 导入后生词追加到现有生词本 ### M8.10 收藏时添加上下文 [目标版本: 0.7.10] **任务**: 保存单词出现的句子 **验收标准**: - [ ] 收藏时,自动提取单词所在句子(从页面文本中) - [ ] 保存到生词本的 context 字段 - [ ] 生词本列表中可展开查看上下文 ## 依赖 - **前置模块**: M1 基础架构模块, M2 划词核心模块, M5 设置系统模块 - **后置模块**: 无 ## 参考资料 - [AGENTS.md](./AGENTS.md) - 规范文档 - [QUICK_REF.md](./QUICK_REF.md) - 快速参考