Releases: dongkid/course_scheduler
v0.1.16-preview4
Full Changelog: v0.1.16-preview3...v0.1.16-preview4
桌面课程表 - 更新日志
✨ 新功能 (Features)
-
AI 助手与课表识别 (
5e7c03b
)- 在“小工具”中集成了 AI 助手,支持与 Google Gemini 模型进行交互式对话。
- 实现了 课表图片智能识别 功能,用户可上传课表图片,由 AI 自动解析并生成可直接导入的 JSON 数据,极大简化了课表录入流程。
-
多方案配置与数据管理 (
1b7d12f
)- 引入了全新的 多配置方案系统,允许用户创建、复制、重命名和切换多套独立的配置方案(如“学习”、“工作”等),满足个性化需求。
- 增加了 数据备份与还原 功能,可将所有配置和课表数据导出为单个 JSON 文件,或从备份中恢复,保障数据安全。
-
课表交互与预览 (
835ebe5
)- 日视图切换:主界面支持左右滑动或点击箭头来切换查看一周内不同日期的课表。
- 周视图预览:通过快捷键 (
Ctrl
/Alt
) 或菜单可快速弹出半透明的周课表预览窗口。 - 明日课表自动预览:每日课程结束后,系统会自动弹出次日课表预览,方便提前规划。
-
编辑器撤销与重做 (
7d61d71
)- 为课程表编辑器加入了 撤销 (Undo) 和 重做 (Redo) 功能(快捷键
Ctrl+Z
/Ctrl+Y
),有效防止误操作。
- 为课程表编辑器加入了 撤销 (Undo) 和 重做 (Redo) 功能(快捷键
-
灵活的课程显示与预览 (
5ef9614
)- 新增 当前课程时间显示模式,可选择显示“结束时间”或“倒计时”。
- 增强了明日课表预览的触发条件,可设置为“所有课程结束后”或“第 N 节课后”触发。
🚀 功能重构与改进 (Refactoring & Improvements)
-
天气模块重构 (
b51c9a6
)- 对天气功能进行了全面重构,采用现代化、可扩展的架构。
- 支持多提供商:引入提供商(Provider)模式,支持 和风天气 和 7Timer 两种数据源,并可在设置中切换。
- 全新 UI 设计:天气预报界面采用卡片式布局,信息展示更清晰、美观。
- 标准化数据模型:建立了统一的数据模型以兼容不同 API。
-
编辑器体验优化 (
725f6dc
,ad86946
)- 临时功能开关:在编辑器中增加了“自动补全结束时间”和“自动计算下节课时间”的临时开关,方便在编辑时灵活控制。
- 未保存更改提示:在切换日期、课表或关闭窗口时,若有未保存的修改,系统会弹出提示,防止数据丢失。
- 对话框防多开:增加了对话框防多开机制,提升了程序的稳定性和用户体验。
-
配置系统升级 (
1b7d12f
)- 实现了从旧版(v1)扁平化配置文件到新版(v2)多方案结构的 自动无缝升级。
-
命令行启动优化 (
ad86946
)- 优化了通过
--geometry
命令行参数设置窗口分辨率的逻辑,现在能更好地根据屏幕 DPI 缩放 进行适配。
- 优化了通过
v0.1.16-preview3
Full Changelog: v0.1.16-preview2...v0.1.16-preview3
v0.1.16-preview2
Full Changelog: v0.1.16-preview1...v0.1.16-preview2
v0.1.16-preview1
Full Changelog: v0.1.16-preview...v0.1.16-preview1
v0.1.16-preview
Full Changelog: v0.1.15-release...v0.1.16-preview
1.日志模块单例模式改进
2.探索多分辨率自动适配方案
v0.1.15-release
Full Changelog: v0.1.15-preview3...v0.1.15-release
更新日志 v0.1.15
🚀 新功能
-
后台静默更新检查
- 新增 Updater 类的后台静默更新检查功能
- 在 CourseScheduler 中实现后台线程加载模块检查更新
- 在 SettingsWindow 中添加自动更新设置选项
-
多线程下载更新
- 实现多线程下载逻辑,提高更新文件下载效率 (commit 3adab8a)
- 添加任务队列和工作线程管理,动态调整线程数量
- 支持断点续传和文件分块合并
- 优化下载进度显示,增加速度和剩余时间预估
-
数独游戏
- 在 ToolsWindow 中添加数独游戏按钮
- 实现数独游戏窗口和基于舞蹈链(DLX)算法的求解器
- 支持多种难度生成(入门、简单、中等、困难、专家、地狱)
-
更新机制优化
- 重构更新检查流程,统一使用 Updater 类处理
- 在 AboutWindow 集成 Updater,简化更新检查代码
- 删除冗余的 UpdateChecker 类
-
日志管理增强
- 新增 log_retention_days 配置项,默认保留7天日志 (commit 244692f)
- 在 SettingsWindow 添加日志保留天数设置界面
- 优化 AppLogger 的日志清理功能,支持删除过期日志
⚡ 性能优化
-
课程调度优化
- 缓存课程名称和时间解析结果,减少重复计算
- 优化课程标签更新逻辑,避免不必要的重绘
- 添加
last_modified
字段支持缓存验证
-
资源使用优化
- 预计算并缓存图标路径
- 异步清理空日志文件,减少主线程阻塞
- 记录环境信息便于问题排查
-
编辑器优化
- 重构全选/取消全选逻辑,使用集合操作提高效率
- 优化课程行数据收集和内存更新机制
🐛 问题修复
- 修复移动课程行时的索引错误问题
v0.1.15-preview3
Full Changelog: v0.1.15-preview...v0.1.15-preview3
更新日志 v0.1.15-preview3
🚀 新功能
-
后台静默更新检查
- 新增 Updater 类的后台静默更新检查功能
- 在 CourseScheduler 中实现后台线程加载模块检查更新
- 在 SettingsWindow 中添加自动更新设置选项
-
数独游戏
- 在 ToolsWindow 中添加数独游戏按钮
- 实现数独游戏窗口和基于舞蹈链(DLX)算法的求解器
- 支持多种难度生成(入门、简单、中等、困难、专家、地狱)
-
更新机制优化
- 重构更新检查流程,统一使用 Updater 类处理
- 在 AboutWindow 集成 Updater,简化更新检查代码
- 删除冗余的 UpdateChecker 类
⚡ 性能优化
-
课程调度优化
- 缓存课程名称和时间解析结果,减少重复计算
- 优化课程标签更新逻辑,避免不必要的重绘
- 添加
last_modified
字段支持缓存验证
-
资源使用优化
- 预计算并缓存图标路径
- 异步清理空日志文件,减少主线程阻塞
- 记录环境信息便于问题排查
-
编辑器优化
- 重构全选/取消全选逻辑,使用集合操作提高效率
- 优化课程行数据收集和内存更新机制
🐛 问题修复
- 修复移动课程行时的索引错误问题
版本历史
-
v0.1.15-preview2
- 初步实现检查更新功能
- 添加 GitHub API 相关配置
-
v0.1.15-preview1
- 优化课表性能和资源使用
- 修复课程标签显示问题
v0.1.15-preview
增加退出和重启程序的确认对话框
新增课程批量操作功能并优化界面样式
添加版本号到配置文件
优化 is_desktop_path 函数,修复当用户自定义桌面路径程序无法识别的问题
修复 installer.py 和 restart_manager.py下脚本使用gbk编码可能导致的中文路径乱码问题,使用 UTF-8 编码创建脚本文件
更多优化和修复
Full Changelog: v0.1.14...v0.1.15-preview
v0.1.14
修复上个版本的半成品安装模块
重构迷你天气界面并添加新功能
Full Changelog: v0.1.13...v0.1.14
v0.1.13
Full Changelog: v0.1.12...v0.1.13
修复
- 重启功能异常问题
- 窗口设置无法保存问题
- 其他已知问题的综合修复
优化
- 编辑器默认启动时自动打开当日课表
- 课程表程序启动流程
- 课表状态颜色更加醒目
- 多种图标显示优化
- 多项性能优化和体验改进
新增
- 【实验性功能】迷你课表显示
- 【实验性功能】安装环境检查
- 高考倒计时彩蛋