Compare commits
14 Commits
v4.1.2
...
v4.1.2_bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c8b940925 | ||
|
|
0e05a4ea18 | ||
|
|
9e4285b4c5 | ||
|
|
e89d2af8ae | ||
|
|
8e7d663060 | ||
|
|
179b33387e | ||
|
|
2c9a7c443f | ||
|
|
0de964e68c | ||
|
|
97046af931 | ||
|
|
ec24e776e7 | ||
|
|
92d4ef05fa | ||
|
|
fb27c50c75 | ||
|
|
0141bf039a | ||
|
|
54f9bb7f21 |
759
AUTO_MAA.py
759
AUTO_MAA.py
File diff suppressed because it is too large
Load Diff
@@ -113,6 +113,7 @@ MAA多账号管理与自动化软件
|
|||||||
- `运行失败重试次数上限`:对于每一用户,若超过该次数限制仍未完成代理,视为代理失败。
|
- `运行失败重试次数上限`:对于每一用户,若超过该次数限制仍未完成代理,视为代理失败。
|
||||||
- `开机自动启动AUTO_MAA`:实现AUTO_MAA的自启动。
|
- `开机自动启动AUTO_MAA`:实现AUTO_MAA的自启动。
|
||||||
- `AUTO_MAA启动时禁止电脑休眠`:仅阻止电脑自动休眠,不会影响屏幕是否熄灭。
|
- `AUTO_MAA启动时禁止电脑休眠`:仅阻止电脑自动休眠,不会影响屏幕是否熄灭。
|
||||||
|
- `启动AUTO_MAA后直接代理`:在AUTO_MAA启动后立即执行代理任务。
|
||||||
- `检查版本更新`:从GitHub上获取版本更新,要求网络能够访问GitHub。获取版本信息时若遇网络不稳定,主程序有概率未响应,稍等片刻后恢复。
|
- `检查版本更新`:从GitHub上获取版本更新,要求网络能够访问GitHub。获取版本信息时若遇网络不稳定,主程序有概率未响应,稍等片刻后恢复。
|
||||||
- `修改管理密钥`:修改管理密钥,当用户列表中无用户时,将跳过验证旧管理密钥。
|
- `修改管理密钥`:修改管理密钥,当用户列表中无用户时,将跳过验证旧管理密钥。
|
||||||
|
|
||||||
|
|||||||
40
Updater.py
40
Updater.py
@@ -30,6 +30,7 @@ import sys
|
|||||||
import json
|
import json
|
||||||
import zipfile
|
import zipfile
|
||||||
import requests
|
import requests
|
||||||
|
import subprocess
|
||||||
|
|
||||||
from PySide6.QtWidgets import (
|
from PySide6.QtWidgets import (
|
||||||
QApplication,
|
QApplication,
|
||||||
@@ -56,11 +57,17 @@ class UpdateProcess(QThread):
|
|||||||
self.name = name
|
self.name = name
|
||||||
self.download_url = download_url
|
self.download_url = download_url
|
||||||
self.version = version
|
self.version = version
|
||||||
self.download_path = app_path + "/AUTO_MAA_Update.zip" # 临时下载文件的路径
|
self.download_path = f"{app_path}/AUTO_MAA_Update.zip" # 临时下载文件的路径
|
||||||
self.version_path = app_path + "/res/version.json"
|
self.version_path = f"{app_path}/res/version.json"
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
|
|
||||||
|
# 清理可能存在的临时文件
|
||||||
|
try:
|
||||||
|
os.remove(self.download_path)
|
||||||
|
except FileNotFoundError:
|
||||||
|
pass
|
||||||
|
|
||||||
# 下载
|
# 下载
|
||||||
try:
|
try:
|
||||||
response = requests.get(self.download_url, stream=True)
|
response = requests.get(self.download_url, stream=True)
|
||||||
@@ -83,6 +90,7 @@ class UpdateProcess(QThread):
|
|||||||
e = "\n".join([e[_ : _ + 75] for _ in range(0, len(e), 75)])
|
e = "\n".join([e[_ : _ + 75] for _ in range(0, len(e), 75)])
|
||||||
self.info.emit(f"下载{self.name}时出错:\n{e}")
|
self.info.emit(f"下载{self.name}时出错:\n{e}")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
# 解压
|
# 解压
|
||||||
try:
|
try:
|
||||||
self.info.emit("正在解压更新文件")
|
self.info.emit("正在解压更新文件")
|
||||||
@@ -96,12 +104,13 @@ class UpdateProcess(QThread):
|
|||||||
|
|
||||||
self.info.emit(f"{self.name}更新成功!")
|
self.info.emit(f"{self.name}更新成功!")
|
||||||
self.progress.emit(0, 100, 100)
|
self.progress.emit(0, 100, 100)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
e = str(e)
|
e = str(e)
|
||||||
e = "\n".join([e[_ : _ + 75] for _ in range(0, len(e), 75)])
|
e = "\n".join([e[_ : _ + 75] for _ in range(0, len(e), 75)])
|
||||||
self.info.emit(f"解压更新时出错:\n{e}")
|
self.info.emit(f"解压更新时出错:\n{e}")
|
||||||
|
return None
|
||||||
|
|
||||||
|
# 更新version文件
|
||||||
with open(self.version_path, "r", encoding="utf-8") as f:
|
with open(self.version_path, "r", encoding="utf-8") as f:
|
||||||
version_info = json.load(f)
|
version_info = json.load(f)
|
||||||
if self.name == "AUTO_MAA更新器":
|
if self.name == "AUTO_MAA更新器":
|
||||||
@@ -111,6 +120,14 @@ class UpdateProcess(QThread):
|
|||||||
with open(self.version_path, "w", encoding="utf-8") as f:
|
with open(self.version_path, "w", encoding="utf-8") as f:
|
||||||
json.dump(version_info, f, indent=4)
|
json.dump(version_info, f, indent=4)
|
||||||
|
|
||||||
|
# 主程序更新完成后打开AUTO_MAA
|
||||||
|
if self.name == "AUTO_MAA主程序":
|
||||||
|
subprocess.Popen(
|
||||||
|
f"{self.app_path}/AUTO_MAA.exe",
|
||||||
|
shell=True,
|
||||||
|
creationflags=subprocess.CREATE_NO_WINDOW,
|
||||||
|
)
|
||||||
|
|
||||||
self.accomplish.emit()
|
self.accomplish.emit()
|
||||||
|
|
||||||
|
|
||||||
@@ -119,9 +136,9 @@ class Updater(QObject):
|
|||||||
def __init__(self, app_path, name, download_url, version):
|
def __init__(self, app_path, name, download_url, version):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
self.ui = uiLoader.load(app_path + "/gui/ui/updater.ui")
|
self.ui = uiLoader.load(f"{app_path}/gui/ui/updater.ui")
|
||||||
self.ui.setWindowTitle("AUTO_MAA更新器")
|
self.ui.setWindowTitle("AUTO_MAA更新器")
|
||||||
self.ui.setWindowIcon(QIcon(app_path + "/gui/ico/AUTO_MAA_Updater.ico"))
|
self.ui.setWindowIcon(QIcon(f"{app_path}/gui/ico/AUTO_MAA_Updater.ico"))
|
||||||
|
|
||||||
self.info = self.ui.findChild(QLabel, "label")
|
self.info = self.ui.findChild(QLabel, "label")
|
||||||
self.info.setText("正在初始化")
|
self.info.setText("正在初始化")
|
||||||
@@ -153,12 +170,20 @@ class AUTO_MAA_Updater(QApplication):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|
||||||
# 获取软件自身的路径
|
# 获取软件自身的路径
|
||||||
app_path = os.path.dirname(os.path.realpath(sys.argv[0])).replace("\\", "/")
|
app_path = os.path.dirname(os.path.realpath(sys.argv[0])).replace("\\", "/")
|
||||||
|
|
||||||
# 从本地版本信息文件获取当前版本信息
|
# 从本地版本信息文件获取当前版本信息
|
||||||
with open(app_path + "/res/version.json", "r", encoding="utf-8") as f:
|
if os.path.exists(f"{app_path}/res/version.json"):
|
||||||
|
with open(f"{app_path}/res/version.json", "r", encoding="utf-8") as f:
|
||||||
version_current = json.load(f)
|
version_current = json.load(f)
|
||||||
main_version_current = list(map(int, version_current["main_version"].split(".")))
|
main_version_current = list(
|
||||||
|
map(int, version_current["main_version"].split("."))
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
main_version_current = [0, 0, 0, 0]
|
||||||
|
|
||||||
# 从远程服务器获取最新版本信息
|
# 从远程服务器获取最新版本信息
|
||||||
response = requests.get(
|
response = requests.get(
|
||||||
"https://ghp.ci/https://github.com/DLmaster361/AUTO_MAA/blob/main/res/version.json"
|
"https://ghp.ci/https://github.com/DLmaster361/AUTO_MAA/blob/main/res/version.json"
|
||||||
@@ -166,6 +191,7 @@ if __name__ == "__main__":
|
|||||||
version_remote = response.json()
|
version_remote = response.json()
|
||||||
main_version_remote = list(map(int, version_remote["main_version"].split(".")))
|
main_version_remote = list(map(int, version_remote["main_version"].split(".")))
|
||||||
|
|
||||||
|
# 启动更新线程
|
||||||
if main_version_remote > main_version_current:
|
if main_version_remote > main_version_current:
|
||||||
app = AUTO_MAA_Updater(
|
app = AUTO_MAA_Updater(
|
||||||
app_path,
|
app_path,
|
||||||
|
|||||||
@@ -1257,7 +1257,7 @@
|
|||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_15">
|
<layout class="QVBoxLayout" name="verticalLayout_15">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTextBrowser" name="textBrowser">
|
<widget class="QTextBrowser" name="textBrowser_tips">
|
||||||
<property name="html">
|
<property name="html">
|
||||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
<html><head><meta name="qrichtext" content="1" /><meta charset="utf-8" /><style type="text/css">
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"main_version": "4.1.2.0",
|
"main_version": "4.1.2.1",
|
||||||
"main_download_url": "https://ghp.ci/https://github.com/DLmaster361/AUTO_MAA/releases/download/v4.1.1_beta/AUTO_MAA_v4.1.2.zip",
|
"main_download_url": "https://ghp.ci/https://github.com/DLmaster361/AUTO_MAA/releases/download/v4.1.2_beta/AUTO_MAA_v4.1.2_beta.zip",
|
||||||
"updater_version": "1.0.2.0",
|
"updater_version": "1.0.4.0",
|
||||||
"updater_download_url": "https://ghp.ci/https://github.com/DLmaster361/AUTO_MAA/releases/download/v4.1.1_beta/Updater_v1.0.2.zip",
|
"updater_download_url": "https://ghp.ci/https://github.com/DLmaster361/AUTO_MAA/releases/download/v4.1.2_beta/Updater_v1.0.4.zip",
|
||||||
"announcement": "\n# 公测版,若出现问题请及时反馈给项目组!\n## 新增功能\n- 添加`启动AUTO_MAA后直接代理`功能\n- 添加无限代理天数模式\n## 修复BUG\n- 尝试解决卡日志情况\n## 程序优化\n- Updater.exe图标更换\n- 更新逻辑优化"
|
"announcement": "\n## 新增功能\n- 记忆窗口位置\n## 修复BUG\n- 暂无\n## 程序优化\n- 暂无"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user