89 lines
2.8 KiB
Markdown
89 lines
2.8 KiB
Markdown
# 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) - 快速参考
|