feat: deliver Riverside Schedule seven-day grid and school HTML import

This commit is contained in:
Codex
2026-10-13 11:18:50 +08:00
parent 91a2522043
commit 8403be05da
29 changed files with 1246 additions and 446 deletions
+13 -5
View File
@@ -1,11 +1,19 @@
# 学校接入状态
当前首版提供自绘账号密码入口,以及学校官方页面进行验证码、二次验证和登录。认证使用系统 WebView 与学校原有提交及加密逻辑;密码不保存到本地文件,不发送到第三方服务器。退出会清除该 WebView 的 Cookie、缓存和本地存储,可选择保留或清除已导入课表。
0.2.0已实现提供的研究生课表HTML结构解析,入口为 https://yjsjy.uestc.edu.cn/pyxx/pygl/xskbcx/index/1,允许学校同路径下数字学期编号。保留HTTPS、域名、端口、登录表单检查;认证密码仍仅交给学校原有表单及加密逻辑,不保存到课表文件。
已检查公开的 [统一身份认证页面](https://idas.uestc.edu.cn/authserver/login) 及脚本,核实表单结构和学校原有函数。登录前再次检查 HTTPS、域名、端口、路径和表单结构;页面变化时停止自动提交,仍可使用官方页面完成操作。
## 已验证
**尚未完成本人登录及真实课表自动识别。** [研究生课表查询页](https://yjsjy.uestc.edu.cn/pyxx/pygl/xskbcx/index/1) 需要本人会话,当前没有取得页面样本。解析器遇到当前未知页面明确提示“学校课表识别待联调,当前课表保持不变”,不会生成虚假课程或清空原课表。
- 提供的HTML:7门课程,11条每周安排;分散周次合并;多位老师和教室完整保留;晚上9–11节保留三节。
- 课表表格节次、星期列、课程记录、周次及单元格位置逐项校验。未知、部分损坏或空HTML拒绝导入,保留旧课表。
- `.html`/`.htm`与JSON文件都先预览再确认。离线HTML只记为文件来源,不修改学校认证状态。
- 正在读取的课表在导航或退出登录后失效,迟到的结果不能恢复登录状态或导入预览。
- 原始附件中的学号、脚本和其他个人信息未放入源码或安装包。自动化测试使用合成课表;原始附件仅作为本机可选验证输入。
后续在本人手机登录后,需要用脱敏课表页面核实:课程字段、单/双周、周次范围、连续节次、校区、空课表和会话失效。页面中学生姓名、学号、Cookie、令牌及密码应移除后才作为开发样本。取得样本后增加解析器与回归测试,再开放真实自动导入。
## 仍需本人验证
首版可体验内置示例,或通过 JSON 导入本人课程。JSON 导入先预览再确认,失败保留原数据;示例模式独立,不写手机日历或安排系统通知。
实时统一身份认证、验证码、二次验证及学校登录重定向尚未用本人账户实测。解析器已连接WebView读取流程,但不能据离线HTML宣称实时登录已验证。
当前解析器支持已提供表格的明确周次范围及周次列表;未知单双周文字或新的页面结构拒绝导入。没有课程的页面不会被猜测为清空指令。
HTML没有提供学期开始日,导入不会推测或改写学期日期;需要在设置填写真实日期和周数。