fix: deduplicate practice snapshots and compact white panel

This commit is contained in:
suanyuit-cyber
2026-10-29 18:49:42 +08:00
parent 83ca85cc17
commit 762408a347
14 changed files with 1996 additions and 90 deletions
+19 -1
View File
@@ -1,6 +1,6 @@
# 华谊题库助手
支持在普通 HTTP / HTTPS 网页中通过快捷键打开的本地题库油猴脚本:文字搜索、划词检索、自动选择已确认答案,并保留华谊练习平台的按库采集、CSV 导出与多题库导入。当前版本 **1.2.0**。
支持在普通 HTTP / HTTPS 网页中通过快捷键打开的本地题库油猴脚本:文字搜索、划词检索、自动选择已确认答案,并保留华谊练习平台的按库采集、CSV 导出与多题库导入。当前版本 **1.2.1**。
安装文件:[`dist/huayi-question-bank.user.js`](dist/huayi-question-bank.user.js)。这是构建后的完整脚本,无须安装 Node.js 或运行服务器。
@@ -15,6 +15,16 @@
浏览器需允许油猴在相应网站运行用户脚本。更新到全网页版本后,浏览器可能需要重新授予网站访问权限。若快捷键没有显示面板,先确认扩展已启用且该站点有运行权限。浏览器内置页面、扩展商店及受限制页面不能运行普通用户脚本;本地文件取决于浏览器的文件访问设置,本版匹配普通 HTTP / HTTPS 页面。
## 紧凑白色面板与重复记录修复
面板宽度为 300px、最大高度为 440px;采用纯白背景、浅灰边框和灰色文字,缩减标题、按钮和卡片留白,内容在面板内滚动。快捷键及每页默认隐藏的行为保留,自动答题仍默认关闭。
平台每次进入同一练习可能生成新的一组题目 ID。旧版只按 ID 区分,会把三个 232 题加载批次存成 696 条。新版记录完整加载批次及批次内题目位置,并保留来源 ID 别名,使后续重复加载不再增加题数。
合并时核对题库、题型、题干和完整选项,同时保留原题库内合法的同文题。例如原库 232 题中有 3 对同文题,整理后仍为 232 个题目位置,不会压成 229。不同答案保留冲突;不同题库、不同选项不会混并。页面总数仅用于展示核对,不用于截断数据。
旧记录在加载、导入和导出前统一整理。首次整理前,原始数据会备份到本助手的独立存储项;在“设置”或油猴菜单中点击“导出整理前原始备份”可以取回。CSV / JSON 备份保留合并记录的来源 ID 别名、批次与位置字段。
## 自动答题
打开“自动答题”页签,先导入包含标准答案的题库,然后选择:
@@ -105,6 +115,14 @@ JSON 备份包含 `schemaVersion: 1` 和 `records` 数组,保留完整选项
## 源码与验证
`题库/` 用于保存从 Chrome 导出的题库和合并结果。合并工具会保留来源题库、标准答案、解析及 ID 别名,并检查五库是否齐全、题数与页面是否一致:
```powershell
npm run merge:banks -- --manifest 页面题数.json --per-bank 五个导出文件.csv
```
页面清单格式为 `{"banks":[{"bankName":"完整题库名称","questionCount":500}, ...]}`,需要列出判断1、判断2、单选1、单选2和多选五个题库。合并前会核对缺库、缺答案和冲突,详情写入输出的 `题库清单.json`;数据未齐时不标记为完整。
无需第三方前端依赖,源码分为:
- `src/core.js`:答案规范化、去重与冲突、检索、字母映射、CSV。