Skip to content

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 04 Aug 19:57
· 137 commits to main since this release

[0.8.0] - 2026-08-05

新增

  • 学业页 UI 第一版:侧栏“作业 / 课程”合并为“学业”;课程表(时间轴周视图,周起始日可切周一 / 周日,支持全周 / 单周 / 双周 / 指定周次与“仅当前周”过滤)与作业(截止排序、状态 / 课程筛选、勾选完成、归档、删除确认)两个平级视图。

  • 共享分段切换组件 SegmentedControl;课程 / 作业表单弹窗(前端内存示例数据,未接后端持久化)。

  • 中英双语时间格式:中文 24 小时制 / English 12 小时 AM·PM。

  • 学业页体验重塑:课程表视觉重设计(周头日期与“今天”药丸、当前时间线、课程卡色条与柔和投影);表单按分区重排并统一文字层级;新建课程颜色默认自动分配。

  • 作业区分短备注(≤200,行内显示)与长详情(≤5000,可展开,AI 摘要预留字段);修复“N 天后截止”数字丢失并新增“已逾期 N 天”;标记完成走确认弹窗。

  • 全应用按钮顺序统一为 Windows“是左否右”(主操作在左、取消在右);新增共享组件 Field / ColorPicker / DialogFooter / DueTextModal 标题层级提升。

  • 输入法保护:键盘监听在拼音组合期间不再拦截按键(isComposing 保护);窗口失焦时主动释放输入焦点,减少残留输入状态对其它窗口输入法的影响(系统级输入法问题属 Windows/微软拼音已知行为,本项为保护性修复)。

  • 编辑弹窗观感收敛:课程 / 作业表单改用分隔线分区并统一紧凑间距(新增共享组件 FormSection / TextArea);课程表内部胶囊圆角收敛为小圆角,容器与课程卡各保留一个圆角。

  • 学业页 UI 重构:修复分区分割线贴输入框(FormSection 改为自身 border-t + 双向 16px 间距);分区标题升级为强色 + 品牌竖条;课程表单按语义重排字段(星期全宽、开始/结束组成“至”时间对、指定周次按需出现);SegmentedControl 新增 tabs 下划线变体并放宽分段内边距;作业筛选加状态/课程小标题;课程表方形化、作业行 12px 圆角。

  • 学业页课程表“堆叠磁贴”重构:主切换升级为等宽双栏 + 图标 + 待办数;时间刻度移到表格外、删除内部左列、弱化网格线;课程卡轻磁贴化(圆角收敛至 4px/2px 级、内容按高度降级、短课时最小高度);错周同槽合并为堆叠行、同周重叠最多两栏并折叠 “+N”;点击课程进入只读详情(完整信息 + 作业列表),编辑/删除/查看作业显式操作;补齐长名称、短课时、错周聚合、多课溢出等测试。

  • 学业页表单与深浅色体验加固:自定义 TimeSelect(5 分钟粒度、深色适配)替换原生时间控件;课程表单重排(名称+老师同行右对齐、地点独占一行)与智能时间(默认时长自动调整、课程时长快捷项、同周冲突实时提示、周次范围容错、字段级错误与底部错误);作业表单日期+时间拆分、逾期提示、按课程时间建议截止;课程详情作业行可点击并自动展开详情、状态点按状态/逾期变色;顶部切换限宽与深色徽标修复;全局 color-scheme/placeholder 深色适配;偏好记忆与自动聚焦等静默智能。

  • 学业页微调:时间刻度移回表体左侧并对齐网格线(不再与周一表头并排);课程表单名称加长(5/7)与老师(2/7)同行、地点随弹窗加宽;指定周次去除重复说明;顶部切换进一步缩短;同周重叠新增硬性合法性校验(保存时拦截并明确报错),移除示例中的重叠课程。

  • 学业页布局修正:时间刻度移回表格外侧并与表体对齐(按表头实测高度偏移,不再与周一表头错位或进入表格);示例新增与“程序设计”同槽错周的“大学物理”,堆叠卡片带间距展示;同周冲突保持保存拦截。

  • 错周同槽改为“堆叠点击展开”:折叠时只显示首门课 + 层叠边缘 + “共 N 门”角标,体现同时段与层次;点击展开为该时段全部课程的可读卡片行,并可收起;点击行内课程仍进详情。

  • 堆叠卡体验细化:课程按上课顺序堆叠;自动配色避开同课时段已有颜色以作区分;角标简化为纯数字;展开改为浮层平铺在课表上方(逐张 fan-in 动效),支持 Esc/点外部/关闭按钮收起。

  • 堆叠卡铺开浮层:点击后原卡隐藏,课表上方平铺完整信息卡(课程名/时间/周次/老师/地点/作业数),deal-in 逐张摊开动效,Esc/遮罩/关闭按钮收起;新增长标题示例课程与“图标 + 数字”角标。

  • 铺开浮层去窗口化:卡片组居中悬浮在页面上,无面板/边框/遮罩感,原堆叠卡隐藏,关闭后恢复。

  • 铺开改为独立元素卡阵:每张卡固定定位在点击位置附近摊开,无容器/滚动框;卡片加大并完整展示名称/老师/地点;最多平铺 4 张,超出以 +N 收口;堆叠卡提升层级避免被相邻课程盖住。

  • 堆叠层叠边缘改为“可越界但被其它课程卡覆盖”:堆叠卡不设更高 z-index,其它课程卡渲染在其上层。

  • 课程表学期生命周期:学期选择(双语)、当前周计数与手动预览周、回到本周、学期日期范围提示;工具栏分层展示,学期偏好持久化。

  • 学期管理(课表创建与保存):新建/编辑/复制/删除学期,每学期独立课程与作业,切换学期即切换课表;数据持久化到 localStorage rootup.study.data.v1,首次启动自动迁移示例。

  • 学业页微调:添加课程按钮移至课表上方工具行右侧(紧贴课程表);学期管理/持久化测试补足(存储校验、弹窗交互、按学期隔离与持久化、损坏回退等)。

  • 学业数据后端化:study.json 统一管理(原子写/损坏备份),旧 localStorage 数据首次启动迁移并清除;种子扩为场景与边界数据(短课时/周末课/三张堆叠/长标题/各作业状态),迁移时并入“演示:边界场景”学期。

  • 课程分类链路:StudyClassifier 按完整课程名(长名优先)打 course-<id> 标签;学业保存后定向重分类存量文件(仅更新 labels 列),文件页/筛选/补全展示课程名与颜色。

  • 堆叠与铺开层次优化:折叠堆叠最多两层(主卡 + 一层边缘),顶卡为牌堆最上层;铺开卡阵视口居中,前景卡加强投影/悬停抬升并加淡遮罩区分前后景。

  • 铺开卡阵细节:移除右上角关闭按钮(保留 Esc/点外部关闭),多行卡阵纵向间距收窄至 8px。

  • 作业视图默认只显示活跃(待办 + 已完成),已归档自动隐藏,已归档/全部筛选置于最后。

  • 统一本地存储层:labels/schemes/habits/study 四个领域 JSON 收敛到 infra/local_file.rs(读取 / 原子写 / 损坏备份单一实现,行为等价);settings 仍由 tauri-plugin-store 管理。

  • 前端目录领域化:features/studyfeatures/settings 的页面级 UI 与测试收进各自 components/ 子目录,pages/ 只保留页面壳。

  • 发布前审查清理:修复标签筛选前缀误匹配(course-1 不再命中 course-10)、监听/自动归档线程启动竞态、文件稳定采样间隔生效、归档批次号进程内单调分配、项目归档/撤销中途失败完整回滚(目录/settings/快捷方式三态还原)、定向重分类批量事务写入;学业页仅在用户变更后整份保存(不再每次进入触发全量重分类);设置与筛选习惯的副作用保存重构;移除未使用命令 list_files/scan_now

  • 发布准备:版本切换至 0.8.0;作业截止提醒顺延至下一迭代,本轮不做新功能。

后续规划

  • 作业截止提醒(临期提醒)顺延至下一迭代,默认关闭并提供提前量设置。
  • AI 能力(分类与项目识别增强)在学业数据落地后接入,接口已预留。