fix: automate graduate timetable read and refine blue glass Dock
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# 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中。
|
||||
Reference in New Issue
Block a user