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

89 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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