一键填成绩
2025-09-06 更新说明 ** — 工具地址:shishiapcs.github.io/thinkwave
本次更新聚焦“更稳、更顺手”的批量录分体验:加入 Ad-hoc 临时名单、IELTS→GPA 转换,重新标定 TOEFL→GPA,并修复若干边界 Bug。
1) 新增 / 变化
-
Ad-hoc 临时名单模式
- 现在可直接粘贴任意学生姓名(每行一个),临时作为本次会话的“班级名单”。
- 与右侧“粘贴分数”协同工作:可按临时名单顺序导出 CSV、生成自动填写代码(不破坏原班级名单)。
- 清除 Ad-hoc 时会自动恢复到上一次选中的学科;若无学科,界面回到干净空状态,避免“看见名单但无法运行”的尴尬。
-
IELTS → GPA(1–9)转换
-
TOEFL(口语 0–30)→ GPA(55–100)重新标定
-
自动填充代码(Console 粘贴)更健壮
- 剪贴板失败回退:若浏览器拒绝写剪贴板,会提示并将代码输出到 Console,便于手动复制。
- 空键防护:构建键映射时跳过空字符串,避免出现
""
命中所有行的极端情况。 - 仍然使用“姓名关键字集合”匹配(大小写/空格/标点/引号/变音符不敏感;支持英文名、昵称、
名+姓
、姓+名
、以及Tom Z / TomZ
等缩写组合),页面顺序变化也能稳定匹配。
2) 修复的问题(Bug Fixes)
- 清除 Ad-hoc 后的“半失效”状态
清除后将自动恢复上次学科或回到空白,
organize()
不再提示“请加载名单或使用 Ad-hoc”。 - 剪贴板写入失败时无提示 现在会 toast 提示,并把自动填充代码打印到 Console 以便复制。
- 自动填充映射存在空键 现在已跳过空键,避免将分数误填多行。
TOEFL(口语 0–30)→ GPA(55–100)对照表
TOEFL | GPA | TOEFL | GPA | TOEFL | GPA |
---|---|---|---|---|---|
0–7 | 55 | 16 | 80 | 25 | 95 |
8 | 58 | 17 | 82 | 26 | 96 |
9 | 61 | 18 | 84 | 27 | 98 |
10 | 63 | 19 | 86 | 28 | 99 |
11 | 66 | 20 | 88 | 29 | 100 |
12 | 69 | 21 | 90 | 30 | 100 |
13 | 72 | 22 | 91 | ||
14 | 74 | 23 | 92 | ||
15 | 77 | 24 | 94 |
分段锚点:≤7→55,16→80,21→90,25→95,≥29→100(区间内线性插值,四舍五入)。
IELTS(1.0–9.0,含 0.5)→ GPA(55–100)对照表
Band | GPA | Band | GPA | Band | GPA | Band | GPA |
---|---|---|---|---|---|---|---|
1.0 | 55 | 3.5 | 67 | 6.0 | 88 | 8.5 | 99 |
1.5 | 56 | 4.0 | 70 | 6.5 | 90 | 9.0 | 100 |
2.0 | 58 | 4.5 | 74 | 7.0 | 92 | ||
2.5 | 61 | 5.0 | 78 | 7.5 | 95 | ||
3.0 | 63 | 5.5 | 83 | 8.0 | 97 |
分段锚点:1.0→55、4.0→70、5.0→78、6.0→88、6.5→90、7.0→92、7.5→95、8.0→97、8.5→99、9.0→100(区间内线性插值,四舍五入)。 说明:高分段梯度更陡,突出 8.0 以上成绩的稀缺度;中段(5–7)保持更细腻区分度;低分段设置底线 55。
更新说明(2025-08-27) — 工具地址:shishiapcs.github.io/thinkwave
- 自动明暗主题:新增自动适配浅/深色主题,并提供手动切换,整体界面更干净易读。
- 抓取脚本托管到 GitHub:把用于获取 ThinkWave 数据的 JS 抓取脚本(bookmarklet 书签脚本)放到 GitHub,便于长期维护与更新。
- 一键获取全校班级与学生:用书签脚本在 ThinkWave 页面一键抓取所有班级与学生名单,形成标准 JSON 数据。
- 一键导入到工具:抓取到的 JSON 可一次性导入到网站;只要学期内学生名单和顺序不变,通常整个学期只需导入一次。
-
更稳的自动填写逻辑:不再靠“序号/行号”去对齐,而是根据姓名关键字集合匹配(对大小写、空格、标点、变音符不敏感),示例:
Tom Z
能匹配:Tom Z
、TomZ
、Tom Zhang
等。 这样即使页面排序变化或夹杂其他行,仍能稳定找到对应学生并填入分数。
-
更宽松的姓名匹配:
- 大小写不敏感(
joe
=JOE
); - 去除空格/标点/引号(支持
“昵称”
、逗号分隔的“姓, 名”格式); - 支持缩写/首字母(如
Tom Z
、TomZ
); - 支持多种组合(英文名、昵称、名+姓、姓+名、名+姓首字母等多种键)。
- 大小写不敏感(
- 导出 CSV:组织好的“姓名,分数”可以直接预览与下载 CSV,便于归档或导入到其他系统。
Update Notes (2025-08-27) — Tool: RosterFlow — ThinkWave Organizer
- Auto light/dark theme: The UI now adapts to your system theme with a manual toggle for a cleaner, more readable layout.
- Script on GitHub: The ThinkWave scraping JS (bookmarklet) is hosted on GitHub for easy access and maintenance.
- One-click data grab: Use the bookmarklet on ThinkWave to download all classes and students into a standard JSON file.
- One-click import: Import that JSON into the tool once; unless the roster order changes, you typically only need to import once per semester.
-
More robust autofill: Instead of relying on row positions, the tool matches by a set of name keys (case/space/punctuation/diacritics insensitive). Examples:
Tom Z
matchesTom Z
,TomZ
,Tom Zhang
, etc. This stays reliable even if the page order changes or extra rows appear.
-
Flexible name matching:
- Case-insensitive (
joe
=JOE
), - Ignores spaces/punctuation/quotes (supports nicknames in quotes and “Last, First” formats),
- Initials and concatenations (
Tom Z
,TomZ
), - Multiple combinations (English name, nickname, given+family, family+given, given+family-initial, etc.).
- Case-insensitive (
- CSV export: Preview and download CSV (“Name,Score”) for records or downstream tools.
书签脚本(Bookmarklet)简明使用说明
- 复制下面整段代码:
javascript:(function(){var s=document.createElement('script');s.src='https://shishiapcs.github.io/thinkwave/tw-scraper.js?ts='+Date.now();document.body.appendChild(s);})();
- 在浏览器里新建书签:
- Chrome/Edge:在书签栏空白处点右键 → 添加页面(或“添加到书签”)。
- 名称随意(如:TW抓取),把上面的代码粘贴到 URL/网址 输入框 → 保存。
- 打开 ThinkWave 的班级/成绩页面。
- 点击刚才的书签 TW抓取 → 按提示保存生成的 JSON 文件。
- 打开工具网站 https://shishiapcs.github.io/thinkwave/ → 点击 Import JSON 导入即可。
小提示:若浏览器拦截下载/弹窗,请允许本页面的下载或弹窗。
Bookmarklet — Super Short How-To
- Copy the code below:
javascript:(function(){var s=document.createElement('script');s.src='https://shishiapcs.github.io/thinkwave/tw-scraper.js?ts='+Date.now();document.body.appendChild(s);})();
- Create a new bookmark:
- Chrome/Edge: right-click the bookmarks bar → Add page.
- Name it (e.g., TW Scraper), paste the code into the URL field → Save.
- Go to your ThinkWave class/gradebook page.
- Click the TW Scraper bookmark → save the generated JSON file.
- Open https://shishiapcs.github.io/thinkwave/ → click Import JSON to load it.
Tip: If the browser blocks downloads/pop-ups, allow them for this page.