一个无需构建、可在浏览器中直接运行的考试流程与倒计时模拟器。它把真实考试的时间节点转换为可操作的时间线,帮助考生在练习时熟悉节奏;也可以创建、保存和复用自己的模拟考试方案。
本项目用于备考训练和时间管理,不是考试机构的官方服务。内置流程和日期仅供参考;报考、入场及当年具体安排请以考试主办方或当地教育考试机构的最新通知为准。
- 内置官方预设:提供 CET-4、CET-6,以及按 6 月 7—9 日分类的高考科目流程(语文、数学、物理、历史、外语、化学、地理、思想政治、生物学)。
- 考试流程模拟:显示模拟考场时间、全程与当前环节倒计时、进度条、环节状态及汇总统计;可开始、暂停、重置、跳转或前进到下一环节。
- 预设市场与收藏:可在官方预设市场中浏览预设,并把常用项目加入收藏以便快速切换。
- 自定义考试:可设置名称、正式考试日期/开始时间和任意数量的环节;支持拖拽排序、编辑、删除以及“不计入总时间”的环节。
- 本地持久化:自定义配置、收藏、最近使用的预设与显示偏好均保存在浏览器
localStorage中。 - 可调显示与响应式界面:可选择显示模拟考场时间、总倒计时和当前环节倒计时,并适配桌面与移动端。
- PWA 离线支持:通过 Service Worker 缓存应用静态资源;首次在可联网环境打开后,已缓存页面可离线使用。
这是一个原生 HTML/CSS/JavaScript 项目,不依赖 Node.js 或构建步骤。
git clone https://github.com/LUOLIN926/exam-clock.git
cd exam-clock
python3 -m http.server 8000然后访问 http://localhost:8000。
也可以直接打开 index.html 体验主界面;但建议通过本地 HTTP 服务运行,以便完整验证 Service Worker 和 PWA 行为。
- 在首页的“官方预设”或“自定义预设”中选择考试。
- 点击“开始考试”,按时间线完成练习;可随时暂停、重置或切换环节。
- 点击“官方预设市场”收藏常用的内置流程。
- 点击“自定义考试设置”创建自己的考试方案,并在首页直接应用。
项目没有后端、账号系统或遥测代码。自定义配置和偏好只保存在当前浏览器的本地存储中;清除该站点数据会一并删除这些内容。页面会引用 Google Fonts;首次加载字体时可能产生对该服务的网络请求。
- HTML5
- CSS3(响应式布局)
- 原生 JavaScript(ES6+)
- Web App Manifest 与 Service Worker
exam-clock/
├── assets/ # 图标与本地图标字体
├── css/styles.css # 全局样式
├── js/script.js # 首页、内置预设和计时逻辑
├── js/custom-exam.js # 自定义考试编辑与本地保存逻辑
├── index.html # 主模拟器
├── custom-exam.html # 自定义考试配置页
├── introduction.html # 使用与功能介绍页
├── design.html # 设计规范展示页
├── manifest.json # PWA 清单
├── sw.js # 离线缓存策略
└── scripts/ # 部署脚本与示例配置
完整文件说明见 STRUCTURE.md。
欢迎提交 bug 报告、功能建议和代码改进。提交前请阅读 CONTRIBUTING.md。
涉及安全问题请不要公开创建 Issue,参见 SECURITY.md。
若更新内置考试时间,请同时说明信息来源和适用年份/地区,避免将过期或地区性安排误作通用规则。
本项目采用 MIT License。