Commit Graph
79 Commits
Author SHA1 Message Date
KenanZhu 1b378e5aaa fix(LibLogin): 修复优化验证码处理逻辑,避免无效请求。并完善手动输入验证码功能。 2026-01-02 17:37:17 +08:00
KenanZhu e069efb2ea fix(ALConfigWidget): 修复用户配置列表中,选中用户项时禁用该用户所在用户组时,该用户项未同步禁用状态仍保持被选中的问题 2026-01-02 00:44:24 +08:00
KenanZhu 407d25570a fix(ALMainWorkers): 修复 AutoLibWorker 中基础检查未通过时,运行线程错误返回导致结束信号未发送的问题 2026-01-02 00:30:37 +08:00
KenanZhu bfcb65f56a fix(gui.ALMainWindow): 修改了 setControlButtons 方法,防止按钮状态的意外更改 2025-12-31 10:15:57 +08:00
KenanZhu cde1e966e7 chore(gui.batchs): 将编译脚本的错误命名 complie_*.bat/sh 修改为 compile_*.bat/sh 2025-12-27 23:12:37 +08:00
KenanZhu 8c4f463889 docs(readme): 修改一些文档的不通顺不准确描述,新增捐助链接 2025-12-27 21:57:38 +08:00
KenanZhu 39867cc20c docs(readme): 修改文档的歧义和其它不准确描述 2025-12-27 15:43:25 +08:00
KenanZhu 149910d628 chore(release): v1.0.0 2025-12-22 15:24:31 +08:00
KenanZhu 2a7ed099bf docs(readme.md): 更新 readme 文档 2025-12-22 15:23:56 +08:00
KenanZhu 473f32ca29 chore(batchs): 新增界面资源和应用资源的编译脚本 2025-12-22 15:23:47 +08:00
KenanZhu 580052f1e3 chore(icons): 添加多种图标格式,将当前的图标尺寸从 1024x1024 调整为 32x32 2025-12-22 11:55:33 +08:00
KenanZhu 6abf530307 optimize(ALTimerTaskWidget, ALConfigWidget): 优化定时器和用户设置的任务列表排序 2025-12-22 11:53:45 +08:00
KenanZhu 577c651ef8 feat(ALMainWindow): 引入对新增定时器任务状态 - 执行失败的处理支持 (#18ae949)
同时,为了统一消息处理,我们将 ALMainWorkers 中的原信号
槽处理的消息逻辑更改为使用继承的 MsgBase 类的 showTrace 方法
2025-12-13 14:27:46 +08:00
KenanZhu 18ae949900 feat(ALTimerTaskWidget): 新增定时器任务状态 - 执行失败 2025-12-13 14:22:28 +08:00
KenanZhu ca9059d1db refactor(AutoLib): 初始化 AutoLib 时,发生错误则抛出异常 2025-12-13 14:21:26 +08:00
KenanZhu ad4deae0c6 fix(ALMainWindow): 修复停止时的按钮状态重置问题
函数更改于(#9255eec)
2025-12-13 14:15:28 +08:00
KenanZhu 55ae4d0d96 feat(ALConfigWidget): 大更新 - 用户树状列表和其它
1. 在这个 commit 中,我们思考了许久,最终决定将现有的
用户管理列表转为树状列表,以解决用户数量增多时,用户的
选择性管理,分组等问题。
2. 同时因为该更改需要重构很多内容,我们也在该 commit
中决定将所有‘系统配置’更换为‘运行配置’,同时文件名称和
内容变量也相应变为‘run’和‘user’。
3. 重构 AutoLib 和 ALMainWorkers 中的配置相关代码,
以适应新的用户树状列表。

当前迭代更新至 v1.0.0-beta.4, 同时,在该版本的 rc
阶段前,我们计划不再发布 beta 阶段相关的 release
2025-12-13 00:07:33 +08:00
KenanZhu 7dcd72939b fix(ALMainWindow): fix the wrong use of function 'setControlButtons' 2025-12-12 23:51:54 +08:00
KenanZhu bfce61f4b4 fix(ALTimerTaskWidget): fix timer tasks list is 'NoneType' when init config file 2025-12-12 23:41:30 +08:00
KenanZhu 60a5699822 refactor(ALConfigWidget): ALConfigWidget is changed into non-modal dialog 2025-12-12 18:59:25 +08:00
KenanZhu aab9565012 fix(*): always show the child window on the center of the parent window and do not overflow the screen 2025-12-09 08:54:45 +08:00
KenanZhu 9255eec9f1 style(ALMainWindow): rename some variables and functions 2025-12-09 08:51:14 +08:00
KenanZhu cff6fd8fc0 feat(ALTimerTaskWidget): timer tasks' data persistence and perpetuation 2025-12-09 08:49:44 +08:00
KenanZhu b129f47b48 chore(ALSeat*): rename SeatFrame, SeatMapTable, SeatMapWidget to ALSeatFrame, ALSeatMapTable, ALSeatMapWidget 2025-12-09 08:46:51 +08:00
KenanZhu 069429be71 refactor(ALAboutDialog): replace hide/show methods with 'exec()' for dialog modal handling 2025-12-09 08:19:25 +08:00
KenanZhu 7d064fc8e7 refactor(ALMainWindow): extract the worker threads to a separate file : ALMainWorkers.py 2025-12-09 08:17:39 +08:00
KenanZhu 1b172ad396 style(*): some small style changes 2025-11-30 18:46:12 +08:00
KenanZhu 05c9d433f4 hotfix(LibRenew): fix the serious bug that the renew process always failed
in this hotfix, we fix the renew bug because we
do not refresh the page after renew the seat,
this will make the subsequent operators, such as
logout ... unable to in progress.
2025-11-30 18:42:20 +08:00
KenanZhu 65ca40438d fix(ALMainWindow.ui): fix the convert error of ALMainWindow.ui
we fix the convert error of ALMainWindow.ui by
using pyside6-uic to convert the ui file to python code
2025-11-29 22:31:18 +08:00
KenanZhu 0a8763add5 feat(gui): breaking changes - Timer Task Management
1. we add menu actions 'manual' and 'about', so
you can click actions to open manual and about dialog.
2. we introduce timer task management feature, so
you can add, delete timer tasks to auto run task.
3. other style improvement in gui...
2025-11-29 20:03:45 +08:00
KenanZhu c5e589f3d1 fix(ALConfigWidget): optimize the logic when delete user list item 2025-11-29 19:52:22 +08:00
KenanZhu 5e5deba773 fix(LibReserve): fix the mistakely passed parameter 'reserve_info'
we forget to pass the username because the
'reserve_info' do not contain the username
2025-11-28 15:15:39 +08:00
KenanZhu 842fb434f4 feat(AutoLib): new feature 'Auto Renew' 2025-11-28 15:03:51 +08:00
KenanZhu 6cabddf0cd fix(operators): optimized the reserve information pre-check and more readable output 2025-11-28 15:00:09 +08:00
KenanZhu 0322558339 fix(operators): the operations's result message only show in their output queue 2025-11-28 14:58:13 +08:00
KenanZhu 703ee527ae fix(LibChecker): fix the checker of check in and renew
we only check the reservations and their status in
today's record, and return the checked renewable
record for the upcoming new feature 'Auto-Renew'
2025-11-28 14:54:37 +08:00
KenanZhu 9a925fecb6 fix(operators): fix some type hint, and add imports for LibRenew 2025-11-28 14:53:08 +08:00
KenanZhu 189fddfb6a fix(LibReserve): more fast operations of reserve 2025-11-28 14:46:17 +08:00
KenanZhu c2d53a8b78 chore(*): refactor the project structure 2025-11-25 08:48:18 +08:00
KenanZhu b99431476a hotfix(LibChecker): optimize the reserve records check process 2025-11-22 15:12:40 +08:00
KenanZhu 977c0835b7 hotfix(ALMainWindow): fix the config file paths initialization 2025-11-22 15:11:25 +08:00
KenanZhu cd565ec57d feat(gui.SeatMapWidget): add seat select map widget 2025-11-22 14:29:01 +08:00
KenanZhu 9f17474c1b fix(gui): optimize the config files' status management 2025-11-22 14:27:40 +08:00
KenanZhu 04d66346dc fix(ALConfigWidget): optimize the config window usage
add date calendar popup so that user can select
the date more easily
fix some file dialog title display issue
default max diff time change to 30 minutes
2025-11-22 14:23:35 +08:00
KenanZhu f858295af1 refactor(LibChecker): refactor the code of LibChecker to make it more readable and maintainable 2025-11-22 14:16:38 +08:00
KenanZhu cd6c899388 fix(*): optimize the operators' performance when invoking webdriver
we consume the wait time of webdriver and its
implicit wait time
2025-11-22 14:13:23 +08:00
KenanZhu 1038a86aff fix(ALMainWindow): fix the clean up issue of worker thread and config window (concernd commit #389ac88) 2025-11-22 14:11:22 +08:00
KenanZhu 15ea47dd07 docs(*): replace manual.html with new website
we build a new website for AutoLibrary, so there
is no need to keep the old manual.html
2025-11-14 22:43:41 +08:00
KenanZhu 829a8440ad chore(gui): fix some widget length to match the design 2025-11-11 09:14:04 +08:00
KenanZhu 389ac885d3 fix(ALMainWindow): optimize the resource usage of gui
This commit fixes memory management issues in the
ALMainWindow class where config window and
task threads were not properly deleted after use,
leading to continuously increasing memory usage.

The fix ensures that all GUI components are
deleted after close and background threads are
correctly terminated.
2025-11-11 09:05:55 +08:00
KenanZhu 68b61b5c8c feat(AutoLib): new feature 'Auto Check-in' 2025-11-11 09:04:11 +08:00
KenanZhu fd5abb5f1e chore(LibReserve, LibCheckin): *
We use a more clear and structured output message
of reservation.

Complete the LibCheckin for the upcoming new
feature : 'Auto Check-in'
2025-11-11 09:00:20 +08:00
KenanZhu 1f16181aeb fix(LibLogin): more clear error message 2025-11-09 19:52:21 +08:00
KenanZhu f0c25903a3 refactor(LibReserve): optimize the pre-check of reserve
Extract the different pre-checks of reserve to
their separate methods

More clear role of 'satisfy_duration' flag
2025-11-09 19:40:08 +08:00
KenanZhu b24e4f473f fix(LibChecker): chore(LibChecker): introduce a new method to generate more readable output
: add renew checker method for upcoming feature: 'Auto Renew'
2025-11-08 18:34:38 +08:00
KenanZhu 8bb65be0b9 fix(LibChecker): remove the debug print 2025-11-08 18:32:33 +08:00
KenanZhu 631785122b fix(gui.ALConfigWidget): fix the width of web driver path line edit 2025-11-08 18:31:07 +08:00
KenanZhu 82ea40d3dc refactor(LibChecker): fix(AutoLib): extract reservation decode logic into separate function
: adjust default browser size to prevent page scale issues

Extract the reservation decode logic into a separate
function within LibChecker to improve code structure
and enable more structured return values for
decision-making.

Testing of the refactored LibChecker revealed that
page scaling could cause unexpected behavior.
Change the default browser size from
1280x720 to 1920x1080 to resolve this.
2025-11-08 12:53:24 +08:00
KenanZhu 1244084c75 style(*): remove the spare punctuation marks ',' at the end of function parameters 2025-11-08 12:51:33 +08:00
KenanZhu 7a599c4f63 fix(LibReserve): add the check for empty value of 'seat_id' in 'reserve_info' 2025-11-08 11:56:21 +08:00
KenanZhu d2cef258aa refactor(LibLogin): extract the captcha recognition and input to a separate function 2025-11-08 11:54:57 +08:00
KenanZhu a4c5ee299e refactor(AutoLib): extract the initialization of LibOperators to a separate method 2025-11-08 11:53:49 +08:00
KenanZhu 7d92717136 style(*): unify punctuation marks from Chinese to English
Replace the ',' with ',' and ':' with ':'.
2025-11-08 11:49:30 +08:00
KenanZhu 3ef301f199 fix(ALMainWindow): remove the unused 'self.__auto_lib' variable 2025-11-08 00:23:17 +08:00
KenanZhu b10d333eb2 style(LibLogout): unify the format style of LibLogout.py 2025-11-08 00:14:27 +08:00
KenanZhu d5dc012ade chore(license): add MIT license 2025-11-07 23:28:52 +08:00
KenanZhu dac87068ef chore(AutoLib, LibReserve): remove the 'canReserve' method in LibReserve and replace it with 'canReserve' of LibChecker in AutoLib 2025-11-07 23:05:09 +08:00
KenanZhu f13d983124 fix(AutoLib): correct config key from 'run/mode' to 'mode/run_mode'
Update dictionary key retrieval to use the correct
key 'mode/run_mode' instead of the outdated 'run/mode'.

This aligns the code with the recent configuration changes.
2025-11-07 22:58:43 +08:00
KenanZhu 30db2fbf9a chore(LibChecker): add new LibOperator: LibChecker.py
We introduce a new LibOperator which is used to check
if a given user date is available for reserve or check-in.

This is ready for the upcoming feature: 'Auto Check-In'.
2025-11-07 22:48:46 +08:00
KenanZhu 11bcd77208 chore(*, .gitignore): rename some folders, correct expressions in their readme.md files, and update the .gitignore 2025-11-07 13:40:04 +08:00
KenanZhu 833e5576da docs(readme): update the mistaken suffix of readme.md 2025-11-07 12:35:01 +08:00
KenanZhu efa211761d refactor(AutoLib): optimize run mode handling for extensibility
Refactor run mode processing logic to improve
adaptability for new operations.

Introduce a dedicated "passed" status to
distinguish passed users instead of classifying
them as failed.
2025-11-06 23:30:08 +08:00
KenanZhu 269eed1cac fix(LibReserve): remove spare wait in reserve operate and checking reserve list 2025-11-06 22:44:18 +08:00
KenanZhu 99975ebeee docs(manual.html): complete the user manual 2025-11-06 22:43:43 +08:00
KenanZhu a8789ad743 fix(LibReserve): fix the failure to select nearest reserve time when the max time difference is 0
The previous implementation only considered the case when more than one nearest time exists,
so we introduced the prefer_early flag to decide which one to be selected.But the comparsion
mistakenly omitted the edge case when the difference is 0.
2025-11-06 20:07:43 +08:00
KenanZhu bf106ea234 fix(AutoLib): fix the missed user counter while running the task 2025-11-06 20:07:43 +08:00
KenanZhu c67a7e3773 fix(gui.ALConfigWidget): allow earlier selection of next day and fix dialog title on config load
previous time that you can select the next day is 19:00, this may be
tensive, because the time rested to modify the reserve date is limited.
So in current commit, we change this into 18:00.
2025-11-06 20:07:43 +08:00
KenanZhu bdc700d3da fix(ALConfigWidget): prevent config load from overriding unsaved UI changes
The previous implementation directly replaced the current
in-memory state of system and user configurations during
file loading. This behavior did not align with user
expectations, as it could discard unsaved changes made in the UI.

The fix ensures that loading a configuration file only
updates the internal in-memory state of system and user
configurations, preserving any unsaved UI modifications.
2025-11-06 19:55:54 +08:00
KenanZhu 7b4b2ae86c chore(*): first commit 2025-11-04 00:14:45 +08:00