KenanZhu
|
d55d2075cb
|
optimze(gui): 优化删除按钮样式,使其更加醒目;优化 ALTimerTaskManageWidget 的宽度
- 优化了 ALConfigWidget, ALTimerTaskManageWidget 中的删除按钮样式(字体颜色更改为红色),使其更加醒目
- 优化了 ALTimerTaskManageWidget 的宽度,使其适应内容宽度
|
2026-03-17 14:46:19 +08:00 |
|
KenanZhu
|
82744e3a2d
|
refactor(ALTimerTaskItemWidget): 一些变量重构
|
2026-03-17 14:42:47 +08:00 |
|
KenanZhu
|
67493349dd
|
style(ALTimerTaskManageWidget): 统一 import 语句的格式
- 对 gui.ALTimerTaskAddDialog 的 import 语句进行格式化
|
2026-03-17 14:42:07 +08:00 |
|
KenanZhu
|
0aea9b1540
|
fix(ALTimerTaskAddDialog): 修改添加定时任务对话框的重复选项的 Label 描述和布局
- 对 (b73242be00) 的补充提交
|
2026-03-17 14:39:01 +08:00 |
|
KenanZhu
|
c02c6ddbe3
|
fix(ALTimerTaskAddDialog): 删除定时任务数据中多余的字段 ‘repeat_records’
|
2026-03-17 14:37:33 +08:00 |
|
KenanZhu
|
c679a1c79e
|
fix(ALTimerTaskAddDialog): 修改定时任务时间类型中相对时间控件的布局样式
- 由栅格布局改为水平布局,该区域的高度与绝对时间控件的高度一致
|
2026-03-17 14:35:47 +08:00 |
|
KenanZhu
|
b73242be00
|
fix(ALTimerTaskAddDialog): 修改添加定时任务对话框的重复选项的 Label 描述和布局
|
2026-03-17 14:33:37 +08:00 |
|
KenanZhu
|
883859d1f9
|
feat(TimerTaskManageWidget): 实现重复任务执行与历史记录
- onTimerTaskIsExecuted/onTimerTaskIsError 添加历史记录
- 历史记录包含:execute_time、executed_time、result、duration
- 重复任务执行后自动计算并更新下次执行时间
|
2026-03-16 21:17:48 +08:00 |
|
KenanZhu
|
f37bcf836b
|
feat(TimerTaskAddDialog): 添加重复任务 UI 支持
- UI 添加重复配置控件:复选框、周一到周日复选框
- 新增 onRepeatCheckBoxToggled 槽函数控制日期选择显示
- getTimerTask 支持提取重复配置(日期、时分秒)
- 调用 TimerUtils 计算首次执行时间
- 重构导入语句格式
|
2026-03-16 21:16:46 +08:00 |
|
KenanZhu
|
b0d1c0e99e
|
feat(TimerTask): 新增任务执行历史对话框
- 新增 ALTimerTaskHistoryDialog 显示重复任务执行历史
- 支持查看执行时间、运行结果、运行耗时
- 提供清空历史记录功能
- 表格显示:执行时间、结果、耗时(秒/s)、uuid
|
2026-03-16 21:15:56 +08:00 |
|
KenanZhu
|
5af6120be8
|
feat(TimerUtils): 新增重复任务时间计算工具
- 新增 TimerUtils.calculateNextRepeatTime 方法
- 支持基于重复日期和目标时间计算下次执行时间
- 如果当天在重复日期且目标时间未过,则返回今天;否则查找下一个匹配日期
|
2026-03-16 21:15:15 +08:00 |
|
KenanZhu
|
01e8100774
|
feat(LibCheckin): 支持校园网环境下图书馆远程签到
- 新增 __enableCheckinBtn 方法,通过 JavaScript 移除签到按钮的 disabled 属性
- 在检测到签到按钮不可用时,自动尝试启用按钮而非直接失败
- 支持在校园网环境下无需连接图书馆网络即可完成签到
- 优化签到流程的用户提示信息"
|
2026-03-16 16:55:52 +08:00 |
|
KenanZhu
|
24bb76d039
|
ci(workflows): 修改一些字符格式
|
2026-03-16 16:26:34 +08:00 |
|
KenanZhu
|
7111411115
|
ci(workflows): 优化 CI/CD 工作流配置
- 新增 build-test.yml 用于PR测试构建
- 升级 actions/checkout 和 actions/upload-artifact 到 v6 版本
- 完善 release.yml 的清理流程和摘要输出
|
2026-03-16 15:59:39 +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 |
|
KenanZhu
|
896242a1e3
|
fix(Main, ALConfigWidget): 修复配置文件初始化问题
|
2026-02-26 22:59:26 +08:00 |
|
KenanZhu
|
fd96fc235e
|
ci(workflows): 修复 build.yml 中 Generate 'Main.spec' 步骤中的 name 参数
|
2026-02-26 21:27:35 +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
|
6e1b8e6b10
|
ci(workflows): 修改 build.yml 中 PyInstaller 打包参数,发布压缩包修改为为文件夹模式
|
2026-02-24 17:39:49 +08:00 |
|
KenanZhu
|
5f2327cf61
|
style(gui.*): 修改一些 import 顺序和格式
|
2026-02-23 22:26:52 +08:00 |
|
KenanZhu
|
96e7adabb0
|
docs(readme): 修改自述文件
|
2026-02-23 00:07:58 +08:00 |
|
KenanZhu
|
42afbbe694
|
docs(readme): 修改自述文件
|
2026-02-22 23:19:42 +08:00 |
|
KenanZhu
|
3777970332
|
docs(readme): 修改自述文件,完善使用说明
|
2026-02-22 00:24:47 +08:00 |
|
KenanZhu
|
9fb28e1368
|
ci(release.yml): 修改 release.yml 中发布说明的默认内容
|
2026-02-21 23:32:19 +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 |
|
KenanZhu
|
f2a05809bd
|
ci(batchs): 修复编译脚本中的路径问题
|
2026-02-16 15:00:35 +08: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
|
26a70cdceb
|
ci(batchs): 修复 *.sh 编译脚本中项目路径问题
|
2026-02-11 20:17:04 +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
|
0795939aa3
|
docs(readme): 交换使用方法与注意事项的顺序
|
2026-01-23 17:57:41 +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 |
|
KenanZhu
|
0ceff677e4
|
docs(readme): 更新自述文档内容
|
2026-01-18 02:14:01 +08: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 |
|
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 |
|
KenanZhu
|
fa737711d4
|
optimize(ConfigReader, ConfigWriter): 优化配置文件读写类逻辑,完善异常处理,添加注释文档
|
2026-01-16 23:23:03 +08:00 |
|
KenanZhu
|
79e2128fca
|
style(operators.*): 显式指定浏览器驱动类型为 WebDriver
|
2026-01-16 23:21:36 +08:00 |
|
KenanZhu
|
128c8e7a83
|
style(*): 移除未使用的 import 语句
|
2026-01-16 22:37:26 +08:00 |
|
KenanZhu
|
6474f6e3bb
|
style(*): 格式化一些界面类的构造函数
|
2026-01-16 22:33:01 +08:00 |
|
KenanZhu
|
ba60a5d884
|
style(comment): 修改一些注释格式
|
2026-01-15 17:08:54 +08:00 |
|
KenanZhu
|
4d8f8130dc
|
chore(operators.__init__): 添加 LibChecker 类的简介
|
2026-01-13 22:40:45 +08:00 |
|
KenanZhu
|
eba99cab9f
|
fix(ALSeatMapWidget): 修复座位图选择的确定取消逻辑
|
2026-01-13 22:01:16 +08:00 |
|
KenanZhu
|
aa7a806ff7
|
fix(gui): 修复一些界面问题
|
2026-01-12 14:22:20 +08:00 |
|
KenanZhu
|
bb180f8c8e
|
fix(ALConfigWidget, LibReserve): 修改二楼楼层区域名称
将 二层外环 改为 二层西区
|
2026-01-09 14:06:36 +08:00 |
|
KenanZhu
|
107ed41b58
|
chore(*): 更新 license 和版权信息为 2025 - 2026 年
|
2026-01-09 14:00:25 +08:00 |
|
KenanZhu
|
ae23f65e5a
|
fix(AutoLib): 修复并完善对不同浏览器驱动的支持,目前支持的浏览器驱动为 Edge、Chrome、Firefox
之前的代码只支持 Edge 浏览器驱动,现在完善了对 Chrome、Firefox 浏览器驱动的支持
|
2026-01-05 11:59:33 +08:00 |
|
KenanZhu
|
a7b9c340ae
|
refactor(ALConfigWidget): 初始化的默认浏览器驱动路径改为空
|
2026-01-05 11:58:15 +08:00 |
|
KenanZhu
|
96d733d2ed
|
fix(ALConfigWidget): 修复配置界面错误字符
|
2026-01-05 11:43:16 +08:00 |
|
KenanZhu
|
65cb951ada
|
ci(workflow): 优化 update-version.yml 中的版本信息更新逻辑
对 ALVersionInfo.py 文件的更新逻辑进行差异化处理,分别为 commit-release 和 build 阶段生成不同的 artifact:
* 针对 commit-release 阶段:将所有与构建(build)相关的字段值设置为 'local' 或 'null'
* 针对 build 阶段:保留完整的版本信息字段
这种差异化处理确保其后续提交的 release commit 不会包含构建相关的版本信息。
|
2026-01-04 10:05:57 +08:00 |
|
KenanZhu
|
94ce3433a3
|
ci(workflows): 重构 CI/CD 工作流执行配置
|
2026-01-03 14:33:49 +08:00 |
|
KenanZhu
|
924db3bdcc
|
ci(workflows): 新增基于 Github Actions 的 CI/CD 工作流控制
|
2026-01-03 00:35:16 +08:00 |
|
KenanZhu
|
1e5452d411
|
refactor(ALAboutDialog): 更改关于对话框的显示内容
主要包括版本号,提交信息,构建时间等。为 CI/CD 流程添加相关信息占位。
|
2026-01-03 00:33:01 +08:00 |
|
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 |
|