|
1 | | -# [国家中小学智慧教育平台](https://basic.smartedu.cn/tchMaterial/) 电子课本下载工具 |
| 1 | +# [国家中小学智慧教育平台](https://basic.smartedu.cn/tchMaterial/) 电子课本下载工具 |
2 | 2 |
|
3 | | - |
4 | | - |
5 | | - |
| 3 | + |
| 4 | + |
| 5 | + |
6 | 6 |
|
7 | | -本工具可以帮助您从**国家中小学智慧教育平台**中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 |
| 7 | +本工具可以帮助您从 **[国家中小学智慧教育平台](https://basic.smartedu.cn/tchMaterial/)** 获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 |
8 | 8 |
|
9 | | -电子课本预览页面的网址格式如 <https://basic.smartedu.cn/tchMaterial/detail?contentType=assets_document&contentId=b8e9a3fe-dae7-49c0-86cb-d146f883fd8e&catalogType=tchMaterial&subCatalog=tchMaterial>。 |
| 9 | +📢 **⚠️ 重要更新(2025年3月)** |
| 10 | +自 **2025 年 02 月** 起,国家中小学智慧教育平台 **需要登录** 才能访问电子课本资源,用户需提供 **Access Token** 才可正常下载。 |
10 | 11 |
|
11 | | -本工具支持 **Windows**、**Linux**、**macOS** 等操作系统(需要图形化界面)。 |
| 12 | +👉 **请先按照下方指南设置 Access Token**,否则程序将无法解析资源! |
12 | 13 |
|
13 | | -## ✨ 工具特点 |
| 14 | +--- |
14 | 15 |
|
15 | | -- **支持批量下载** 📚:如果您输入多个电子课本预览页面的网址,本工具可批量下载电子课本。无论是单个文件还是多个文件,工具都能根据您的需求自动解析和下载。 |
16 | | - |
17 | | -- **下载管理合理** 📂:对于单个电子课本,您可以选择下载到指定文件夹并自动使用教材名称作为文件名。对于多个电子课本,您可以选择自定义保存路径,程序会将所有PDF文件下载到该文件夹下。 |
18 | | - |
19 | | -- **快速复制链接** 🔗:除了下载功能,您还可以选择只解析并复制电子课本的PDF下载链接,方便您后续分享或使用其他下载工具(如 IDM)下载。 |
| 16 | +## ✨ 工具特点 |
20 | 17 |
|
21 | | -- **高DPI适配** 🖥️:本工具已对高DPI屏幕进行了适配,确保在高分辨率屏幕下显示正常,不会出现字体或UI模糊的问题。 |
| 18 | +- **支持 Access Token 登录** 🔑:支持用户手动输入 Access Token,并存储在本地(Windows 版存入注册表),下次启动可自动加载。 |
| 19 | +- **支持批量下载** 📚:一次输入多个电子课本预览页面网址,即可批量下载 PDF 课本文件。 |
| 20 | +- **自动文件命名** 📂:程序会自动使用教材名称作为文件名,方便管理下载的课本文件。 |
| 21 | +- **高DPI适配** 🖥️:优化 UI 以适配高分辨率屏幕,避免界面模糊问题。 |
| 22 | +- **下载进度可视化** 📊:实时显示下载进度,支持暂停/恢复操作。 |
| 23 | +- **跨平台支持** 💻:支持 Windows、Linux、macOS(需图形界面)。 |
22 | 24 |
|
23 | | -- **多线程下载** 🚀:使用多线程技术进行下载,避免因为文件过大或网络延迟导致的程序无响应,提升用户体验。 |
| 25 | +--- |
24 | 26 |
|
25 | | -- **详细的下载进度显示** 📊:在下载过程中,工具会实时显示下载进度,通过进度条和状态标签,您可以直观地查看下载进度和下载任务的完成情况。 |
| 27 | +## 🔑 获取 Access Token(必需) |
26 | 28 |
|
27 | | -## 🛠️ 使用方法 |
| 29 | +1. **打开浏览器**,访问 [国家中小学智慧教育平台](https://auth.smartedu.cn/uias/login) 并 **登录账号**。 |
| 30 | +2. 按 **F12** 或 **Ctrl+Shift+I** 打开 **开发者工具**,选择 **控制台(Console)**。 |
| 31 | +3. 在控制台粘贴以下代码后回车(Enter): |
28 | 32 |
|
29 | | -1. **输入URL**:将电子课本的预览页面网址粘贴到程序窗口的文本框中。如果您有多个电子课本需要下载,请换行分割每个网址。 |
| 33 | + ```javascript |
| 34 | + (function() { |
| 35 | + let authKey = Object.keys(localStorage).find(key => key.includes("ND_UC_AUTH")); |
| 36 | + if (!authKey) { |
| 37 | + console.error("未找到 Access Token,请确保已登录!"); |
| 38 | + return; |
| 39 | + } |
| 40 | + let tokenData = JSON.parse(localStorage.getItem(authKey)); |
| 41 | + let accessToken = JSON.parse(tokenData.value).access_token; |
| 42 | + console.log("%cAccess Token: ", "color: green; font-weight: bold", accessToken); |
| 43 | + })(); |
| 44 | + ``` |
| 45 | +4. 复制控制台输出的 **Access Token**,然后在本程序中点击 **“设置 Token”** 按钮,粘贴并保存 Token。 |
30 | 46 |
|
31 | | -2. **选择操作**: |
32 | | - - **解析并复制** 📋:点击“**解析并复制**”按钮,工具会解析每个网址对应的PDF下载链接,并将解析后的链接复制到剪贴板。 |
33 | | - - **下载** 📥:点击“**下载**”按钮,工具会提示您选择保存路径,并开始下载PDF文件。对于单个文件,您可以选择保存位置和文件名;对于多个文件,程序会自动使用教材名称作为文件名并保存到指定文件夹。 |
| 47 | +🚨 **注意**:Access Token 可能会过期,若下载失败提示 **401 Unauthorized**,请重新获取并设置新的 Token。 |
34 | 48 |
|
35 | | -3. **查看进度** 📈:在下载过程中,您可以查看窗口底部的进度条和状态标签,了解当前的下载进度和任务完成情况。 |
| 49 | +--- |
36 | 50 |
|
37 | | -## 📸 截图 |
| 51 | +## 🛠️ 使用方法 |
38 | 52 |
|
39 | | - |
| 53 | +1. **输入教材链接** 📥 |
| 54 | + - 将电子课本的 **预览页面网址** 粘贴到程序文本框中,支持多个 URL(每行一个)。 |
| 55 | + - **示例网址**: |
| 56 | + ``` |
| 57 | + https://basic.smartedu.cn/tchMaterial/detail?contentType=assets_document&contentId=XXXXXX&catalogType=tchMaterial&subCatalog=tchMaterial |
| 58 | + ``` |
40 | 59 |
|
41 | | -## ❓ 常见问题 |
| 60 | +2. **设置 Access Token** 🔑 |
| 61 | + - 若是第一次使用,需点击 **“设置 Token”** 按钮,粘贴 Access Token 并保存。 |
42 | 62 |
|
43 | | -### 1. 如何处理下载失败的问题?⚠️ |
| 63 | +3. **开始下载** 🚀 |
| 64 | + - 点击 **“下载”** 按钮,程序将自动解析并下载 PDF 课本。 |
| 65 | + - 支持 **批量下载**,所有 PDF 文件会自动按课本名称命名并保存在选定目录中。 |
44 | 66 |
|
45 | | -- **检查网络连接** 🌐:请确保您的设备已连接到互联网,并且网络畅通。 |
46 | | -- **检查链接有效性** 🔗:请确认您输入的电子课本链接是有效的,并且可以通过浏览器访问。 |
47 | | -- **重试下载** 🔄:在某些情况下,网络波动可能导致下载失败,建议您重新尝试下载。 |
| 67 | +--- |
48 | 68 |
|
49 | | -### 2. 高DPI显示问题 🖥️ |
| 69 | +## 📸 截图 |
50 | 70 |
|
51 | | -- 如果您在高分辨率屏幕下发现界面显示不正常,您可以尝试调整代码中的缩放因子,或在Windows的显示设置中更改缩放级别。 |
| 71 | + |
| 72 | +
|
| 73 | +--- |
| 74 | +
|
| 75 | +## ❓ 常见问题 |
| 76 | +
|
| 77 | +### 1. **为什么下载失败?** ⚠️ |
| 78 | +
|
| 79 | +- **检查是否已正确设置 Access Token** 🔑。 |
| 80 | +- **确认网络连接是否正常** 🌐,有时网络不稳定可能导致下载失败。 |
| 81 | +- **确保输入的网址有效** 🔗,部分旧资源可能已被移除。 |
| 82 | +- **Token 过期**:点击下载后,若程序提示 Token 过期,请重新获取 Token 并更新。 |
| 83 | +
|
| 84 | +### 2. **Access Token 保存在哪里?** 💾 |
| 85 | +
|
| 86 | +- **Windows 版**:Token 会存入 **注册表**(`HKEY_CURRENT_USER\Software\tchMaterial-parser`)。 |
| 87 | +- **Linux/macOS 版**:Token 仅存于内存,不会自动保存,程序重启后需重新输入。 |
| 88 | +
|
| 89 | +### 3. **Token 会不会泄露?** 🔐 |
| 90 | +
|
| 91 | +- 本程序 **不会上传** Token,也不会存储在云端,仅用于本地请求授权。 |
| 92 | +- **请勿在公开场合分享 Token**,以免账号被他人使用。 |
| 93 | +
|
| 94 | +--- |
52 | 95 |
|
53 | 96 | ## ⭐ Star History |
54 | 97 |
|
55 | 98 | [](https://star-history.com/#happycola233/tchMaterial-parser&Date) |
56 | 99 |
|
57 | | -## 🤝 贡献指南 |
| 100 | +--- |
| 101 | +
|
| 102 | +## 🤝 贡献指南 |
| 103 | +
|
| 104 | +如果您发现 Bug 或有改进建议,欢迎提交 **Issue** 或 **Pull Request**,让我们一起完善本工具! |
| 105 | +
|
| 106 | +--- |
| 107 | +
|
| 108 | +## 📜 许可证 |
| 109 | +
|
| 110 | +本项目基于 [MIT License](LICENSE) 许可证,欢迎自由使用和二次开发。 |
| 111 | +
|
| 112 | +--- |
58 | 113 |
|
59 | | -如果您对本项目有任何建议或发现了Bug,欢迎提交Issue或Pull Request。我们非常感谢大家对本项目的支持! |
| 114 | +## 💌 友情链接 |
60 | 115 |
|
61 | | -## 📜 许可证 |
| 116 | +📚 您也可以在 [ChinaTextbook](https://github.com/TapXWorld/ChinaTextbook) 项目中下载归档的教材 PDF。 |
62 | 117 |
|
63 | | -本项目使用 [MIT License](LICENSE) 许可证。 |
| 118 | +--- |
64 | 119 |
|
65 | | -## 💌 友情链接 |
66 | | -您也可以在 [ChinaTextbook](https://github.com/TapXWorld/ChinaTextbook) 项目中直接下载已归档的教材PDF。 |
| 120 | +🚀 **最新版本 v3.0 现已发布,欢迎体验!** |
0 commit comments