Merge branch 'dev'
This commit is contained in:
@@ -572,7 +572,7 @@ class MaaPlanConfig(LQConfig):
|
||||
|
||||
class AppConfig(GlobalConfig):
|
||||
|
||||
VERSION = "4.3.9.1"
|
||||
VERSION = "4.3.9.0"
|
||||
|
||||
gameid_refreshed = Signal()
|
||||
PASSWORD_refreshed = Signal()
|
||||
|
||||
@@ -27,6 +27,7 @@ v4.3
|
||||
|
||||
from loguru import logger
|
||||
from PySide6.QtCore import QObject, QThread, QEventLoop
|
||||
import re
|
||||
import time
|
||||
import requests
|
||||
from pathlib import Path
|
||||
@@ -42,6 +43,10 @@ class NetworkThread(QThread):
|
||||
def __init__(self, mode: str, url: str, path: Path = None) -> None:
|
||||
super().__init__()
|
||||
|
||||
self.setObjectName(
|
||||
f"NetworkThread-{mode}-{re.sub(r'(&cdk=)[^&]+(&)', r'\1******\2', url)}"
|
||||
)
|
||||
|
||||
self.mode = mode
|
||||
self.url = url
|
||||
self.path = path
|
||||
@@ -125,13 +130,22 @@ class _Network(QObject):
|
||||
def get_result(self, network_thread: NetworkThread) -> dict:
|
||||
"""获取网络请求结果"""
|
||||
|
||||
self.task_queue.remove(network_thread)
|
||||
|
||||
return {
|
||||
result = {
|
||||
"status_code": network_thread.status_code,
|
||||
"response_json": network_thread.response_json,
|
||||
"error_message": network_thread.error_message,
|
||||
"error_message": (
|
||||
re.sub(r"(&cdk=)[^&]+(&)", r"\1******\2", network_thread.error_message)
|
||||
if network_thread.error_message
|
||||
else None
|
||||
),
|
||||
}
|
||||
|
||||
network_thread.quit()
|
||||
network_thread.wait()
|
||||
self.task_queue.remove(network_thread)
|
||||
network_thread.deleteLater()
|
||||
|
||||
return result
|
||||
|
||||
|
||||
Network = _Network()
|
||||
|
||||
@@ -41,27 +41,26 @@ class _SoundPlayer(QObject):
|
||||
|
||||
self.sounds_path = Config.app_path / "resources/sounds"
|
||||
|
||||
def play(self, sound_name: str, parent: QObject = None):
|
||||
def play(self, sound_name: str):
|
||||
|
||||
if not Config.get(Config.voice_Enabled):
|
||||
return
|
||||
|
||||
if (self.sounds_path / f"both/{sound_name}.wav").exists():
|
||||
|
||||
self.play_voice(self.sounds_path / f"both/{sound_name}.wav", parent)
|
||||
self.play_voice(self.sounds_path / f"both/{sound_name}.wav")
|
||||
|
||||
elif (
|
||||
self.sounds_path / Config.get(Config.voice_Type) / f"{sound_name}.wav"
|
||||
).exists():
|
||||
|
||||
self.play_voice(
|
||||
self.sounds_path / Config.get(Config.voice_Type) / f"{sound_name}.wav",
|
||||
parent,
|
||||
self.sounds_path / Config.get(Config.voice_Type) / f"{sound_name}.wav"
|
||||
)
|
||||
|
||||
def play_voice(self, sound_path: Path, parent: QObject):
|
||||
def play_voice(self, sound_path: Path):
|
||||
|
||||
effect = QSoundEffect(self if parent is None else parent)
|
||||
effect = QSoundEffect(self)
|
||||
effect.setVolume(1)
|
||||
effect.setSource(QUrl.fromLocalFile(sound_path))
|
||||
effect.play()
|
||||
|
||||
@@ -45,6 +45,7 @@ class Task(QThread):
|
||||
|
||||
check_maa_version = Signal(str)
|
||||
push_info_bar = Signal(str, str, str, int)
|
||||
play_sound = Signal(str)
|
||||
question = Signal(str, str)
|
||||
question_response = Signal(bool)
|
||||
update_user_info = Signal(str, dict)
|
||||
@@ -60,6 +61,8 @@ class Task(QThread):
|
||||
):
|
||||
super(Task, self).__init__()
|
||||
|
||||
self.setObjectName(f"Task-{mode}-{name}")
|
||||
|
||||
self.mode = mode
|
||||
self.name = name
|
||||
self.info = info
|
||||
@@ -83,6 +86,7 @@ class Task(QThread):
|
||||
)
|
||||
self.task.check_maa_version.connect(self.check_maa_version.emit)
|
||||
self.task.push_info_bar.connect(self.push_info_bar.emit)
|
||||
self.task.play_sound.connect(self.play_sound.emit)
|
||||
self.task.accomplish.connect(lambda: self.accomplish.emit([]))
|
||||
|
||||
self.task.run()
|
||||
@@ -142,6 +146,7 @@ class Task(QThread):
|
||||
self.question_response.disconnect()
|
||||
self.question_response.connect(self.task.question_response.emit)
|
||||
self.task.push_info_bar.connect(self.push_info_bar.emit)
|
||||
self.task.play_sound.connect(self.play_sound.emit)
|
||||
self.task.create_user_list.connect(self.create_user_list.emit)
|
||||
self.task.update_user_list.connect(self.update_user_list.emit)
|
||||
self.task.update_log_text.connect(self.update_log_text.emit)
|
||||
@@ -201,6 +206,7 @@ class _TaskManager(QObject):
|
||||
lambda title, content: self.push_dialog(name, title, content)
|
||||
)
|
||||
self.task_dict[name].push_info_bar.connect(MainInfoBar.push_info_bar)
|
||||
self.task_dict[name].play_sound.connect(SoundPlayer.play)
|
||||
self.task_dict[name].update_user_info.connect(Config.change_user_info)
|
||||
self.task_dict[name].accomplish.connect(
|
||||
lambda logs: self.remove_task(mode, name, logs)
|
||||
|
||||
@@ -38,7 +38,7 @@ from pathlib import Path
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
from typing import Union, List, Dict
|
||||
|
||||
from app.core import Config, MaaConfig, MaaUserConfig, SoundPlayer
|
||||
from app.core import Config, MaaConfig, MaaUserConfig
|
||||
from app.services import Notify, System
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ class MaaManager(QObject):
|
||||
question_response = Signal(bool)
|
||||
update_user_info = Signal(str, dict)
|
||||
push_info_bar = Signal(str, str, str, int)
|
||||
play_sound = Signal(str)
|
||||
create_user_list = Signal(list)
|
||||
update_user_list = Signal(list)
|
||||
update_log_text = Signal(str)
|
||||
@@ -564,9 +565,9 @@ class MaaManager(QObject):
|
||||
1,
|
||||
)
|
||||
if i == self.set["RunSet"]["RunTimesLimit"] - 1:
|
||||
SoundPlayer.play("子任务失败", self)
|
||||
self.play_sound.emit("子任务失败")
|
||||
else:
|
||||
SoundPlayer.play(self.maa_result, self)
|
||||
self.play_sound.emit(self.maa_result)
|
||||
self.sleep(10)
|
||||
|
||||
# 任务结束后释放ADB
|
||||
@@ -619,7 +620,7 @@ class MaaManager(QObject):
|
||||
},
|
||||
user_data,
|
||||
)
|
||||
SoundPlayer.play("六星喜报", self)
|
||||
self.play_sound.emit("六星喜报")
|
||||
|
||||
# 执行MAA解压更新动作
|
||||
if self.maa_update_package:
|
||||
@@ -631,7 +632,7 @@ class MaaManager(QObject):
|
||||
self.update_log_text.emit(
|
||||
f"检测到MAA存在更新\nMAA正在执行更新动作\n请等待10s"
|
||||
)
|
||||
SoundPlayer.play("MAA更新", self)
|
||||
self.play_sound.emit("MAA更新")
|
||||
self.set_maa("更新MAA", None)
|
||||
subprocess.Popen(
|
||||
[self.maa_exe_path],
|
||||
@@ -752,7 +753,7 @@ class MaaManager(QObject):
|
||||
# 登录失败,询问是否结束循环
|
||||
elif not self.isInterruptionRequested:
|
||||
|
||||
SoundPlayer.play("排查重试", self)
|
||||
self.play_sound.emit("排查重试")
|
||||
if not self.push_question(
|
||||
"操作提示", "MAA未能正确登录到PRTS,是否重试?"
|
||||
):
|
||||
@@ -761,7 +762,7 @@ class MaaManager(QObject):
|
||||
# 登录成功,录入人工排查情况
|
||||
if run_book[0] and not self.isInterruptionRequested:
|
||||
|
||||
SoundPlayer.play("排查录入", self)
|
||||
self.play_sound.emit("排查录入")
|
||||
if self.push_question(
|
||||
"操作提示", "请检查用户代理情况,该用户是否正确完成代理任务?"
|
||||
):
|
||||
@@ -970,7 +971,7 @@ class MaaManager(QObject):
|
||||
with self.maa_set_path.open(mode="w", encoding="utf-8") as f:
|
||||
json.dump(data, f, ensure_ascii=False, indent=4)
|
||||
|
||||
SoundPlayer.play("ADB成功", self)
|
||||
self.play_sound.emit("ADB成功")
|
||||
return None
|
||||
|
||||
else:
|
||||
@@ -978,7 +979,7 @@ class MaaManager(QObject):
|
||||
else:
|
||||
logger.info(f"{self.name} | 无法连接到ADB地址:{ADB_address}")
|
||||
|
||||
SoundPlayer.play("ADB失败", self)
|
||||
self.play_sound.emit("ADB失败")
|
||||
|
||||
def refresh_maa_log(self) -> None:
|
||||
"""刷新MAA日志"""
|
||||
|
||||
@@ -78,6 +78,8 @@ class DownloadProcess(QThread):
|
||||
) -> None:
|
||||
super(DownloadProcess, self).__init__()
|
||||
|
||||
self.setObjectName(f"DownloadProcess-{url}-{start_byte}-{end_byte}")
|
||||
|
||||
self.url = url
|
||||
self.start_byte = start_byte
|
||||
self.end_byte = end_byte
|
||||
@@ -157,6 +159,8 @@ class ZipExtractProcess(QThread):
|
||||
def __init__(self, name: str, app_path: Path, download_path: Path) -> None:
|
||||
super(ZipExtractProcess, self).__init__()
|
||||
|
||||
self.setObjectName(f"ZipExtractProcess-{name}")
|
||||
|
||||
self.name = name
|
||||
self.app_path = app_path
|
||||
self.download_path = download_path
|
||||
|
||||
@@ -379,8 +379,6 @@ class AUTO_MAA(MSFluentWindow):
|
||||
|
||||
self.titleBar.minBtn.click()
|
||||
|
||||
SoundPlayer.play("MAA在完成任务前退出")
|
||||
|
||||
def clean_old_logs(self):
|
||||
"""
|
||||
删除超过用户设定天数的日志文件(基于目录日期)
|
||||
|
||||
@@ -1,6 +1,16 @@
|
||||
{
|
||||
"main_version": "4.3.9.1",
|
||||
"main_version": "4.3.9.0",
|
||||
"version_info": {
|
||||
"4.3.9.0": {
|
||||
"修复bug": [
|
||||
"修复网络模块子线程未及时销毁导致的程序崩溃"
|
||||
]
|
||||
},
|
||||
"4.3.9.2": {
|
||||
"修复bug": [
|
||||
"修复语音包禁忌二重奏"
|
||||
]
|
||||
},
|
||||
"4.3.9.1": {
|
||||
"新增功能": [
|
||||
"语音功能上线"
|
||||
|
||||
Reference in New Issue
Block a user