KenanZhu
|
824b9b8869
|
fix(ALMainWindow): 修复 ALMainWindow 的配置路径同步问题
- 先前的实现并未考虑到配置窗口更改时的同步问题,本次提交在
每次配置窗口更改并关闭保存时,同步更新 ALMainWindow 中的配置路径
|
2026-03-18 10:14:27 +08:00 |
|
KenanZhu
|
c26f19b6b3
|
feat(LogManager): 新增日志持久化功能
- 新增 LogManager 单例类,支持日志文件按日期滚动
- 创建 CallerInfoFormatter 自定义格式化器,提取真实调用位置
- 为 MsgBase._showTrace 方法添加日志级别参数,集成日志系统
- 新增 initializeLogManager 初始化函数,日志存储于 AppDataLocation/logs/
- 日志输出格式对齐:[时间] - [类名(15)|级别(8)] - [文件:行号(20:4)] - 消息
- 控制台/INFO级别,全量日志 / DEBUG 级别,错误日志 / ERROR级别
- 全量日志保留7天,错误日志保留14天
|
2026-03-17 21:37:24 +08:00 |
|
KenanZhu
|
1d99ca92f2
|
fix(LibReserve): 修复日期比较逻辑错误并优化时间处理代码
- 修复使用字符串直接比较日期导致的逻辑错误,改用时间戳比较
- 优化时间验证逻辑,支持 satisfy_duration 模式下的开始晚于结束时间时的交换时间处理
- 添加必要的注释说明 place 参数检查的跳过原因和边界情况处理
- 重构变量命名,提高代码可读性(cur_date -> cur_date_str)
- 修正字符串引号风格,统一使用单引号
|
2026-03-17 20:46:00 +08:00 |
|
KenanZhu
|
50ebeb0fab
|
style(LibReserve): 修复 __selectSeatTime 参数的拼写错误
- expct_duration -> expect_duration
|
2026-03-17 20:43:00 +08:00 |
|
KenanZhu
|
faa26b489a
|
fix(LibReserve): 修复冗余的链式赋值
|
2026-03-17 20:42:42 +08:00 |
|
KenanZhu
|
c03eed1d51
|
fix(LibReserve): 修复错误使用的海象运算符条件判断
|
2026-03-17 20:42:31 +08:00 |
|
KenanZhu
|
2f5680c547
|
fix(LibTimeSelector) style(LibReserve): 修复时间转换方法 _timeToMins 并重命名为 _timeStrToMins
- 之前的实现未严格限制传入参数为整形,导致在转换时间字符串时可能出现类型错误。
- 重命名为 _timeStrToMins 以明确表示该方法仅用于时间字符串转换。并更新相关调用。
- 重命名 __selectSeatTime 中的冗长局部变量,便于理解和维护。
- 删除多余的时间格式转换嗲用
|
2026-03-17 20:00:57 +08:00 |
|
KenanZhu
|
0a94c344d5
|
ci(workflows): 修复 Release 工作流的触发条件
- 当创建 'release/v*' 分支时,自动进行 Release 构建
/! Release 流程必须手动创建分支,工作流结束后会将对应分支提交合并
/! 到 main 分支上,且对应分支会被删除
|
2026-03-17 15:46:32 +08:00 |
|
KenanZhu
|
7df6a9157d
|
refactor(LibReserve, LibRenew): 提取时间选择公共逻辑到 LibTimeSelector 基类
将 LibReserve 和 LibRenew 中重复的时间转换和选择逻辑提取到
LibTimeSelector 基类,消除代码重复,提升可维护性。
主要变更:
- 新增 LibTimeSelector 基类,提供时间转换和最佳时间选择算法
- LibReserve 和 LibRenew 继承 LibTimeSelector,移除重复代码
- 拆分过长方法,提升代码可读性
- 修正方法命名 __selectNearstTime -> __selectNearestTime
同时修复续约功能业务逻辑漏洞:
- 新增续约时间上限校验,防止续约时间超过图书馆闭馆时间(23:30)
|
2026-03-14 14:48:35 +08:00 |
|
KenanZhu
|
ebe3910df5
|
fix(AutoLib): 修复自动预约,签到和续约功能的顺序处理逻辑问题
边缘情况下,即用户当前的预约时间满足签到或者续约的时间范围要求时,预期的处理顺序是先进行预约,再进行签到或者续约。
该提交修复了对这种情况的处理逻辑,确保先进行预约,再进行签到或者续约。
|
2026-03-10 11:00:01 +08:00 |
|
KenanZhu
|
84367e4abe
|
chore(*): 更新网站地址为 www.autolibrary.kenanzhu.com
|
2026-03-10 10:59:13 +08:00 |
|
KenanZhu
|
3a50991860
|
fix(ALMainWindow): 修复程序最小化到托盘图标后,退出菜单异常处理问题
|
2026-03-10 10:58:27 +08:00 |
|
KenanZhu
|
e4482b01da
|
fix(ALMainWindow): 修复托盘图标初始化问题
1. 修复托盘图标初始化上下文菜单的重复调用问题
2. 修复托盘图标初始化忘记更改消息方法的问题
|
2026-03-05 07:55:36 +08:00 |
|
KenanZhu
|
c06e0e05da
|
fix(ALMainWindow): 修复定时任务的消息通知图标与运行状态不一致的问题
|
2026-03-05 07:54:18 +08:00 |
|
KenanZhu
|
ff083884b6
|
style(utils.ConfigManager): 添加一些注释,并为 getBaseConfigDir 添加文档字符串。
|
2026-03-04 23:53:31 +08:00 |
|
KenanZhu
|
9ae89b61a4
|
chore(utils.ConfigManager): 将 ConfigManager 类的 appDir 重命名为 configDir
|
2026-03-04 23:52:28 +08:00 |
|
KenanZhu
|
2152cc46a3
|
style(*): 修改 ConfigManager 模块的 import 方式,并移除未使用的 import 语句
|
2026-03-04 23:52:01 +08:00 |
|
github-actions[bot]
|
95a3ae2a24
|
chore(release): v1.1.0 [auto release commit]
|
2026-02-26 15:04:42 +00:00 |
|
KenanZhu
|
896242a1e3
|
fix(Main, ALConfigWidget): 修复配置文件初始化问题
|
2026-02-26 22:59:26 +08:00 |
|
KenanZhu
|
25aab588a8
|
feat(utils): 添加 ConfigManager 与 JSON 配置读写,替换旧实现
add:
- src/utils/ConfigManager.py
- src/utils/JSONReader.py
- src/utils/JSONWriter.py
remove:
- src/utils/ConfigReader.py
- src/utils/ConfigWriter.py
refactor:
- 更新调用方以使用 ConfigManager / JSONReader / JSONWriter(见 ALConfigWidget.py、ALMainWindow.py、ALTimerTaskManageWidget.py、ALMainWorkers.py 等)
- 统一方法命名(initlize* -> initialize*)、改进错误提示与配置路径管理
BREAKING CHANGE: 删除 ConfigReader/ConfigWriter,外部调用需改为 JSONReader/JSONWriter 或通过 ConfigManager 访问配置
|
2026-02-26 21:18:18 +08:00 |
|
KenanZhu
|
5f2327cf61
|
style(gui.*): 修改一些 import 顺序和格式
|
2026-02-23 22:26:52 +08:00 |
|
KenanZhu
|
4aeca08ce8
|
chore(ALMainWindow, ALMainWorkers): 修改统一部分函数和变量的命名
|
2026-02-21 23:18:17 +08:00 |
|
KenanZhu
|
a1ff85256a
|
refactor(ALConfigWidget, ALTimerTaskManageWidget): 优化界面的错误异常处理
|
2026-02-21 15:38:56 +08:00 |
|
KenanZhu
|
169de92d5b
|
chore(ALConfigWidget): 删除了未使用的方法 def defaultGroup() 和 def defaultUsers()
|
2026-02-21 15:10:36 +08:00 |
|
KenanZhu
|
5ca4a14a14
|
chore(*): 更改一些界面类方法,局部变量和信号的命名:
(ALConfigWidget):
def initlizeDefaultConfigPaths() 中 script_path 和 script_dir 分别改为 executable_path 和 executable_dir
def fillUserTree() 更改为 def setUsersToTreeWidget()
def collectUserFromUserInfoWidget() 更改为 def collectUserFromWidget()
def collectUserConfigFromUserTreeWidget 更改为 def collectUsersFromTreeWidget()
交换了一些方法的位置
(ALSeatMapSelectDialog):
信号 seatMapSelectDialogClosed 改为 seatMapSelectDialogIsClosed
(ALTimerTaskManageWidget):
信号 timerTaskManageWidgetClosed 改为 timerTaskManageWidgetIsClosed
(ALMainWindow):
def __init__() 中 script_path 和 script_dir 分别改为 executable_path 和 executable_dir
更改 ALSeatMapSelectDialog 和 ALTimerTaskManageWidget 中相关的信号命名
|
2026-02-21 14:26:54 +08:00 |
|
KenanZhu
|
155b3fe3ca
|
style(LibRenew): 删除多余注释,修改部分注释的格式
|
2026-02-19 17:09:15 +08:00 |
|
KenanZhu
|
99d454a566
|
refactor(LibChecker, AutoLib): 重构 LibChecker 类中 canRenew 方法的返回值类型:
将 canRenew 方法的返回值类型指定为 tuple(bool, dict),并随之修改返回值以及调用
模块的调用逻辑。
|
2026-02-19 17:05:42 +08:00 |
|
github-actions[bot]
|
3963b3f2e6
|
chore(release): v1.0.5 [auto release commit]
|
2026-02-16 07:04:57 +00:00 |
|
KenanZhu
|
b55a0c06a5
|
refactor(ALConfigWidget, ALTimerTaskManageWidget): 重构配置和定时器任务管理窗口的配置显式初始化
修改后配置文件的初始化将不再通过 QMessageBox 提示用户,界面将只在初始化失败时显示错误信息。
|
2026-02-16 14:17:58 +08:00 |
|
KenanZhu
|
2496c4e367
|
fix(ALMainWindow): 修复配置按钮状态问题
|
2026-02-16 13:02:40 +08:00 |
|
KenanZhu
|
de30559af1
|
chore(ALTimerTaskManageWidget): 更改信号函数命名
|
2026-02-16 13:02:01 +08:00 |
|
KenanZhu
|
e1c2efc8c0
|
chore(utils): 配置文件读写器异常改为中文
|
2026-02-16 13:01:34 +08:00 |
|
KenanZhu
|
ce14be2555
|
chore(*): 重构项目文件目录结构
- 将 src/gui 目录下的 Qt 资源文件移动到 src/gui/resources 目录下
- 将 src/gui 目录下的 Qt UI 设计文件移动到 src/gui/resources/ui 目录下
- 将 src/gui/icons 目录下的图标文件移动到 src/gui/resources/icons 目录下
- 将 src/gui/translators 目录下移动到 src/gui/resources/translators 目录下
- 将 src/gui/configs 目录移动到 templates 目录下
- 将 document, driver, model 目录重命名为 manuals, drivers, models
- 由于上述目录移动和重命名,相应的更改了代码和批处理脚本中的文件路径
|
2026-02-11 20:00:51 +08:00 |
|
KenanZhu
|
eda16f01f1
|
refactor(gui): chore(gui): 对部分界面类进行重构,将 ALSeatMapView 提取到单独文件,将 ALSeatMapWidget 重替换为 ALSeatMapSelectDialog
: 对文件名进行重命名,以更贴近各自功能,ALTimerTaskWidget 重命名为 ALTimerTaskManageWidget;ALAddTimerTaskDialog 重命名为 ALTimerTaskAddDialog
|
2026-02-03 15:03:33 +08:00 |
|
KenanZhu
|
22f806bfb0
|
chore(*): 更新有关帮助手册的链接
|
2026-01-30 22:10:00 +08:00 |
|
KenanZhu
|
d26852eaaf
|
chore(*): 更新网站地址为 www.autolibrary.top
|
2026-01-30 22:04:29 +08:00 |
|
KenanZhu
|
2ffe620532
|
optimize(AutoLib): 优化图书馆登录页面加载超时处理逻辑
|
2026-01-26 16:11:26 +08:00 |
|
KenanZhu
|
fe42d3cd98
|
fix(AutoLib): 修复浏览器驱动初始化的异常控制
|
2026-01-26 16:10:15 +08:00 |
|
KenanZhu
|
8b6baf9b6a
|
refactor(ALMainWindow): 重构主窗口类的消息队列能力,修改为直接从 MsgBase 继承
|
2026-01-20 17:45:32 +08:00 |
|
KenanZhu
|
7098d7075f
|
refactor(ALMainWorkers): 重构主工作线程的父类初始化方式
|
2026-01-20 17:43:52 +08:00 |
|
KenanZhu
|
be3942ea2f
|
optimize(MsgBase): 优化消息队列能力基类,增加小数秒精度时间戳,移除无用方法 '_inputMsg'
|
2026-01-20 17:41:34 +08:00 |
|
KenanZhu
|
7e3a089e21
|
refactor(gui.ALSeatMapWidget): 重构座位选图控件
将座位图提取为 ALSeatMapView 类,并添加缩放限制
|
2026-01-18 13:50:48 +08:00 |
|
github-actions[bot]
|
f3d68c40cb
|
chore(release): v1.0.4 [auto release commit]
|
2026-01-17 18:18:22 +00:00 |
|
KenanZhu
|
6f6b415bff
|
refactor(ALMainWindow, ALMainWorkers): 重构 Qt 信号函数的命名
|
2026-01-18 02:08:12 +08:00 |
|
KenanZhu
|
735f31830d
|
refactor(gui.*): 统一界面控件颜色风格
|
2026-01-18 02:08:12 +08:00 |
|
KenanZhu
|
7be5afeae1
|
style(gui.ALSeatFrame): 一些格式问题
|
2026-01-18 02:08:12 +08:00 |
|
KenanZhu
|
3d6978c9c2
|
optimize(gui.*): 优化界面组件的布局和样式
|
2026-01-18 02:08:12 +08:00 |
|
github-actions[bot]
|
db7a868598
|
chore(release): v1.0.3 [auto release commit]
|
2026-01-17 17:52:03 +00:00 |
|
KenanZhu
|
f1e0334ce3
|
docs(MsgBase, LibOperator): 添加并完善类文档注释
|
2026-01-16 23:41:25 +08:00 |
|
KenanZhu
|
b9411261ea
|
style(ALMainWorkers): 一些格式更改
|
2026-01-16 23:25:42 +08:00 |
|