Skip to content

Releases: happycola233/tchMaterial-parser

v4.2

Choose a tag to compare

@happycola233 happycola233 released this 18 Aug 03:41

更新说明

本次更新修复了 v4.1 在设置 Access Token 后部分资源仍返回 400 的问题,并按官网方式生成私有下载签名。

Note

本版本起,“设置 Token” 必须粘贴含 access_tokenmac_keydiff整段 JSON,不再接受单独的 Access Token 字符串。请按应用内 “如何获取?” 重新获取并保存。若仍使用旧版只保存了 Access Token 的配置,部分私有资源可能仍会 400。

新增与优化

  • 登录凭据改为三项 JSON(access_tokenmac_keydiff),格式错误会提示保存失败;留空仍可清除。
  • 旧版只保存了 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

Choose a tag to compare

@happycola233 happycola233 released this 16 Aug 04:53
bb55628

更新说明

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

Choose a tag to compare

@wuziqian211 wuziqian211 released this 04 Aug 16:50
adb9fac

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

Choose a tag to compare

@wuziqian211 wuziqian211 released this 04 Jul 06:51
50d15cb
  1. 修复了在选择同名资源时会导致资源选择错误的问题(#60);
  2. 修复了在未设置 Access Token 时下载失败的问题(#69)。

此版本基于 v3.3.3,而非正在开发的版本 v4.0。


Full Changelog: v3.3.3...v3.3.4

v3.3.3

Choose a tag to compare

@happycola233 happycola233 released this 05 Feb 08:58
e802e70

What's Changed

  • fix: prevent crash when force-closing during PDF download (#59)

Full Changelog: v3.3.2...v3.3.3

v3.3.2

Choose a tag to compare

@wuziqian211 wuziqian211 released this 25 Jan 18:44
eb81e4a
  1. 为程序主界面新增 “添加书签” 复选框;
  2. 改进了获取课件列表的函数,大致实现了基本功能,但由于本工具尚未实现解析课件的功能,故暂无法下载课件,预计下个大版本添加;
  3. 改进了构建 macOS 程序的工作流(#56);
  4. 改进并修复了部分功能。

Full Changelog: v3.3.1...v3.3.2

v3.3.1

Choose a tag to compare

@happycola233 happycola233 released this 09 Jan 09:33

修复:无控制台运行(pyw/打包 exe)时 sys.stderr 为空导致的书签植入异常报错
调试:下载失败时提示完整异常堆栈,便于定位问题


Full Changelog: v3.3...v3.3.1

v3.3

Choose a tag to compare

@happycola233 happycola233 released this 07 Jan 17:46
  • 📚 新功能:支持为下载的 PDF 注入目录(书签)
  • ✅ 优化 release workflow,构建/发布更稳定、产物更清晰
  • 🌍 跨平台兼容性增强(字体选择、右键菜单、路径处理更一致)
  • 🧹 规范类型注解,修复多处 Pylance 非致命警告
  • 🛠️ 目录解析与错误处理更健壮,失败时可追踪定位
  • ⚡ 下载进度与 UI 更新更安全,避免线程冲突

Full Changelog: v3.2...v3.3

v3.2-build3

v3.2-build3 Pre-release
Pre-release

Choose a tag to compare

@happycola233 happycola233 released this 16 Dec 15:58
4755e2b

此版本修复了在 macOS 上程序的构建问题,程序实际功能无变化。

v3.2-build2

v3.2-build2 Pre-release
Pre-release

Choose a tag to compare

@wuziqian211 wuziqian211 released this 27 Nov 15:16
2ea8433

此版本修复了在 macOS 上程序的构建问题,程序实际功能无变化。