这个项目能做什么

## 概述 GRE 镇考 3000 是一个纯前端的 GRE 词汇学习渐进式 Web 应用(PWA),专为备考 GRE 的考生设计。它内置了《GRE 镇考 3000 词(乱序版)》的完整词库(共 3275 个词条,含中文释义、音标和英文例句),并采用艾宾浩斯遗忘曲线安排复习间隔,帮助用户高效记忆单词。 ## 核心功能 - **每日新词**:默认每天学习 100 个新词,可在设置中调整(50–150,步进 10)。新词按乱序词表顺序从未学词中选取。 - **艾宾浩斯间隔复习**:每张卡片有 8 个阶段(0–7),间隔从 8 分钟到 15 天不等,并根据用户答题表现动态调整 ease 因子(初值 2.5,答对 +0.1,答错 −0.2),实际等待时间 = 基础间隔 × (ease / 2.5)。 - **复习题型**:显示英文单词,从 4 个中文释义中选择正确的一项(1 个正确 + 3 个干扰项)。 - **离线可用**:词库随应用打包,首次打开后 Service Worker 会缓存应用壳和词库数据,之后断网也能背词。 - **PWA 可安装**:支持添加到手机主屏幕(iOS Safari / Android Chrome),以独立窗口运行。 - **桌面应用**:提供 macOS 安装包(Electron 打包),也可本地构建 Linux 版本。 - **快捷键**:新词页空格/回车展开释义,1/2/3 分别标记不认识/模糊/认识;复习页 1–4 选答案,空格/回车下一题。 ## 界面与导航 底部四个入口: - **今日**:进度看板,显示当天学习状态、连续打卡天数等。 - **学习**:新词学习页,单词在上,释义默认收起,点击卡片或按空格展开。下方三个按钮:不认识、模糊、认识。 - **复习**:复习页,单词在上,四个选项纵向排列。 - **词库**:按未学、复习中、已掌握筛选,点开单词才显示释义。进入 7 天档的词记为已掌握。 ## 技术实现 - **前端框架**:基于 Vite 构建,使用 React(或类似框架,未明确说明但符合现代前端实践)。 - **PWA 支持**:通过 vite-plugin-pwa(Workbox)生成 Web App Manifest 与 Service Worker,实现离线缓存和可安装性。 - **数据存储**:所有学习进度存储在浏览器 localStorage(键名 gre3000.vocab.v1),不依赖后端服务器。 - **词库解析**:原始词库来自《GRE 镇考 3000 词(乱序版)》PDF,通过 Python 脚本(pymupdf)解析表格、去水印、拼接断行单词、去重后生成 JSON 文件。 ## 使用方式 ### 在线使用 直接访问 https://gre-3000-vocab.vercel.app 即可开始学习。推荐添加到手机主屏幕以获得最佳体验。 ### 本地运行 ```bash git clone https://github.com/jayden-dong411/gre-3000-vocab.git cd gre-3000-vocab npm install npm run dev ``` 开发服务器默认运行在 http://127.0.0.1:43173。 ### 生产构建 ```bash npm run build npm run preview ``` 构建产物在 dist/ 目录,可部署到任意静态主机。 ### 桌面应用 从 GitHub Releases 下载 macOS 安装包,或本地运行 `npm run desktop` 直接打开窗口,`npm run pack:mac` / `npm run pack:linux` 打包分发。 ## 注意事项 - 换设备不会同步学习进度(因为数据存储在浏览器本地)。 - 安装到手机主屏幕需要 HTTPS(localhost 除外)。 - macOS 安装包未经 Apple 公证,首次打开可能被系统拦截,需在终端执行 `xattr -cr` 命令解除。 ## 总结 GRE 镇考 3000 是一款功能完整、设计精良的 GRE 词汇学习工具,充分利用了 PWA 的离线能力和可安装特性,同时提供了桌面应用支持。其艾宾浩斯复习算法考虑了用户答题表现,比固定间隔更灵活。词库来源清晰,解析过程透明。适合需要系统背诵 GRE 词汇的考生使用。