feifei.xu
|
1b6796ec43
|
docs: 完善README文档与架构图,修复全量注释与日志问题
- README: 补充项目概述、技术栈、架构图(Mermaid)、插件生命周期时序图
- build.py: 补充模块和函数 docstring
- core/__init__.py: 修正模块说明(工具箱→插件系统)
- log.py: 修复过时注释,清理死代码,抑制第三方库日志刷屏
- plugin_registry.py: 修正矛盾注释,补充缺失日志,隐藏远程路径
- plugins.py: 修正过时注释,清理死代码和无用导入
- plugins_card.py: 修正错误类名注释,补充全量 docstring
- main.py: 修正错误注释,补充启动/退出/插件加载日志
|
2026-07-21 17:04:34 +08:00 |
|
feifei.xu
|
0efaf2946b
|
fix: 修复插件卸载后重启失败问题,增加安装进度日志
|
2026-07-21 16:26:08 +08:00 |
|
feifei.xu
|
51e30d41c6
|
feat(plugin): 实现插件卸载功能与自重启机制
目的:补齐 Event.Uninstall 空实现,打通卸载全链路。
背景:原 plugin_registry.py 的 Uninstall 分支为空 pass;运行时直接
os.remove 删 .pyd 触发 WinError 5(Windows 文件锁,.pyd 已被 import)。
方案:
- 卸载流程分层清理:Worker 写待删清单 → Registry 清字典/obj →
main 清 toolBar/stackedWidget → plugins_card 刷新为未安装
- .pyd 文件删除延迟到下次启动 _process_pending_uninstalls,
在 worker 线程启动前、import 之前执行,避开文件锁
- 卸载后自动重启:QProcess.startDetached + QApplication.quit,
兼容开发模式(python.exe)与打包模式(main.exe)
- _remove_with_retry 应对自重启时原进程句柄未释放的暂态竞争
- _on_local_discovered 加异常隔离,单插件失败不拖垮初始化
- QThread 生命周期管理:aboutToQuit → shutdown(quit+wait),
finished → worker.deleteLater,消除 Destroyed 警告
- plugins_card 抽 refresh() 方法,统一卡片状态刷新
影响:卸载功能可用;自重启在命令行/打包模式正常,调试器环境
可能因子进程管理闪退(不影响交付)。
|
2026-07-20 13:15:16 +08:00 |
|
feifei.xu
|
aaad6b8aa6
|
基础功能完成
|
2026-07-20 10:31:10 +08:00 |
|
feifei.xu
|
207cbde4bc
|
优化
|
2026-07-17 15:27:33 +08:00 |
|
feifei.xu
|
6bb68eb6b7
|
更新
|
2026-07-14 14:24:54 +08:00 |
|
feifei.xu
|
45b7c6d5e5
|
上传
|
2026-07-10 09:13:56 +08:00 |
|
feifei.xu
|
d17a54eb73
|
更新版本
|
2026-06-12 16:01:53 +08:00 |
|
feifei.xu
|
62ebc2f589
|
commit: 初版V0.0.0
|
2026-05-13 14:46:10 +08:00 |
|
feifei.xu
|
9dda1acaf1
|
初版V0.0.0
|
2026-05-13 14:44:05 +08:00 |
|