# 学校接入状态 · TPSchedule 0.7.1 0.7.1补充学校浏览器宽视口、第三方Cookie和资源错误诊断,修复本科认证跳转导致读取永久中断的竞态。255项单元测试及Android16原生浏览器测试通过。用户截图中的样式与组件缺失尚需真机复测,不能仅凭测试认定已解决,详见 [0.7.1验证记录](tpschedule-0.7.1-validation.md)。 ## 本科接入 学校列表现有电子科技大学(研究生)、电子科技大学(本科生),连接目标使用稳定标识并保存本机。研究生沿用专用SSO及自动读取;本科使用独立连接器,学校浏览器均延迟到真正访问时创建。 本科课表从 `https://eams.uestc.edu.cn/eams/` 登录,学生自行打开课表、选择学期,再点击「导入当前课表」。同源框架及实际学期字段用于解析;停课周不生成课程,完整教师/教室、跨周变更与备注保留。新课表学期需设置开始日;同学校同学期更新保留日期和偏好。本科12节,第12节22:00–22:45。 本科考试访问 `https://eams.uestc.edu.cn/eams/stdExamTable!examTable.action?semester.id={id}&examType.id={type}`。523为2026–2027第一学期,相邻学期编号差20;1期末、2期中、3补考/缓考。选择一个学期和至少一种类型,全部成功后一次保存;失败、取消、超时保留旧数据。重新认证后全部类型重读,验证码等待不算超时。成功选项用于刷新;历史本科考试不改变课表及开始日。 真实本科课表附件已验证10门课程、18段安排、3段含第12节;考试附件4条属于503,未被默认523污染。仓库只保留脱敏样例。真实账号在线认证、回调和验证码仍需本人验证;附件和模拟回调不替代这项确认。 ## 研究生接入说明(沿用原0.3.1流程) 专用入口:https://yjsjy.uestc.edu.cn/pyxx/jzsso/login。 课表查询:https://yjsjy.uestc.edu.cn/pyxx/pygl/xskbcx/index/1。 考试查询:https://yjsjy.uestc.edu.cn/pyxx/pygl/kskcxx/index。 ## 登录问题的原因与修复 旧版先打开课表或通用身份认证页面,缺少研究生系统专用 `service` 交接。2026-10-13直接核对学校入口HTTP响应,HTTPS专用入口302指向 `http://idas.uestc.edu.cn/authserver/login?service=http%3A%2F%2Fyjsjy.uestc.edu.cn%2Fpyxx%2Fjzsso%2Flogin`。安卓地址检查原先会拦截这一HTTP跳转。 现在从专用入口开始,把准确的HTTP身份认证入口升级为HTTPS,保留完整原始查询参数。移除自绘账号密码表单及JavaScript凭证注入,学生在学校WebView中完成认证和验证码。旧版错误地查找不存在的退出链接;真实页面使用window.logout()函数。现在根据该函数及真实研究生页面结构识别登录完成,自动打开目标页面并保存完整数据,不需要学生手动进入课表。读取仅在认证页面活跃时每750ms检查一次、最多45秒,支持延迟加载和同源内嵌课表。手动读取按钮只作为故障恢复,读取当前页而非重新认证。研究生域名的HTTP回调在Android网络配置中单独放行。其他HTTP身份认证地址不直接加载。 导航、重新打开、退出会让旧读取失效。保存确认同时检查原页面版本和原草稿,旧结果不会删除新草稿或关闭新路由。退出操作与下一次打开串行交接,原生清理失败显示可恢复信息;迟到的网络错误必须匹配当前页面。 ## 数据验证 - 真实课表HTML:7门课程、11条每周安排;合并分散周次,保留全部老师、教室和晚上9–11节。 - 真实考试HTML:2026-2027秋学期8门课程,考核方式、考生编号、考场顺序号、考场、座位号、考试时间全部为空。目前只能读取课程列表,不能得出具体排考信息。 - 考试解析不保存页面里的学号、姓名。原始附件、视频和脚本不放进源码或APK;测试使用合成数据,真实附件仅作为本机可选验证输入。 - 不完整或未知表格拒绝导入;考试空列表需要明确无数据占位,课表空页面不作为清空指令。 - HTML文件导入不修改学校认证状态。课程和考试数据分开保存;升级兼容旧快照。 ## 验证边界 没有使用本人账户填写密码、验证码或进行二次验证,因此不能宣称已完成真实账户端到端登录。已核对实际学校专用入口重定向,测试真实HTML识别以及会话回调、错误恢复和数据保存。 学校HTML不含学期开始日,需自行填写真实日期和周数;应用不会猜测或改写学期日期。后续学校表格发生变化时,未知结构会提示重试并保留已有数据。