学习通课件解析助手

Created 10 days ago
Updated 10 days ago
在已登录的学习通章节页解析课件,并下载自己有权访问的资源。
#超星学习通
#学习辅助
#课件下载
Statistics
Total Installs
24
Last 24h
+1
User Rating
-
Chaoxing Courseware Helper: Parse and download courseware re

学习通课件解析助手

在学习通课程章节页中,一键整理当前章节内自己有权访问的课件资源,并按需下载到浏览器默认下载目录。

学习通课件解析助手 是一个运行在 Tampermonkey(油猴)ScriptCat(脚本猫) 或兼容用户脚本管理器中的轻量脚本。它不会要求输入账号密码,也不会保存 Cookie;只在用户已经登录学习通的浏览器页面中工作。


✨ 主要功能

功能 说明
左侧悬浮书签 页面左侧垂直居中显示“课件解析”书签,收起时不遮挡课程内容。
位置拖拽与磁吸 无论面板展开或收起,按住书签即可上下拖动;松手后自动吸附到左侧位置网格。
可折叠面板 点击书签展开操作面板;再次点击书签或点击面板外任意位置即可收起。
一键解析 自动读取当前章节的附件,并提取可访问资源的实际地址。
多格式识别 自动标记 PDF、PPT、Word、视频、表格、压缩包及其他文件。
勾选下载 每个资源均可独立勾选,避免下载不需要的资料。
批量下载 点击“下载选中”后,文件依次下载到浏览器默认下载目录。
可滚动结果栏 面板默认显示约四行文件,更多结果可在框内滚动查看。
单一面板 仅在顶层页面创建一个入口,避免学习通多层播放器造成重复悬浮按钮。

🖼️ 使用体验

  1. 正常登录学习通并打开某一课程的具体章节。
  2. 点击左侧的 课件解析 书签。
  3. 在展开面板中点击 一键解析本章课件
  4. 在结果列表中保留需要的文件勾选。
  5. 点击 下载选中,等待浏览器开始下载。

展开面板后,点击左侧书签、课程页面的其他区域或课件播放器区域,面板都会自动收起。

调整书签位置

按住左侧“课件解析”书签并上下拖动即可调整位置。松开鼠标或手指后,书签会保持在浏览器左侧并自动吸附到附近的垂直位置;脚本会记住该相对位置。短按不拖动时,仍按原逻辑展开或收起面板。

第一次发起多个文件下载时,Chrome 或 Edge 可能询问是否允许该站点下载多个文件;请选择“允许”。

🔍 支持的资源类型

脚本优先根据附件名称、资源地址后缀和学习通附件类型进行识别。

类型 常见扩展名 列表标签
PDF .pdf PDF
演示文稿 .ppt.pptx.pps.ppsx PPT
Word 文档 .doc.docx.wps WORD
表格 .xls.xlsx.csv 表格
视频 .mp4.m3u8.flv.avi.mov.mkv 视频
压缩包 .zip.rar.7z 压缩包
其他附件 无法从名称或地址判断的普通文件 文件

⚙️ 工作原理

脚本将手动打开开发者工具、刷新页面、在网络请求中寻找资源地址的流程自动化:

已登录的学习通章节页
        │
        ▼
读取页面附件信息 mArg.attachments
        │(页面未直接提供时,回退读取章节 cards 信息)
        ▼
取得每个附件的 objectId
        │
        ▼
请求 ananas/status/{objectId}
        │
        ▼
从 pdf / download / http 字段提取资源链接
        │
        ▼
在悬浮面板展示、勾选并批量下载

关键实现

  • 用户脚本运行环境:适配油猴、脚本猫以及支持 Greasemonkey API 的脚本管理器。
  • 登录态复用:请求在当前浏览器的已登录环境下进行,不需要脚本处理账号、密码或 Cookie。
  • 资源解析:先尝试读取章节页脚本变量 mArg.attachments;若课程内容由异步页面或播放器加载,则使用章节 cards 信息作为回退来源。
  • 资源状态查询:依据附件 objectId 查询学习通资源状态,依次检查 pdfdownloadhttp 等可用地址字段。
  • 跨域请求:使用 GM_xmlhttpRequest 请求学习通相关接口,避免普通网页请求受到同源策略限制。
  • 浏览器下载:使用 GM_download 将用户勾选的文件交由浏览器下载管理器保存。
  • 防重复注入:通过 @noframes 和顶层窗口检测,仅在当前标签页最外层页面创建一个悬浮面板;这解决了课件播放器内嵌多层 iframe 时出现多个按钮的问题。

🧩 界面说明

区域 用途
左侧书签 “课件解析”以两行、每行两个字显示;用于展开或收起面板。
拖拽交互 按住书签可上下移动;展开面板会随书签一起移动。
一键解析按钮 扫描当前章节的附件并刷新列表。
解析结果 每行显示复选框、文件类型标签和文件名;文件名过长时会省略显示,悬停可查看完整名称。
状态提示 显示读取附件、解析、下载进度及异常信息。
下载选中按钮 仅下载已勾选的资源,并显示已选文件数量。

🚀 安装与更新

安装

  1. 在浏览器安装油猴、脚本猫或 Violentmonkey。
  2. 新建用户脚本,或直接导入 chaoxing-courseware-helper.user.js
  3. 保存脚本并确保脚本处于启用状态。
  4. 登录学习通后刷新课程章节页面。

更新

用新版本脚本完整覆盖旧脚本并保存,然后刷新学习通页面即可。

如果页面仍出现多个“课件解析”书签,请检查脚本管理器中是否同时启用了旧版本或重复安装的脚本。

🔐 权限与隐私

脚本申请的权限仅用于实现必要功能:

权限 用途
GM_xmlhttpRequest 读取当前帐号可访问的章节与资源状态信息。
GM_download 将用户主动勾选的文件下载到默认目录。
GM_openInTab / GM_setClipboard 预留给资源链接打开或复制功能。
@connect * 学习通文件可能由不同的资源域名或 CDN 提供,需要允许请求实际资源地址。

本脚本:

  • 不收集、不上传账号密码;
  • 不主动保存 Cookie、个人信息或课程数据;
  • 不绕过平台登录、课程权限或访问控制;
  • 仅对当前登录帐号原本有权访问的资源进行整理和下载。

⚠️ 注意事项

  • 请仅用于个人学习、备份自己有权访问的课程资料,并遵守学校、平台与授课教师的相关规定。
  • 学习通页面结构、接口字段或资源地址规则发生调整后,解析功能可能需要更新。
  • 登录态过期、课程权限不足、网络异常或资源已被教师删除时,脚本无法获取对应文件。
  • 部分资源可能是在线预览、加密媒体或平台特殊格式;是否能够下载取决于平台返回的实际资源地址与当前帐号权限。
  • 批量下载由浏览器处理,最终保存位置以浏览器下载设置为准。

🛠️ 技术栈

类别 技术
脚本语言 JavaScript(ES2020+)
运行方式 UserScript / Greasemonkey API
兼容管理器 Tampermonkey、ScriptCat、Violentmonkey
请求机制 GM_xmlhttpRequest
下载机制 GM_download
界面实现 原生 DOM、CSS、固定定位悬浮面板
资源来源 当前章节附件信息与学习通资源状态接口

📄 许可协议

本用户脚本采用 MIT License

你可以自由使用、复制、修改和分发本脚本,但应保留原有的版权和许可证声明。本软件按“原样”提供,不提供任何明示或暗示担保。


如果这个脚本对你有帮助,欢迎提出功能建议或提交兼容性反馈。

Script Details
LicenseMIT
Permissions & access
Cross-origin access
*
Capabilities
Network requestsDownloadOpen tabClipboard