|
1 | | -# [国家中小学智慧教育平台](https://basic.smartedu.cn/tchMaterial/) 电子课本下载工具 |
| 1 | +# [国家中小学智慧教育平台](https://basic.smartedu.cn/tchMaterial/) 电子课本下载工具 |
2 | 2 |
|
3 | 3 |  |
4 | 4 |  |
5 | 5 |  |
6 | 6 |
|
7 | | -本工具可以帮助您从 **[国家中小学智慧教育平台](https://basic.smartedu.cn/tchMaterial/)** 获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 |
| 7 | +> [!TIP] |
| 8 | +> 🚀最新版本 v3.0 现已发布,欢迎体验! |
8 | 9 |
|
9 | | -📢 **⚠️ 重要更新(2025年3月)** |
10 | | -自 **2025 年 02 月** 起,国家中小学智慧教育平台 **需要登录** 才能访问电子课本资源,用户需提供 **Access Token** 才可正常下载。 |
| 10 | +本工具可以帮助您从[**国家中小学智慧教育平台**](https://basic.smartedu.cn/tchMaterial/)获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 |
11 | 11 |
|
12 | | -👉 **请先按照下方指南设置 Access Token**,否则程序将无法解析资源! |
| 12 | +> [!CAUTION] |
| 13 | +> |
| 14 | +> 自**2025 年 2 月**起,国家中小学智慧教育平台**需要登录**才能访问电子课本资源,用户需提供 **Access Token**(即登录凭据)才可正常使用本工具的下载功能。 |
| 15 | +> |
| 16 | +> **👉请先按照[下方指南](#2-设置-access-token)设置 Access Token,否则程序将无法解析资源!** |
13 | 17 |
|
14 | | ---- |
| 18 | +## ✨工具特点 |
15 | 19 |
|
16 | | -## ✨ 工具特点 |
| 20 | +- **支持 Access Token 登录**🔑:支持用户手动输入 Access Token,在 Windows 操作系统下会存入注册表,下次启动可自动加载。 |
| 21 | +- **支持批量下载**📚:一次输入多个电子课本预览页面网址,即可批量下载 PDF 课本文件。 |
| 22 | +- **自动文件命名**📂:程序会自动使用教材名称作为文件名,方便管理下载的课本文件。 |
| 23 | +- **高 DPI 适配**🖥️:优化 UI 以适配高分辨率屏幕,避免界面模糊问题。 |
| 24 | +- **下载进度可视化**📊:实时显示下载进度,支持暂停/恢复操作。 |
| 25 | +- **跨平台支持**💻:支持 Windows、Linux、macOS 等操作系统(需要图形界面)。 |
17 | 26 |
|
18 | | -- **支持 Access Token 登录** 🔑:支持用户手动输入 Access Token,并存储在本地(Windows 版存入注册表),下次启动可自动加载。 |
19 | | -- **支持批量下载** 📚:一次输入多个电子课本预览页面网址,即可批量下载 PDF 课本文件。 |
20 | | -- **自动文件命名** 📂:程序会自动使用教材名称作为文件名,方便管理下载的课本文件。 |
21 | | -- **高DPI适配** 🖥️:优化 UI 以适配高分辨率屏幕,避免界面模糊问题。 |
22 | | -- **下载进度可视化** 📊:实时显示下载进度,支持暂停/恢复操作。 |
23 | | -- **跨平台支持** 💻:支持 Windows、Linux、macOS(需图形界面)。 |
| 27 | + |
24 | 28 |
|
25 | | ---- |
| 29 | +## ⬇️下载与安装方法 |
26 | 30 |
|
27 | | -## 🔑 获取 Access Token(必需) |
| 31 | +### GitHub Releases 页面 |
28 | 32 |
|
29 | | -1. **打开浏览器**,访问 [国家中小学智慧教育平台](https://auth.smartedu.cn/uias/login) 并 **登录账号**。 |
30 | | -2. 按 **F12** 或 **Ctrl+Shift+I** 打开 **开发者工具**,选择 **控制台(Console)**。 |
31 | | -3. 在控制台粘贴以下代码后回车(Enter): |
| 33 | +由于我们的精力有限,本项目的 [GitHub Releases 页面](https://github.com/happycola233/tchMaterial-parser/releases)**仅会发布适用于 Windows 与 Linux 操作系统的 x64 架构**的程序。 |
32 | 34 |
|
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。 |
| 35 | +在下载完成之后,即可运行本程序,不需要额外的安装步骤。 |
46 | 36 |
|
47 | | -🚨 **注意**:Access Token 可能会过期,若下载失败提示 **401 Unauthorized**,请重新获取并设置新的 Token。 |
| 37 | +### Arch 用户软件仓库(AUR) |
48 | 38 |
|
49 | | ---- |
| 39 | +对于 **Arch Linux** 操作系统,本程序已发布至[Arch 用户软件仓库](https://aur.archlinux.org/packages/tchmaterial-parser),因此您还可以通过在终端中输入以下命令安装: |
50 | 40 |
|
51 | | -## 🛠️ 使用方法 |
| 41 | +```sh |
| 42 | +yay -S tchmaterial-parser |
| 43 | +``` |
52 | 44 |
|
53 | | -1. **输入教材链接** 📥 |
54 | | - - 将电子课本的 **预览页面网址** 粘贴到程序文本框中,支持多个 URL(每行一个)。 |
55 | | - - **示例网址**: |
56 | | - ``` |
57 | | - https://basic.smartedu.cn/tchMaterial/detail?contentType=assets_document&contentId=XXXXXX&catalogType=tchMaterial&subCatalog=tchMaterial |
58 | | - ``` |
| 45 | +感谢 @iamzhz 制作了本工具的发行包(#26)! |
59 | 46 |
|
60 | | -2. **设置 Access Token** 🔑 |
61 | | - - 若是第一次使用,需点击 **“设置 Token”** 按钮,粘贴 Access Token 并保存。 |
| 47 | +## 🛠️使用方法 |
62 | 48 |
|
63 | | -3. **开始下载** 🚀 |
64 | | - - 点击 **“下载”** 按钮,程序将自动解析并下载 PDF 课本。 |
65 | | - - 支持 **批量下载**,所有 PDF 文件会自动按课本名称命名并保存在选定目录中。 |
| 49 | +### 1. 输入教材链接📥 |
66 | 50 |
|
67 | | ---- |
| 51 | +将电子课本的**预览页面网址**粘贴到程序文本框中,支持多个 URL(每行一个)。 |
68 | 52 |
|
69 | | -## 📸 截图 |
| 53 | +**示例网址**: |
70 | 54 |
|
71 | | - |
| 55 | +```text |
| 56 | +https://basic.smartedu.cn/tchMaterial/detail?contentType=assets_document&contentId=XXXXXX&catalogType=tchMaterial&subCatalog=tchMaterial |
| 57 | +``` |
72 | 58 |
|
73 | | ---- |
| 59 | +### 2. 设置 Access Token🔑 |
74 | 60 |
|
75 | | -## ❓ 常见问题 |
| 61 | +若是第一次使用,需点击 “**设置 Token**” 按钮,粘贴 Access Token 并保存。 |
76 | 62 |
|
77 | | -### 1. **为什么下载失败?** ⚠️ |
| 63 | +1. **打开浏览器**,访问[国家中小学智慧教育平台](https://auth.smartedu.cn/uias/login)并**登录账号**。 |
| 64 | +2. 按下 **F12** 或 **Ctrl+Shift+I**,或右键——检查(审查元素)打开**开发者工具**,选择**控制台(Console)**。 |
| 65 | +3. 在控制台粘贴以下代码后回车(Enter): |
78 | 66 |
|
79 | | -- **检查是否已正确设置 Access Token** 🔑。 |
80 | | -- **确认网络连接是否正常** 🌐,有时网络不稳定可能导致下载失败。 |
81 | | -- **确保输入的网址有效** 🔗,部分旧资源可能已被移除。 |
82 | | -- **Token 过期**:点击下载后,若程序提示 Token 过期,请重新获取 Token 并更新。 |
| 67 | + ```js |
| 68 | + (function() { |
| 69 | + const authKey = Object.keys(localStorage).find(key => key.startsWith("ND_UC_AUTH")); |
| 70 | + if (!authKey) { |
| 71 | + console.error("未找到 Access Token,请确保已登录!"); |
| 72 | + return; |
| 73 | + } |
| 74 | + const tokenData = JSON.parse(localStorage.getItem(authKey)); |
| 75 | + const accessToken = JSON.parse(tokenData.value).access_token; |
| 76 | + console.log("%cAccess Token: ", "color: green; font-weight: bold", accessToken); |
| 77 | + })(); |
| 78 | + ``` |
| 79 | + |
| 80 | +4. 复制控制台输出的 **Access Token**,然后在本程序中点击 “**设置 Token**” 按钮,粘贴并保存 Token。 |
83 | 81 |
|
84 | | -### 2. **Access Token 保存在哪里?** 💾 |
| 82 | +> [!CAUTION] |
| 83 | +> Access Token 可能会过期,若下载失败提示 **401 Unauthorized**,请重新获取并设置新的 Token。 |
85 | 84 |
|
86 | | -- **Windows 版**:Token 会存入 **注册表**(`HKEY_CURRENT_USER\Software\tchMaterial-parser`)。 |
87 | | -- **Linux/macOS 版**:Token 仅存于内存,不会自动保存,程序重启后需重新输入。 |
| 85 | +### 3. 开始下载🚀 |
88 | 86 |
|
89 | | -### 3. **Token 会不会泄露?** 🔐 |
| 87 | +点击 “**下载**” 按钮,程序将自动解析并下载 PDF 课本。 |
90 | 88 |
|
91 | | -- 本程序 **不会上传** Token,也不会存储在云端,仅用于本地请求授权。 |
92 | | -- **请勿在公开场合分享 Token**,以免账号被他人使用。 |
| 89 | +本工具支持**批量下载**,所有 PDF 文件会自动按课本名称命名并保存在选定目录中。 |
93 | 90 |
|
94 | | ---- |
| 91 | +## ❓常见问题 |
95 | 92 |
|
96 | | -## ⭐ Star History |
| 93 | +### 1. 为什么下载失败?⚠️ |
97 | 94 |
|
98 | | -[](https://star-history.com/#happycola233/tchMaterial-parser&Date) |
| 95 | +- 检查是否已[**正确设置 Access Token**](#2-设置-access-token)🔑,且没有过期。 |
| 96 | +- **确认网络连接是否正常**🌐,有时网络不稳定可能导致下载失败。 |
| 97 | +- **确保输入的网址有效**🔗,部分旧资源可能已被移除。 |
99 | 98 |
|
100 | | ---- |
| 99 | +### 2. Access Token 保存在哪里?💾 |
101 | 100 |
|
102 | | -## 🤝 贡献指南 |
| 101 | +- **Windows 操作系统**:Token 会存储在**注册表** `HKEY_CURRENT_USER\Software\tchMaterial-parser` 项中的 `AccessToken` 值。 |
| 102 | +- **Linux/macOS 等操作系统**:Token 仅在运行时临时存储于内存,不会自动保存,程序重启后需重新输入,目前我们正在努力改进该功能。 |
103 | 103 |
|
104 | | -如果您发现 Bug 或有改进建议,欢迎提交 **Issue** 或 **Pull Request**,让我们一起完善本工具! |
| 104 | +### 3. Token 会不会泄露?🔐 |
105 | 105 |
|
106 | | ---- |
| 106 | +- 本程序**不会上传** Token,也不会存储在云端,仅用于本地请求授权。 |
| 107 | +- **请勿在公开场合分享 Token**,以免您的账号被他人使用,造成严重后果。 |
107 | 108 |
|
108 | | -## 📜 许可证 |
| 109 | +## ⭐Star History |
| 110 | + |
| 111 | +[](https://star-history.com/#happycola233/tchMaterial-parser&Date) |
109 | 112 |
|
110 | | -本项目基于 [MIT License](LICENSE) 许可证,欢迎自由使用和二次开发。 |
| 113 | +## 🤝贡献指南 |
111 | 114 |
|
112 | | ---- |
| 115 | +如果您发现 Bug 或有改进建议,欢迎提交 **Issue** 或 **Pull Request**,让我们一起完善本工具! |
113 | 116 |
|
114 | | -## 💌 友情链接 |
| 117 | +## 📜许可证 |
115 | 118 |
|
116 | | -📚 您也可以在 [ChinaTextbook](https://github.com/TapXWorld/ChinaTextbook) 项目中下载归档的教材 PDF。 |
| 119 | +本项目基于 [MIT 许可证](LICENSE),欢迎自由使用和二次开发。 |
117 | 120 |
|
118 | | ---- |
| 121 | +## 💌友情链接 |
119 | 122 |
|
120 | | -🚀 **最新版本 v3.0 现已发布,欢迎体验!** |
| 123 | +- 📚您也可以在 [ChinaTextbook](https://github.com/TapXWorld/ChinaTextbook) 项目中下载归档的教材 PDF。 |
0 commit comments