fix(core): 修复更新通知阻碍调度开始问题 #32
This commit is contained in:
@@ -239,39 +239,17 @@ class AUTO_MAA(MSFluentWindow):
|
|||||||
):
|
):
|
||||||
self.home.get_home_image()
|
self.home.get_home_image()
|
||||||
|
|
||||||
|
# 直接运行主任务
|
||||||
|
if Config.global_config.get(Config.global_config.start_IfRunDirectly):
|
||||||
|
|
||||||
|
self.start_main_task()
|
||||||
|
|
||||||
# 获取公告
|
# 获取公告
|
||||||
self.setting.show_notice(if_show=False)
|
self.setting.show_notice(if_show=False)
|
||||||
|
|
||||||
# 检查更新
|
# 检查更新
|
||||||
if Config.global_config.get(Config.global_config.update_IfAutoUpdate):
|
if Config.global_config.get(Config.global_config.update_IfAutoUpdate):
|
||||||
result = self.setting.get_update_info()
|
self.setting.check_update()
|
||||||
if result == "已是最新版本~":
|
|
||||||
MainInfoBar.push_info_bar("success", "更新检查", result, 3000)
|
|
||||||
else:
|
|
||||||
if "获取版本信息时出错" in result:
|
|
||||||
result = "网络错误"
|
|
||||||
info = InfoBar.info(
|
|
||||||
title="更新检查",
|
|
||||||
content=result,
|
|
||||||
orient=Qt.Horizontal,
|
|
||||||
isClosable=True,
|
|
||||||
position=InfoBarPosition.BOTTOM_LEFT,
|
|
||||||
duration=-1,
|
|
||||||
parent=self,
|
|
||||||
)
|
|
||||||
if "网络错误" not in result:
|
|
||||||
Up = PushButton("更新")
|
|
||||||
Up.clicked.connect(
|
|
||||||
lambda: self.setting.get_update(if_question=False)
|
|
||||||
)
|
|
||||||
Up.clicked.connect(info.close)
|
|
||||||
info.addWidget(Up)
|
|
||||||
info.show()
|
|
||||||
|
|
||||||
# 直接运行主任务
|
|
||||||
if Config.global_config.get(Config.global_config.start_IfRunDirectly):
|
|
||||||
|
|
||||||
self.start_main_task()
|
|
||||||
|
|
||||||
# 直接最小化
|
# 直接最小化
|
||||||
if Config.global_config.get(Config.global_config.start_IfMinimizeDirectly):
|
if Config.global_config.get(Config.global_config.start_IfMinimizeDirectly):
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ class Setting(QWidget):
|
|||||||
)
|
)
|
||||||
self.start.card_IfSelfStart.checkedChanged.connect(System.set_SelfStart)
|
self.start.card_IfSelfStart.checkedChanged.connect(System.set_SelfStart)
|
||||||
self.security.card_changePASSWORD.clicked.connect(self.change_PASSWORD)
|
self.security.card_changePASSWORD.clicked.connect(self.change_PASSWORD)
|
||||||
self.updater.card_CheckUpdate.clicked.connect(self.get_update)
|
self.updater.card_CheckUpdate.clicked.connect(self.check_update)
|
||||||
self.other.card_Notice.clicked.connect(self.show_notice)
|
self.other.card_Notice.clicked.connect(self.show_notice)
|
||||||
|
|
||||||
content_layout.addWidget(self.function)
|
content_layout.addWidget(self.function)
|
||||||
@@ -265,43 +265,7 @@ class Setting(QWidget):
|
|||||||
if choice.exec():
|
if choice.exec():
|
||||||
break
|
break
|
||||||
|
|
||||||
def get_update_info(self) -> str:
|
def check_update(self) -> None:
|
||||||
"""检查主程序版本更新,返回更新信息"""
|
|
||||||
|
|
||||||
# 从本地版本信息文件获取当前版本信息
|
|
||||||
with Config.version_path.open(mode="r", encoding="utf-8") as f:
|
|
||||||
version_current = json.load(f)
|
|
||||||
main_version_current = list(
|
|
||||||
map(int, version_current["main_version"].split("."))
|
|
||||||
)
|
|
||||||
|
|
||||||
# 从远程服务器获取最新版本信息
|
|
||||||
for _ in range(3):
|
|
||||||
try:
|
|
||||||
response = requests.get(
|
|
||||||
f"https://gitee.com/DLmaster_361/AUTO_MAA/raw/{Config.global_config.get(Config.global_config.update_UpdateType)}/resources/version.json"
|
|
||||||
)
|
|
||||||
version_remote = response.json()
|
|
||||||
break
|
|
||||||
except Exception as e:
|
|
||||||
err = e
|
|
||||||
time.sleep(0.1)
|
|
||||||
else:
|
|
||||||
return f"获取版本信息时出错:\n{err}"
|
|
||||||
|
|
||||||
main_version_remote = list(map(int, version_remote["main_version"].split(".")))
|
|
||||||
|
|
||||||
# 有版本更新
|
|
||||||
if main_version_remote > main_version_current:
|
|
||||||
|
|
||||||
main_version_info = f" 主程序:{version_text(main_version_current)} --> {version_text(main_version_remote)}\n"
|
|
||||||
|
|
||||||
return f"发现新版本:\n{main_version_info} 更新说明:\n{version_remote['announcement'].replace("\n# ","\n !").replace("\n## ","\n - ").replace("\n- ","\n · ")}\n\n是否开始更新?\n\n 注意:主程序更新时AUTO_MAA将自动关闭"
|
|
||||||
|
|
||||||
else:
|
|
||||||
return "已是最新版本~"
|
|
||||||
|
|
||||||
def get_update(self, if_question: bool = True) -> None:
|
|
||||||
"""检查版本更新,调起文件下载进程"""
|
"""检查版本更新,调起文件下载进程"""
|
||||||
|
|
||||||
# 从本地版本信息文件获取当前版本信息
|
# 从本地版本信息文件获取当前版本信息
|
||||||
@@ -405,10 +369,9 @@ class Setting(QWidget):
|
|||||||
}
|
}
|
||||||
|
|
||||||
# 询问是否开始版本更新
|
# 询问是否开始版本更新
|
||||||
if if_question:
|
choice = NoticeMessageBox(self.window(), "版本更新", version_info)
|
||||||
choice = NoticeMessageBox(self.window(), "版本更新", version_info)
|
if not choice.exec():
|
||||||
if not choice.exec():
|
return None
|
||||||
return None
|
|
||||||
|
|
||||||
# 更新更新器
|
# 更新更新器
|
||||||
if updater_version_remote > updater_version_current:
|
if updater_version_remote > updater_version_current:
|
||||||
|
|||||||
@@ -85,15 +85,6 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
shutil.copy(root_path / "app/utils/downloader.py", root_path)
|
shutil.copy(root_path / "app/utils/downloader.py", root_path)
|
||||||
|
|
||||||
file_content = (root_path / "downloader.py").read_text(encoding="utf-8")
|
|
||||||
|
|
||||||
(root_path / "downloader.py").write_text(
|
|
||||||
file_content.replace(
|
|
||||||
"from .version import version_text", "from app import version_text"
|
|
||||||
),
|
|
||||||
encoding="utf-8",
|
|
||||||
)
|
|
||||||
|
|
||||||
print("Packaging AUTO_MAA update program ...")
|
print("Packaging AUTO_MAA update program ...")
|
||||||
|
|
||||||
os.system(
|
os.system(
|
||||||
|
|||||||
@@ -11,4 +11,4 @@ requests
|
|||||||
markdown
|
markdown
|
||||||
Jinja2
|
Jinja2
|
||||||
serverchan_sdk
|
serverchan_sdk
|
||||||
nuitka==2.6
|
nuitka
|
||||||
@@ -6,6 +6,12 @@
|
|||||||
"4.2.5.7":{
|
"4.2.5.7":{
|
||||||
"新增功能": [
|
"新增功能": [
|
||||||
"添加每周剿灭模式上限功能"
|
"添加每周剿灭模式上限功能"
|
||||||
|
],
|
||||||
|
"修复BUG": [
|
||||||
|
"修复更新通知阻碍调度开始问题 #32"
|
||||||
|
],
|
||||||
|
"程序优化": [
|
||||||
|
"打包流程删除无用过程"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"4.2.5.6":{
|
"4.2.5.6":{
|
||||||
|
|||||||
Reference in New Issue
Block a user