🤖 本项目纯 AI 生成(Claude Code),零人工代码,是一个以 AI 驱动开发的全栈 Flutter 单词本应用。
多端单词本 App —— 基于 Flutter 构建,Material You 设计风格。核心理念:英英释义优先,搭配名著例句辅助理解,让单词在真实语境中扎根。支持在线查词、本地管理、间隔重复背诵。
- 创建多个单词本,分类管理不同场景的词汇(如四级、托福、日常积累)
- 一键切换当前单词本,每个单词本独立维护
- 支持重命名与删除(删除单词本会级联删除其下所有单词)
- 接入有道词典与 Dictionary API 双数据源,自动 fallback
- 英英释义优先:优先展示英文释义,帮助建立英语思维,避免中英翻译的思维转换
- 输入英文单词即可获取音标(英式/美式)、词性、释义、例句
- 搜索支持 350ms 防抖,减少无效请求
- 搜索结果支持预览详情,确认后再添加到单词本
- 详情页展示:音节拆分、音标、TTS 发音、词性标签、释义、例句及出处
- 内置 TTS 语音朗读(美式/英式发音),点击喇叭图标即可发音
- 完整的编辑功能:修改拼写、音标,自由增删释义条目(词性 + 释义 + 例句 + 出处)
- 🏛️ 名著例句:例句来源于经典英文名著,在真实文学语境中理解单词用法
- ✏️ 例句可编辑:每条例句及出处均可自由修改、增删,打造个性化单词本
- 自动音节拆分:基于 VCV / VCCV 规则智能拆分音节(如
ap•ple)
- 基于间隔重复算法的闪卡背诵模式
- 点击卡片揭开释义,然后选择「认识」或「不认识」
- 答对:推进进度条,间隔天数为 1 → 3 → 7 → 14 → 30 → 已掌握
- 答错:降低进度,次日重背
- 连续答对 3 次 + 进度满 → 已掌握,一年后再复习
- 背诵完成显示小结页:已背单词数、背诵时长,支持继续背诵下一组
- 每组 20 个单词,按复习时间排序,已掌握的单词不进入队列
- 长按单词块可重置进度或立即加入背诵
- 首页以 5 列网格展示单词,每个单词是一块彩色砖块
- 砖块颜色从 蓝色(0%)→ 红色(100%) 渐变,直观反映掌握程度
- 长按/右键砖块弹出菜单:再背一次、重置进度、删除单词
- 使用
dynamic_color 自动从系统壁纸取色
- 支持 亮色 / 暗色 / 跟随系统 三种主题模式
- 完整的 Material 3 组件风格:圆角卡片、胶囊按钮、动态取色
lib/
├── core/ # 核心基础设施
│ ├── constants/ # 常量配置(背诵参数等)
│ ├── theme/ # Material You 主题 & 颜色定义
│ └── utils/ # 工具函数(音节拆分等)
├── data/ # 数据层
│ ├── api/ # 在线词典 API 客户端(有道 + Dictionary API)
│ ├── database/ # Drift 数据库表定义、DAO、生成的代码
│ └── repositories/ # 数据仓库(封装 DAO 操作)
├── domain/ # 领域层
│ ├── models/ # 领域模型(Word, Wordbook, ReviewRecord)
│ └── services/ # 领域服务(间隔重复算法、TTS 服务)
├── presentation/ # 展示层
│ ├── common/widgets/ # 通用组件(单词砖块等)
│ ├── home/ # 首页(单词网格、顶栏)
│ ├── word_detail/ # 单词详情 & 编辑页面
│ ├── wordbook/ # 单词本选择器
│ ├── search/ # 在线搜索页面
│ └── review/ # 背诵页面、闪卡组件、小结页
├── providers/ # Riverpod 状态管理
├── app.dart # App 入口 + 路由配置
└── main.dart # main 函数
| 分层 |
技术选型 |
| 框架 |
Flutter (Dart) |
| 状态管理 |
flutter_riverpod + flutter_hooks |
| 路由 |
go_router (ShellRoute) |
| 本地数据库 |
drift (SQLite) + sqlite3_flutter_libs |
| 网络请求 |
dio |
| TTS 发音 |
flutter_tts |
| 动态主题 |
dynamic_color (Material You) |
| 代码生成 |
build_runner + drift_dev + json_serializable |
- Flutter SDK >= 3.12.1
- Dart SDK >= 3.12.1
# 克隆项目
git clone <repo-url>
cd OpenVocabBrick
# 安装依赖
flutter pub get
# 生成数据库代码
dart run build_runner build
# 运行(选择目标平台)
flutter run # 自动检测设备
flutter run -d web # 浏览器运行
flutter run -d windows # Windows 桌面运行
| 平台 |
状态 |
| Android |
✅ 已测试 |
| iOS |
✅ 已配置 |
| Windows |
✅ 已配置 |
| Web |
✅ 已配置 |
| 路由 |
页面 |
/ |
首页(单词砖块网格 + 背诵入口) |
/word/:id |
单词详情页 |
/search |
在线搜索(半透明浮层) |
/review |
闪卡背诵页 |
/review/summary |
背诵小结页 |
背诵参数可在 app_constants.dart 中调整:
| 常量 |
默认值 |
说明 |
reviewGroupSize |
20 |
每组背诵单词数 |
progressIncrement |
0.15 |
答对一次进度增量 |
progressDecrement |
0.20 |
答错一次进度减量 |
consecutiveMastery |
3 |
连续答对多少次算已掌握 |
masteryProgress |
1.0 |
已掌握的进度阈值 |