Releases: happycola233/tchMaterial-parser
Release list
v4.2
更新说明
本次更新修复了 v4.1 在设置 Access Token 后部分资源仍返回 400 的问题,并按官网方式生成私有下载签名。
Note
本版本起,“设置 Token” 必须粘贴含 access_token、mac_key、diff 的整段 JSON,不再接受单独的 Access Token 字符串。请按应用内 “如何获取?” 重新获取并保存。若仍使用旧版只保存了 Access Token 的配置,部分私有资源可能仍会 400。
新增与优化
- 登录凭据改为三项 JSON(
access_token、mac_key、diff),格式错误会提示保存失败;留空仍可清除。 - 旧版只保存了 Access Token 时,设置窗口会回填为三项 JSON,便于补全后重新保存。
- 获取脚本同步改为输出整段 JSON。
- 私有下载按当前 URL 现算官网
X-ND-AUTH(HMAC-SHA256),不再向地址拼接accessToken。 - 批量下载限制并发,并拉开请求间隔,降低私有 CDN 短时间连打触发 400 的概率。
问题修复
- 修复设置了有效 Token 后仍出现 400、提示鉴权失败的问题(#81)。
- 修复部分较严的私有资源(如部分体育教师用书)在占位签名下返回 400 的问题(#76)。
- 私有下载遇到 400 时,先在同一地址退避重试并重新签名,不再立刻切换 r2/r3 镜像。
- 禁止读取系统及环境变量中的代理配置,避免错误代理导致请求失败。
Full Changelog: v4.1...v4.2
v4.1
更新说明
Warning
此版本在设置了 Access Token 时下载部分资源会出现 400 错误(#81),建议使用 v4.0 或 v4.2 版本。
本次更新重点提升了私有资源下载的可靠性,并优化 Access Token 获取流程与跨平台交互体验。
新增与优化
- 支持为私有资源自动附加 Access Token,修复部分资源无法下载的问题。
- 私有下载节点异常时自动切换镜像重试。
- 全新优化 Access Token 获取引导:
- 支持一键打开登录页面。
- 支持一键复制获取脚本。
- 补充 Chrome、Edge 控制台粘贴限制说明。
- 增加复制成功反馈并优化深浅色主题显示。
- 下载同名资源时自动分配唯一文件名;可识别时优先添加教材版别,避免文件被覆盖或下载任务冲突。
- 优化资源标题生成,避免重复拼接导致文件名过长。
问题修复
- 修复 macOS 下复制资源链接失败的问题。
- 修复使用键盘打开右键菜单时位置异常及事件重复绑定的问题。
- 增加 Access Token 格式检查,及时提示包含异常字符的 Token。
- 优化鉴权失败提示,可区分 Token 缺失、过期或无效等情况。
- 避免错误日志和提示信息泄露 Access Token。
- 改进临时文件处理与下载连接释放,提升批量下载稳定性。
Full Changelog: v4.0...v4.1
v4.0
v4.0 是本项目的一次重大更新。项目不再只面向电子课本下载:新版重做了主界面与资源浏览体验,扩展了可解析的资源类型,并补齐了更多平台和处理器架构的发行包。
🎨 全新界面
- 整体界面升级为更现代的样式,添加了对深色模式的支持。
- 使用资源树替代原有的多级下拉菜单,浏览教材层级更直观(#7)。
- 新增资源搜索,可按名称或 “学段、学科、年级” 等完整分类路径组合筛选,支持
Ctrl+F/⌘+F快速聚焦搜索框。 - 新增教材封面缩略图与悬停大图预览,长名称可横向滚动并在悬停时查看完整信息(#10)。
- 新增 “关于” 窗口,可查看版本、作者、项目地址与许可证信息。
- 优化高 DPI、系统 Emoji、键盘操作、右键菜单和多平台窗口显示等。
✨ 支持更多教学资源
- 新增课程资源、精品课、专题课程和知识点微课等资源页面的解析与下载。
- 新增教师备课资源与多资源课程包的解析与下载,可下载导学案、课件、教学设计、PPT、Word 文档等关联文件(#45、#72)。
- 解析电子课本时会同时获取其配套音频,例如英语教材听力,并优先保存为 MP3(#43、#73)。
🚀 下载更可靠
- 下载请求会携带 Access Token 对应的鉴权标头,修复了部分资源无法直接下载的问题(#69)。
- 一个页面包含多个资源时可一次解析并批量下载,文件会按资源名称和实际格式保存(#71)。
- “解析并复制” 现在会提示直链下载所需的 HTTP 标头,其中可能含有 Access Token,请勿分享。
- 下载先写入
.tmp临时文件,完成且大小校验通过后再替换目标文件,避免把中断或不完整的内容误当作成品。 - 自动去除重复的页面地址和资源直链,避免重复下载。
- 修复 404、500 等非鉴权错误可能被静默忽略,最终却提示 “下载完成” 的问题。
- 修复同名教材可能匹配到错误
contentId的问题(#60)。
Note
若您要从源码运行,请注意:
- 项目已从单文件脚本重构为
tchmaterial_parser模块化包,旧入口src/tchMaterial-parser.pyw已移除。 - 依赖与版本信息统一迁移到
pyproject.toml,请使用pip install .安装,然后运行python ./src/main.py。
感谢肥宅水水呀、晨叶梦春及所有参与测试和反馈的用户。特别感谢 @Mr-Neutr0n 为支持导学案与教材配套音频的解析与下载作出的贡献。
Full Changelog: v3.3.3...v4.0
v3.3.4
v3.3.3
What's Changed
- fix: prevent crash when force-closing during PDF download (#59)
Full Changelog: v3.3.2...v3.3.3
v3.3.2
- 为程序主界面新增 “添加书签” 复选框;
- 改进了获取课件列表的函数,大致实现了基本功能,但由于本工具尚未实现解析课件的功能,故暂无法下载课件,预计下个大版本添加;
- 改进了构建 macOS 程序的工作流(#56);
- 改进并修复了部分功能。
Full Changelog: v3.3.1...v3.3.2
v3.3.1
修复:无控制台运行(pyw/打包 exe)时 sys.stderr 为空导致的书签植入异常报错
调试:下载失败时提示完整异常堆栈,便于定位问题
Full Changelog: v3.3...v3.3.1
v3.3
- 📚 新功能:支持为下载的 PDF 注入目录(书签)
- ✅ 优化 release workflow,构建/发布更稳定、产物更清晰
- 🌍 跨平台兼容性增强(字体选择、右键菜单、路径处理更一致)
- 🧹 规范类型注解,修复多处 Pylance 非致命警告
- 🛠️ 目录解析与错误处理更健壮,失败时可追踪定位
- ⚡ 下载进度与 UI 更新更安全,避免线程冲突
Full Changelog: v3.2...v3.3
v3.2-build3
此版本修复了在 macOS 上程序的构建问题,程序实际功能无变化。
v3.2-build2
此版本修复了在 macOS 上程序的构建问题,程序实际功能无变化。