# 题刷刷 **Repository Path**: wd1169101707/practice-problems ## Basic Information - **Project Name**: 题刷刷 - **Description**: 可以自定义题库的快速刷题软件。 做这个的初衷就是感觉刷习概啥的题目效率太低了,就搓了这个以提高刷题效率,一键启动,本地化运行,刷题速度杠杠的 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-08 - **Last Updated**: 2026-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 题刷刷 一个功能强大的在线做题应用,支持自定义题库、快捷键设置、备注管理等功能。 ## 功能特性 ### 核心功能 - ✅ 支持导入和导出自定义题库 - ✅ 题目导航和答案判定 - ✅ 题目掌握标记 - ✅ 错误频率统计 - ✅ 快捷键自定义设置 ### 界面功能 - ✅ 点方阵图展示题目状态(可通过快捷键控制显示/隐藏) - ✅ 侧边题单支持搜索、筛选和排序 - ✅ 可折叠的备注栏(支持1000字备注,可自由拉伸) - ✅ 响应式设计,适配不同屏幕尺寸 ### 快捷键功能 - ✅ 自定义选项选择快捷键 - ✅ 自定义题目导航快捷键 - ✅ 自定义备注栏显示/隐藏快捷键 - ✅ 自定义点阵图显示/隐藏快捷键 - ✅ 自定义重点标记和保存快捷键 ## 技术栈 - **前端框架**:原生JavaScript (ES Modules) - **构建工具**:Vite - **样式**:CSS3 - **存储**:localStorage ## 快速开始 ### 方法一:一键启动(推荐) 1. 双击运行项目根目录下的 `start.bat` 文件 2. 脚本会自动完成以下操作: - 检查Node.js和npm是否安装 - 自动安装项目依赖(如果未安装) - 启动开发服务器 - 自动打开浏览器访问 ### 方法二:简化启动 如果遇到启动问题,可以双击运行 `start无法运行则点我.bat` 文件,直接启动开发服务器。 ### 方法三:手动启动 1. 确保已安装Node.js和npm 2. 克隆或下载项目到本地 3. 打开命令行,进入项目根目录 4. 安装依赖: ```bash npm install ``` 5. 启动开发服务器: ```bash npm run dev ``` 6. 在浏览器中访问 ## 项目结构 ``` ├── index.html # 主HTML文件 ├── style.css # 全局样式文件 ├── src/ # 源代码目录 │ ├── main.js # 应用入口文件 │ ├── quiz.js # 答题核心功能 │ ├── keybindings.js # 快捷键管理 │ ├── import.js # 题库导入功能 │ └── storage.js # 数据存储功能 ├── package.json # 项目配置和依赖 ├── vite.config.js # Vite配置文件 ├── start.bat # 一键启动脚本(推荐) ├── start无法运行则点我.bat # 简化启动脚本 ├── 快速启动.bat # 快速启动脚本 └── README.md # 项目说明文档 ``` ## 题库格式 题库文件为纯文本格式,包含题库域和备注域,用 `******` 分隔。 ### 题库域格式 每道题包含以下信息: ``` 1. 题目内容 A. 选项A B. 选项B C. 选项C D. 选项D 答案:(A) 掌握:Y/N(可选) 错误频率:0-5(可选) 解析:解析内容(可选) ``` ### 备注域格式 备注域位于题库域之后,用 `******` 分隔。每条备注用 `<题号>` 和 `` 标签包裹: ``` ****** <1>第一题的备注内容 <2>第二题的备注内容 ``` ### 完整示例(1为简化版导入方式,只需要题干、选项、答案三部分即可,2为完整版题库) ``` 1. 以下哪个是JavaScript的数据类型? A. String B. Number C. Boolean D. 以上都是 答案:(D) 2. 以下哪个不是JavaScript的数据类型? A. String B. Integer C. Boolean D. Object 答案:(B) 掌握:N 错误频率:2 解析:JavaScript中没有Integer类型,只有Number类型 ****** <1>这道题很重要,需要记住 <2>这道题容易出错,要注意Integer不是JavaScript的数据类型 ``` ### 兼容性说明 - 支持旧格式的 `<备注>内容` 标签(在题库域中) - 新格式优先:如果同时存在新格式备注和旧格式备注,优先使用新格式 - 备注域解析宽松:以第一个 `<数字>` 开头,直到遇到下一个 `<数字>` 或结束的内容都作为备注 ## 开发说明 ### 开发命令 ```bash # 启动开发服务器 npm run dev # 构建生产版本 npm run build # 预览生产构建 npm run preview ``` ### 代码规范 - 使用ES Modules语法 - 代码风格保持一致 - 函数和变量命名清晰 - 添加必要的注释 ## 许可证 MIT License ## 注意事项 1. 首次运行可能需要较长时间安装依赖 2. 确保计算机已安装Node.js环境 3. 题库文件必须符合指定格式 4. 选项识别严格区分大小写,仅支持大写ABCD 5. 快捷键设置会自动保存到localStorage,并随题库一起保存 6. 答题进度会自动保存到localStorage 7. 备注栏支持1000字备注,可自由拉伸,支持自动保存 8. 点方阵图可通过快捷键控制显示/隐藏,支持拖拽调整大小 9. 导入题库时支持新旧两种备注格式,新格式优先 10. 选择错误时不会自动跳转,需要重新选择 ## 联系信息 如有问题或建议,欢迎提出。 作者:[月亮挂枝头](https://gitee.com/wd1169101707) qq:1169101707