# RSchedule 0.3.1+5 · 自动读取与玻璃动画修正 2026-10-13。 ## 登录自动读取 原判断假设真实研究生系统存在href为/pyxx/home/exit的退出链接。两个实际附件均没有该链接;实际使用window.logout()函数,且有navbar与main-container页面节点。旧版因此未触发自动跳转。 新流程在学生完成统一认证后检测真实研究生页面结构和logout函数,自动进入课表查询、等待表格就绪并导入。支持/pyxx根首页、HTTP研究生回调、异步表格和同源内嵌页面;每750ms检测,45秒内有界等待。学生只需完成学校登录和验证码,不需要手动进入课表。读取当前页面仅为恢复入口。 只读取可信学校文档中的选中学期和已识别表格片段,排除密码页和跨源文档,保持原严格解析器。旧导航、旧读取、旧网络失败和关闭页面后的结果均失效;已有数据不会被残缺表格覆盖。 ## 外观与交互 - 三个页面统一蓝色主色、浅蓝背景和深蓝文本。课表标题左边距8+14=22,与其他两页一致;七天网格宽度保留。 - Dock宽度280→264,高度68,静止滑块边距3。选中态浅灰,未选中部分透明玻璃。 - 按压、拖动时滑块放大约18%–20%,随速度拉伸,并用弹簧回弹;滑块能在交互时高于Dock,不被底座裁切。 - 滑块交互时提高透明感,实时背景滤镜弯曲边缘采样、轻微放大中部并模拟色散和反光。图标位于滤镜上方。 - 向下隐藏使用360ms缓入缓出滑出屏幕底部,取消过早淡出;向上滚动滑回。页面仍不支持横向滑动切页。 设计参考:[苹果iOS27](https://www.apple.com/os/ios/)、[苹果液态玻璃指南](https://developer.apple.com/documentation/technologyoverviews/adopting-liquid-glass)、[苹果Tab bar指南](https://developer.apple.com/design/human-interface-guidelines/tab-bars),以及用户视频。 ## 验证 - 合并后的107项Flutter测试通过,flutter analyze无问题,安卓构建成功。 - 新回归覆盖:无退出链接但有logout函数时自动跳转;异步表格等待;嵌入表格读取;退出/关闭/重新打开的旧结果隔离;HTTP同源子页面;自动导航失败不影响新草稿。 - Node独立执行原生产网页检测脚本,验证真实选中学期序列化、根首页、嵌套同源文档、密码排除与源校验。 - 两个真实附件的解析仍正确:11条课程安排、8门未排考课程。 - 动画测试检查按压放大、松手恢复、隐藏过程仍可见且位置向下移动;折射像素测试用实际图像纹理验证边缘像素改变且中心保持稳定。 - Android兼容渲染模式实际截图保存在dist/screenshots/rschedule-week.png、rschedule-exams.png、rschedule-profile.png、rschedule-dock-held.png。 ## 验证范围 学生真实账户和验证码未由代理填写,真实认证后的端到端流程仍需学生本人验证。已修复确定的错误选择器,并通过真实HTML、网页脚本及会话流程回归验证。 实时折射使用Flutter ImageFilter.shader,要求支持Impeller。其他模式保留透明玻璃高光与轻微模糊。本机Android模拟器GPU运行会导致宿主显卡进程退出;OpenGL测试模式同样无法运行,因此实际截图和原生动画复核使用兼容模式。折射算法已有真实像素测试,但真实手机GPU下的背景定位与视觉效果尚未实测。[Flutter接口限制](https://api.flutter.dev/flutter/dart-ui/ImageFilter/ImageFilter.shader.html) 测试用渲染配置已恢复,交付APK保留默认手机配置。原始HTML、视频及个人学号姓名不在源码或APK中。