chore(core): 优化调度队列配置逻辑
This commit is contained in:
@@ -276,78 +276,49 @@ class QueueConfig(LQConfig):
|
||||
super().__init__()
|
||||
|
||||
self.queueSet_Name = ConfigItem("QueueSet", "Name", "")
|
||||
self.queueSet_Enabled = ConfigItem(
|
||||
"QueueSet", "Enabled", False, BoolValidator()
|
||||
self.queueSet_TimeEnabled = ConfigItem(
|
||||
"QueueSet", "TimeEnabled", False, BoolValidator()
|
||||
)
|
||||
self.queueSet_AfterAccomplish = OptionsConfigItem(
|
||||
"QueueSet",
|
||||
"AfterAccomplish",
|
||||
"NoAction",
|
||||
OptionsValidator(
|
||||
["NoAction", "KillSelf", "Sleep", "Hibernate", "Shutdown"]
|
||||
[
|
||||
"NoAction",
|
||||
"KillSelf",
|
||||
"Sleep",
|
||||
"Hibernate",
|
||||
"Shutdown",
|
||||
"ShutdownForce",
|
||||
]
|
||||
),
|
||||
)
|
||||
|
||||
self.time_TimeEnabled_0 = ConfigItem(
|
||||
"Time", "TimeEnabled_0", False, BoolValidator()
|
||||
)
|
||||
self.time_TimeSet_0 = ConfigItem("Time", "TimeSet_0", "00:00")
|
||||
self.config_item_dict: dict[str, Dict[str, ConfigItem]] = {
|
||||
"Queue": {},
|
||||
"Time": {},
|
||||
}
|
||||
|
||||
self.time_TimeEnabled_1 = ConfigItem(
|
||||
"Time", "TimeEnabled_1", False, BoolValidator()
|
||||
)
|
||||
self.time_TimeSet_1 = ConfigItem("Time", "TimeSet_1", "00:00")
|
||||
for i in range(10):
|
||||
|
||||
self.time_TimeEnabled_2 = ConfigItem(
|
||||
"Time", "TimeEnabled_2", False, BoolValidator()
|
||||
self.config_item_dict["Time"][f"Enabled_{i}"] = ConfigItem(
|
||||
"Time", f"Enabled_{i}", False, BoolValidator()
|
||||
)
|
||||
self.time_TimeSet_2 = ConfigItem("Time", "TimeSet_2", "00:00")
|
||||
|
||||
self.time_TimeEnabled_3 = ConfigItem(
|
||||
"Time", "TimeEnabled_3", False, BoolValidator()
|
||||
self.config_item_dict["Time"][f"Set_{i}"] = ConfigItem(
|
||||
"Time", f"Set_{i}", "00:00"
|
||||
)
|
||||
self.time_TimeSet_3 = ConfigItem("Time", "TimeSet_3", "00:00")
|
||||
|
||||
self.time_TimeEnabled_4 = ConfigItem(
|
||||
"Time", "TimeEnabled_4", False, BoolValidator()
|
||||
self.config_item_dict["Queue"][f"Script_{i}"] = OptionsConfigItem(
|
||||
"Queue", f"Script_{i}", "禁用"
|
||||
)
|
||||
self.time_TimeSet_4 = ConfigItem("Time", "TimeSet_4", "00:00")
|
||||
|
||||
self.time_TimeEnabled_5 = ConfigItem(
|
||||
"Time", "TimeEnabled_5", False, BoolValidator()
|
||||
setattr(
|
||||
self, f"Time_Enabled_{i}", self.config_item_dict["Time"][f"Enabled_{i}"]
|
||||
)
|
||||
self.time_TimeSet_5 = ConfigItem("Time", "TimeSet_5", "00:00")
|
||||
|
||||
self.time_TimeEnabled_6 = ConfigItem(
|
||||
"Time", "TimeEnabled_6", False, BoolValidator()
|
||||
setattr(self, f"Time_Set_{i}", self.config_item_dict["Time"][f"Set_{i}"])
|
||||
setattr(
|
||||
self, f"Queue_Script_{i}", self.config_item_dict["Queue"][f"Script_{i}"]
|
||||
)
|
||||
self.time_TimeSet_6 = ConfigItem("Time", "TimeSet_6", "00:00")
|
||||
|
||||
self.time_TimeEnabled_7 = ConfigItem(
|
||||
"Time", "TimeEnabled_7", False, BoolValidator()
|
||||
)
|
||||
self.time_TimeSet_7 = ConfigItem("Time", "TimeSet_7", "00:00")
|
||||
|
||||
self.time_TimeEnabled_8 = ConfigItem(
|
||||
"Time", "TimeEnabled_8", False, BoolValidator()
|
||||
)
|
||||
self.time_TimeSet_8 = ConfigItem("Time", "TimeSet_8", "00:00")
|
||||
|
||||
self.time_TimeEnabled_9 = ConfigItem(
|
||||
"Time", "TimeEnabled_9", False, BoolValidator()
|
||||
)
|
||||
self.time_TimeSet_9 = ConfigItem("Time", "TimeSet_9", "00:00")
|
||||
|
||||
self.queue_Member_1 = OptionsConfigItem("Queue", "Member_1", "禁用")
|
||||
self.queue_Member_2 = OptionsConfigItem("Queue", "Member_2", "禁用")
|
||||
self.queue_Member_3 = OptionsConfigItem("Queue", "Member_3", "禁用")
|
||||
self.queue_Member_4 = OptionsConfigItem("Queue", "Member_4", "禁用")
|
||||
self.queue_Member_5 = OptionsConfigItem("Queue", "Member_5", "禁用")
|
||||
self.queue_Member_6 = OptionsConfigItem("Queue", "Member_6", "禁用")
|
||||
self.queue_Member_7 = OptionsConfigItem("Queue", "Member_7", "禁用")
|
||||
self.queue_Member_8 = OptionsConfigItem("Queue", "Member_8", "禁用")
|
||||
self.queue_Member_9 = OptionsConfigItem("Queue", "Member_9", "禁用")
|
||||
self.queue_Member_10 = OptionsConfigItem("Queue", "Member_10", "禁用")
|
||||
|
||||
self.Data_LastProxyTime = ConfigItem(
|
||||
"Data", "LastProxyTime", "2000-01-01 00:00:00"
|
||||
@@ -713,7 +684,7 @@ class GeneralSubConfig(LQConfig):
|
||||
|
||||
class AppConfig(GlobalConfig):
|
||||
|
||||
VERSION = "4.4.1.4"
|
||||
VERSION = "4.4.1.5"
|
||||
|
||||
stage_refreshed = Signal()
|
||||
PASSWORD_refreshed = Signal()
|
||||
@@ -750,7 +721,9 @@ class AppConfig(GlobalConfig):
|
||||
self.if_ignore_silence = False
|
||||
self.if_database_opened = False
|
||||
|
||||
self.search_member()
|
||||
self.initialize()
|
||||
|
||||
self.search_script()
|
||||
self.search_queue()
|
||||
|
||||
parser = argparse.ArgumentParser(
|
||||
@@ -766,12 +739,15 @@ class AppConfig(GlobalConfig):
|
||||
parser.add_argument(
|
||||
"--config",
|
||||
nargs="+",
|
||||
choices=list(self.member_dict.keys()) + list(self.queue_dict.keys()),
|
||||
choices=list(self.script_dict.keys()) + list(self.queue_dict.keys()),
|
||||
help="指定需要运行哪些配置项",
|
||||
)
|
||||
self.args = parser.parse_args()
|
||||
|
||||
self.initialize()
|
||||
logger.info(
|
||||
f"运行模式: {'图形化界面' if self.args.mode == 'gui' else '命令行界面'},配置项: {self.args.config if self.args.config else '启动时运行的调度队列'}",
|
||||
module="配置管理",
|
||||
)
|
||||
|
||||
def initialize(self) -> None:
|
||||
"""初始化程序配置管理模块"""
|
||||
@@ -818,14 +794,8 @@ class AppConfig(GlobalConfig):
|
||||
logger.info("AUTO_MAA 主程序", module="配置管理")
|
||||
logger.info(f"版本号: v{self.VERSION}", module="配置管理")
|
||||
logger.info(f"根目录: {self.app_path}", module="配置管理")
|
||||
logger.info(
|
||||
f"运行模式: {'图形化界面' if self.args.mode == 'gui' else '命令行界面'}",
|
||||
module="配置管理",
|
||||
)
|
||||
logger.info("===================================", module="配置管理")
|
||||
|
||||
logger.info("日志记录器初始化完成", module="配置管理")
|
||||
|
||||
def check_data(self) -> None:
|
||||
"""检查用户数据文件并处理数据文件版本更新"""
|
||||
|
||||
@@ -834,7 +804,7 @@ class AppConfig(GlobalConfig):
|
||||
db = sqlite3.connect(self.database_path)
|
||||
cur = db.cursor()
|
||||
cur.execute("CREATE TABLE version(v text)")
|
||||
cur.execute("INSERT INTO version VALUES(?)", ("v1.7",))
|
||||
cur.execute("INSERT INTO version VALUES(?)", ("v1.8",))
|
||||
db.commit()
|
||||
cur.close()
|
||||
db.close()
|
||||
@@ -845,7 +815,7 @@ class AppConfig(GlobalConfig):
|
||||
cur.execute("SELECT * FROM version WHERE True")
|
||||
version = cur.fetchall()
|
||||
|
||||
if version[0][0] != "v1.7":
|
||||
if version[0][0] != "v1.8":
|
||||
logger.info("数据文件版本更新开始", module="配置管理")
|
||||
if_streaming = False
|
||||
# v1.4-->v1.5
|
||||
@@ -975,7 +945,6 @@ class AppConfig(GlobalConfig):
|
||||
cur.execute("DELETE FROM version WHERE v = ?", ("v1.4",))
|
||||
cur.execute("INSERT INTO version VALUES(?)", ("v1.5",))
|
||||
db.commit()
|
||||
|
||||
# v1.5-->v1.6
|
||||
if version[0][0] == "v1.5" or if_streaming:
|
||||
logger.info("数据文件版本更新:v1.5-->v1.6", module="配置管理")
|
||||
@@ -1077,6 +1046,39 @@ class AppConfig(GlobalConfig):
|
||||
cur.execute("DELETE FROM version WHERE v = ?", ("v1.6",))
|
||||
cur.execute("INSERT INTO version VALUES(?)", ("v1.7",))
|
||||
db.commit()
|
||||
# v1.7-->v1.8
|
||||
if version[0][0] == "v1.7" or if_streaming:
|
||||
logger.info("数据文件版本更新:v1.7-->v1.8", module="配置管理")
|
||||
if_streaming = True
|
||||
|
||||
if (self.app_path / "config/QueueConfig").exists():
|
||||
for QueueConfig in (self.app_path / "config/QueueConfig").glob(
|
||||
"*.json"
|
||||
):
|
||||
with QueueConfig.open(encoding="utf-8") as f:
|
||||
queue_config = json.load(f)
|
||||
|
||||
queue_config["QueueSet"]["TimeEnabled"] = queue_config[
|
||||
"QueueSet"
|
||||
]["Enabled"]
|
||||
|
||||
for i in range(10):
|
||||
queue_config["Queue"][f"Script_{i}"] = queue_config[
|
||||
"Queue"
|
||||
][f"Member_{i + 1}"]
|
||||
queue_config["Time"][f"Enabled_{i}"] = queue_config["Time"][
|
||||
f"TimeEnabled_{i}"
|
||||
]
|
||||
queue_config["Time"][f"Set_{i}"] = queue_config["Time"][
|
||||
f"TimeSet_{i}"
|
||||
]
|
||||
|
||||
with QueueConfig.open("w", encoding="utf-8") as f:
|
||||
json.dump(queue_config, f, ensure_ascii=False, indent=4)
|
||||
|
||||
cur.execute("DELETE FROM version WHERE v = ?", ("v1.7",))
|
||||
cur.execute("INSERT INTO version VALUES(?)", ("v1.8",))
|
||||
db.commit()
|
||||
|
||||
cur.close()
|
||||
db.close()
|
||||
@@ -1176,11 +1178,11 @@ class AppConfig(GlobalConfig):
|
||||
dt = dt - timedelta(days=1)
|
||||
return dt.date()
|
||||
|
||||
def search_member(self) -> None:
|
||||
def search_script(self) -> None:
|
||||
"""更新脚本实例配置信息"""
|
||||
|
||||
logger.info("开始搜索并读入脚本实例配置", module="配置管理")
|
||||
self.member_dict: Dict[
|
||||
self.script_dict: Dict[
|
||||
str,
|
||||
Dict[
|
||||
str,
|
||||
@@ -1200,7 +1202,7 @@ class AppConfig(GlobalConfig):
|
||||
maa_config.load(maa_dir / "config.json", maa_config)
|
||||
maa_config.save()
|
||||
|
||||
self.member_dict[maa_dir.name] = {
|
||||
self.script_dict[maa_dir.name] = {
|
||||
"Type": "Maa",
|
||||
"Path": maa_dir,
|
||||
"Config": maa_config,
|
||||
@@ -1214,19 +1216,19 @@ class AppConfig(GlobalConfig):
|
||||
general_config.load(general_dir / "config.json", general_config)
|
||||
general_config.save()
|
||||
|
||||
self.member_dict[general_dir.name] = {
|
||||
self.script_dict[general_dir.name] = {
|
||||
"Type": "General",
|
||||
"Path": general_dir,
|
||||
"Config": general_config,
|
||||
"SubData": None,
|
||||
}
|
||||
|
||||
self.member_dict = dict(
|
||||
sorted(self.member_dict.items(), key=lambda x: int(x[0][3:]))
|
||||
self.script_dict = dict(
|
||||
sorted(self.script_dict.items(), key=lambda x: int(x[0][3:]))
|
||||
)
|
||||
|
||||
logger.success(
|
||||
f"脚本实例配置搜索完成,共找到 {len(self.member_dict)} 个实例",
|
||||
f"脚本实例配置搜索完成,共找到 {len(self.script_dict)} 个实例",
|
||||
module="配置管理",
|
||||
)
|
||||
|
||||
@@ -1241,7 +1243,7 @@ class AppConfig(GlobalConfig):
|
||||
logger.info(f"开始搜索并读入 MAA 脚本实例 {name} 的用户信息", module="配置管理")
|
||||
|
||||
user_dict: Dict[str, Dict[str, Union[Path, MaaUserConfig]]] = {}
|
||||
for user_dir in (Config.member_dict[name]["Path"] / "UserData").iterdir():
|
||||
for user_dir in (Config.script_dict[name]["Path"] / "UserData").iterdir():
|
||||
if user_dir.is_dir():
|
||||
|
||||
user_config = MaaUserConfig()
|
||||
@@ -1250,7 +1252,7 @@ class AppConfig(GlobalConfig):
|
||||
|
||||
user_dict[user_dir.stem] = {"Path": user_dir, "Config": user_config}
|
||||
|
||||
self.member_dict[name]["UserData"] = dict(
|
||||
self.script_dict[name]["UserData"] = dict(
|
||||
sorted(user_dict.items(), key=lambda x: int(x[0][3:]))
|
||||
)
|
||||
|
||||
@@ -1272,7 +1274,7 @@ class AppConfig(GlobalConfig):
|
||||
)
|
||||
|
||||
user_dict: Dict[str, Dict[str, Union[Path, GeneralSubConfig]]] = {}
|
||||
for sub_dir in (Config.member_dict[name]["Path"] / "SubData").iterdir():
|
||||
for sub_dir in (Config.script_dict[name]["Path"] / "SubData").iterdir():
|
||||
if sub_dir.is_dir():
|
||||
|
||||
sub_config = GeneralSubConfig()
|
||||
@@ -1281,7 +1283,7 @@ class AppConfig(GlobalConfig):
|
||||
|
||||
user_dict[sub_dir.stem] = {"Path": sub_dir, "Config": sub_config}
|
||||
|
||||
self.member_dict[name]["SubData"] = dict(
|
||||
self.script_dict[name]["SubData"] = dict(
|
||||
sorted(user_dict.items(), key=lambda x: int(x[0][3:]))
|
||||
)
|
||||
|
||||
@@ -1359,26 +1361,17 @@ class AppConfig(GlobalConfig):
|
||||
|
||||
for queue in self.queue_dict.values():
|
||||
|
||||
if queue["Config"].get(queue["Config"].queue_Member_1) == old:
|
||||
queue["Config"].set(queue["Config"].queue_Member_1, new)
|
||||
if queue["Config"].get(queue["Config"].queue_Member_2) == old:
|
||||
queue["Config"].set(queue["Config"].queue_Member_2, new)
|
||||
if queue["Config"].get(queue["Config"].queue_Member_3) == old:
|
||||
queue["Config"].set(queue["Config"].queue_Member_3, new)
|
||||
if queue["Config"].get(queue["Config"].queue_Member_4) == old:
|
||||
queue["Config"].set(queue["Config"].queue_Member_4, new)
|
||||
if queue["Config"].get(queue["Config"].queue_Member_5) == old:
|
||||
queue["Config"].set(queue["Config"].queue_Member_5, new)
|
||||
if queue["Config"].get(queue["Config"].queue_Member_6) == old:
|
||||
queue["Config"].set(queue["Config"].queue_Member_6, new)
|
||||
if queue["Config"].get(queue["Config"].queue_Member_7) == old:
|
||||
queue["Config"].set(queue["Config"].queue_Member_7, new)
|
||||
if queue["Config"].get(queue["Config"].queue_Member_8) == old:
|
||||
queue["Config"].set(queue["Config"].queue_Member_8, new)
|
||||
if queue["Config"].get(queue["Config"].queue_Member_9) == old:
|
||||
queue["Config"].set(queue["Config"].queue_Member_9, new)
|
||||
if queue["Config"].get(queue["Config"].queue_Member_10) == old:
|
||||
queue["Config"].set(queue["Config"].queue_Member_10, new)
|
||||
for i in range(10):
|
||||
|
||||
if (
|
||||
queue["Config"].get(
|
||||
queue["Config"].config_item_dict["Queue"][f"Script_{i}"]
|
||||
)
|
||||
== old
|
||||
):
|
||||
queue["Config"].set(
|
||||
queue["Config"].config_item_dict["Queue"][f"Script_{i}"], new
|
||||
)
|
||||
|
||||
logger.success(f"调度队列参数修改完成:{old} -> {new}", module="配置管理")
|
||||
|
||||
@@ -1392,9 +1385,9 @@ class AppConfig(GlobalConfig):
|
||||
|
||||
logger.info(f"开始修改计划表参数:{old} -> {new}", module="配置管理")
|
||||
|
||||
for member in self.member_dict.values():
|
||||
for script in self.script_dict.values():
|
||||
|
||||
for user in member["UserData"].values():
|
||||
for user in script["UserData"].values():
|
||||
|
||||
if user["Config"].get(user["Config"].Info_StageMode) == old:
|
||||
user["Config"].set(user["Config"].Info_StageMode, new)
|
||||
@@ -1417,7 +1410,7 @@ class AppConfig(GlobalConfig):
|
||||
|
||||
for user, info in user_data.items():
|
||||
|
||||
user_config = self.member_dict[name]["UserData"][user]["Config"]
|
||||
user_config = self.script_dict[name]["UserData"][user]["Config"]
|
||||
|
||||
user_config.set(
|
||||
user_config.Info_RemainedDay, info["Config"]["Info"]["RemainedDay"]
|
||||
@@ -1464,7 +1457,7 @@ class AppConfig(GlobalConfig):
|
||||
|
||||
for sub, info in sub_data.items():
|
||||
|
||||
sub_config = self.member_dict[name]["SubData"][sub]["Config"]
|
||||
sub_config = self.script_dict[name]["SubData"][sub]["Config"]
|
||||
|
||||
sub_config.set(
|
||||
sub_config.Info_RemainedDay, info["Config"]["Info"]["RemainedDay"]
|
||||
|
||||
@@ -81,7 +81,7 @@ class Task(QThread):
|
||||
|
||||
self.task = MaaManager(
|
||||
self.mode,
|
||||
Config.member_dict[self.name],
|
||||
Config.script_dict[self.name],
|
||||
(None if "全局" in self.mode else self.info["SetMaaInfo"]["Path"]),
|
||||
)
|
||||
self.task.check_maa_version.connect(self.check_maa_version.emit)
|
||||
@@ -104,7 +104,7 @@ class Task(QThread):
|
||||
|
||||
self.task = GeneralManager(
|
||||
self.mode,
|
||||
Config.member_dict[self.name],
|
||||
Config.script_dict[self.name],
|
||||
self.info["SetSubInfo"]["Path"],
|
||||
)
|
||||
self.task.push_info_bar.connect(self.push_info_bar.emit)
|
||||
@@ -126,8 +126,8 @@ class Task(QThread):
|
||||
[
|
||||
(
|
||||
value
|
||||
if Config.member_dict[value]["Config"].get_name() == ""
|
||||
else f"{value} - {Config.member_dict[value]["Config"].get_name()}"
|
||||
if Config.script_dict[value]["Config"].get_name() == ""
|
||||
else f"{value} - {Config.script_dict[value]["Config"].get_name()}"
|
||||
),
|
||||
"等待",
|
||||
value,
|
||||
@@ -165,11 +165,11 @@ class Task(QThread):
|
||||
logger.info(f"任务开始:{task[0]}", module=f"业务 {self.name}")
|
||||
self.push_info_bar.emit("info", "任务开始", task[0], 3000)
|
||||
|
||||
if Config.member_dict[task[2]]["Type"] == "Maa":
|
||||
if Config.script_dict[task[2]]["Type"] == "Maa":
|
||||
|
||||
self.task = MaaManager(
|
||||
self.mode[0:4],
|
||||
Config.member_dict[task[2]],
|
||||
Config.script_dict[task[2]],
|
||||
)
|
||||
|
||||
self.task.check_maa_version.connect(self.check_maa_version.emit)
|
||||
@@ -186,11 +186,11 @@ class Task(QThread):
|
||||
lambda log: self.task_accomplish(task[2], log)
|
||||
)
|
||||
|
||||
elif Config.member_dict[task[2]]["Type"] == "General":
|
||||
elif Config.script_dict[task[2]]["Type"] == "General":
|
||||
|
||||
self.task = GeneralManager(
|
||||
self.mode[0:4],
|
||||
Config.member_dict[task[2]],
|
||||
Config.script_dict[task[2]],
|
||||
)
|
||||
|
||||
self.task.question.connect(self.question.emit)
|
||||
|
||||
@@ -79,15 +79,15 @@ class _MainTimer(QObject):
|
||||
|
||||
for name, info in Config.queue_dict.items():
|
||||
|
||||
if not info["Config"].get(info["Config"].queueSet_Enabled):
|
||||
if not info["Config"].get(info["Config"].queueSet_TimeEnabled):
|
||||
continue
|
||||
|
||||
data = info["Config"].toDict()
|
||||
|
||||
time_set = [
|
||||
data["Time"][f"TimeSet_{_}"]
|
||||
data["Time"][f"Set_{_}"]
|
||||
for _ in range(10)
|
||||
if data["Time"][f"TimeEnabled_{_}"]
|
||||
if data["Time"][f"Enabled_{_}"]
|
||||
]
|
||||
# 按时间调起代理任务
|
||||
curtime = datetime.now().strftime("%Y-%m-%d %H:%M")
|
||||
|
||||
@@ -167,22 +167,22 @@ class CryptoHandler:
|
||||
:type PASSWORD_new: str
|
||||
"""
|
||||
|
||||
for member in Config.member_dict.values():
|
||||
for script in Config.script_dict.values():
|
||||
|
||||
# 使用旧管理密钥解密
|
||||
if member["Type"] == "Maa":
|
||||
for user in member["UserData"].values():
|
||||
if script["Type"] == "Maa":
|
||||
for user in script["UserData"].values():
|
||||
user["Password"] = self.AUTO_decryptor(
|
||||
user["Config"].get(user["Config"].Info_Password), PASSWORD_old
|
||||
)
|
||||
|
||||
self.get_PASSWORD(PASSWORD_new)
|
||||
|
||||
for member in Config.member_dict.values():
|
||||
for script in Config.script_dict.values():
|
||||
|
||||
# 使用新管理密钥重新加密
|
||||
if member["Type"] == "Maa":
|
||||
for user in member["UserData"].values():
|
||||
if script["Type"] == "Maa":
|
||||
for user in script["UserData"].values():
|
||||
user["Config"].set(
|
||||
user["Config"].Info_Password,
|
||||
self.AUTO_encryptor(user["Password"]),
|
||||
@@ -200,10 +200,10 @@ class CryptoHandler:
|
||||
|
||||
self.get_PASSWORD(PASSWORD_new)
|
||||
|
||||
for member in Config.member_dict.values():
|
||||
for script in Config.script_dict.values():
|
||||
|
||||
if member["Type"] == "Maa":
|
||||
for user in member["UserData"].values():
|
||||
if script["Type"] == "Maa":
|
||||
for user in script["UserData"].values():
|
||||
user["Config"].set(
|
||||
user["Config"].Info_Password, self.AUTO_encryptor("数据已重置")
|
||||
)
|
||||
|
||||
@@ -246,7 +246,7 @@ class DispatchCenter(QWidget):
|
||||
userData=name,
|
||||
)
|
||||
|
||||
for name, info in Config.member_dict.items():
|
||||
for name, info in Config.script_dict.items():
|
||||
self.script_list["主调度台"].top_bar.object.addItem(
|
||||
(
|
||||
f"实例 - {info['Type']}"
|
||||
@@ -258,7 +258,7 @@ class DispatchCenter(QWidget):
|
||||
|
||||
if len(Config.queue_dict) == 1:
|
||||
self.script_list["主调度台"].top_bar.object.setCurrentIndex(0)
|
||||
elif len(Config.member_dict) == 1:
|
||||
elif len(Config.script_dict) == 1:
|
||||
self.script_list["主调度台"].top_bar.object.setCurrentIndex(
|
||||
len(Config.queue_dict)
|
||||
)
|
||||
@@ -278,7 +278,7 @@ class DispatchCenter(QWidget):
|
||||
"Sleep": "睡眠",
|
||||
"Hibernate": "休眠",
|
||||
"Shutdown": "关机",
|
||||
"ShutdownForce": "关机(强制)"
|
||||
"ShutdownForce": "关机(强制)",
|
||||
}
|
||||
self.power_combox.currentIndexChanged.disconnect()
|
||||
self.power_combox.setCurrentText(mode_book[Config.power_sign])
|
||||
@@ -317,7 +317,7 @@ class DispatchCenter(QWidget):
|
||||
)
|
||||
data_list.append(name)
|
||||
|
||||
for name, info in Config.member_dict.items():
|
||||
for name, info in Config.script_dict.items():
|
||||
if name in Config.running_list:
|
||||
continue
|
||||
text_list.append(
|
||||
@@ -365,7 +365,7 @@ class DispatchCenter(QWidget):
|
||||
TaskManager.add_task(
|
||||
"自动代理_新调度台",
|
||||
f"自定义队列 - {choice.input[0].currentData()}",
|
||||
{"Queue": {"Member_1": choice.input[0].currentData()}},
|
||||
{"Queue": {"Script_0": choice.input[0].currentData()}},
|
||||
)
|
||||
|
||||
class DispatchBox(QWidget):
|
||||
@@ -455,7 +455,7 @@ class DispatchCenter(QWidget):
|
||||
|
||||
if (
|
||||
"脚本" in self.object.currentData()
|
||||
and Config.member_dict[self.object.currentData()]["Type"]
|
||||
and Config.script_dict[self.object.currentData()]["Type"]
|
||||
== "General"
|
||||
and self.mode.currentData() == "人工排查"
|
||||
):
|
||||
@@ -484,7 +484,7 @@ class DispatchCenter(QWidget):
|
||||
TaskManager.add_task(
|
||||
f"{self.mode.currentText()}_主调度台",
|
||||
"自定义队列",
|
||||
{"Queue": {"Member_1": self.object.currentData()}},
|
||||
{"Queue": {"Script_0": self.object.currentData()}},
|
||||
)
|
||||
|
||||
class DispatchInfoCard(HeaderCardWidget):
|
||||
|
||||
@@ -40,14 +40,12 @@ from qfluentwidgets import (
|
||||
)
|
||||
from PySide6.QtGui import QIcon, QCloseEvent
|
||||
from PySide6.QtCore import QTimer
|
||||
from datetime import datetime, timedelta
|
||||
import shutil
|
||||
import darkdetect
|
||||
|
||||
from app.core import Config, logger, TaskManager, MainTimer, MainInfoBar, SoundPlayer
|
||||
from app.services import Notify, Crypto, System
|
||||
from .home import Home
|
||||
from .member_manager import MemberManager
|
||||
from .script_manager import ScriptManager
|
||||
from .plan_manager import PlanManager
|
||||
from .queue_manager import QueueManager
|
||||
from .dispatch_center import DispatchCenter
|
||||
@@ -84,7 +82,7 @@ class AUTO_MAA(MSFluentWindow):
|
||||
logger.info("正在创建各子窗口", module="主窗口")
|
||||
self.home = Home(self)
|
||||
self.plan_manager = PlanManager(self)
|
||||
self.member_manager = MemberManager(self)
|
||||
self.script_manager = ScriptManager(self)
|
||||
self.queue_manager = QueueManager(self)
|
||||
self.dispatch_center = DispatchCenter(self)
|
||||
self.history = History(self)
|
||||
@@ -98,7 +96,7 @@ class AUTO_MAA(MSFluentWindow):
|
||||
NavigationItemPosition.TOP,
|
||||
)
|
||||
self.addSubInterface(
|
||||
self.member_manager,
|
||||
self.script_manager,
|
||||
FluentIcon.ROBOT,
|
||||
"脚本管理",
|
||||
FluentIcon.ROBOT,
|
||||
@@ -190,7 +188,7 @@ class AUTO_MAA(MSFluentWindow):
|
||||
self.set_min_method()
|
||||
|
||||
# 绑定各组件信号
|
||||
Config.sub_info_changed.connect(self.member_manager.refresh_dashboard)
|
||||
Config.sub_info_changed.connect(self.script_manager.refresh_dashboard)
|
||||
Config.power_sign_changed.connect(self.dispatch_center.update_power_sign)
|
||||
TaskManager.create_gui.connect(self.dispatch_center.add_board)
|
||||
TaskManager.connect_gui.connect(self.dispatch_center.connect_main_board)
|
||||
@@ -408,16 +406,16 @@ class AUTO_MAA(MSFluentWindow):
|
||||
Config.queue_dict["调度队列_1"]["Config"].toDict(),
|
||||
)
|
||||
|
||||
for config in [_ for _ in Config.args.config if _ in Config.member_dict]:
|
||||
for config in [_ for _ in Config.args.config if _ in Config.script_dict]:
|
||||
|
||||
TaskManager.add_task(
|
||||
"自动代理_新调度台",
|
||||
"自定义队列",
|
||||
{"Queue": {"Member_1": config}},
|
||||
{"Queue": {"Script_0": config}},
|
||||
)
|
||||
|
||||
if not any(
|
||||
_ in (list(Config.member_dict.keys()) + list(Config.queue_dict.keys()))
|
||||
_ in (list(Config.script_dict.keys()) + list(Config.queue_dict.keys()))
|
||||
for _ in Config.args.config
|
||||
):
|
||||
|
||||
@@ -449,11 +447,11 @@ class AUTO_MAA(MSFluentWindow):
|
||||
Config.queue_dict["调度队列_1"]["Config"].toDict(),
|
||||
)
|
||||
|
||||
elif "脚本_1" in Config.member_dict:
|
||||
elif "脚本_1" in Config.script_dict:
|
||||
|
||||
logger.info("自动添加任务:脚本_1", module="主窗口")
|
||||
TaskManager.add_task(
|
||||
"自动代理_主调度台", "自定义队列", {"Queue": {"Member_1": "脚本_1"}}
|
||||
"自动代理_主调度台", "自定义队列", {"Queue": {"Script_0": "脚本_1"}}
|
||||
)
|
||||
|
||||
else:
|
||||
@@ -471,9 +469,9 @@ class AUTO_MAA(MSFluentWindow):
|
||||
"""切换界面时任务"""
|
||||
|
||||
if index == 1:
|
||||
self.member_manager.reload_plan_name()
|
||||
self.script_manager.reload_plan_name()
|
||||
elif index == 3:
|
||||
self.queue_manager.reload_member_name()
|
||||
self.queue_manager.reload_script_name()
|
||||
elif index == 4:
|
||||
self.dispatch_center.pivot.setCurrentItem("主调度台")
|
||||
self.dispatch_center.update_top_bar()
|
||||
|
||||
@@ -39,7 +39,7 @@ from qfluentwidgets import (
|
||||
HeaderCardWidget,
|
||||
CommandBar,
|
||||
)
|
||||
from typing import List
|
||||
from typing import List, Dict
|
||||
|
||||
from app.core import QueueConfig, Config, MainInfoBar, SoundPlayer, logger
|
||||
from .Widget import (
|
||||
@@ -251,12 +251,12 @@ class QueueManager(QWidget):
|
||||
logger.success(f"{name} 右移成功", module="队列管理")
|
||||
MainInfoBar.push_info_bar("success", "操作成功", f"右移 {name}", 3000)
|
||||
|
||||
def reload_member_name(self):
|
||||
"""刷新调度队列成员"""
|
||||
def reload_script_name(self):
|
||||
"""刷新调度队列脚本成员名称"""
|
||||
|
||||
# 获取成员列表
|
||||
member_list = [
|
||||
["禁用"] + [_ for _ in Config.member_dict.keys()],
|
||||
# 获取脚本成员列表
|
||||
script_list = [
|
||||
["禁用"] + [_ for _ in Config.script_dict.keys()],
|
||||
["未启用"]
|
||||
+ [
|
||||
(
|
||||
@@ -264,41 +264,12 @@ class QueueManager(QWidget):
|
||||
if v["Config"].get_name() == ""
|
||||
else f"{k} - {v["Config"].get_name()}"
|
||||
)
|
||||
for k, v in Config.member_dict.items()
|
||||
for k, v in Config.script_dict.items()
|
||||
],
|
||||
]
|
||||
for script in self.queue_manager.script_list:
|
||||
|
||||
script.task.card_Member_1.reLoadOptions(
|
||||
value=member_list[0], texts=member_list[1]
|
||||
)
|
||||
script.task.card_Member_2.reLoadOptions(
|
||||
value=member_list[0], texts=member_list[1]
|
||||
)
|
||||
script.task.card_Member_3.reLoadOptions(
|
||||
value=member_list[0], texts=member_list[1]
|
||||
)
|
||||
script.task.card_Member_4.reLoadOptions(
|
||||
value=member_list[0], texts=member_list[1]
|
||||
)
|
||||
script.task.card_Member_5.reLoadOptions(
|
||||
value=member_list[0], texts=member_list[1]
|
||||
)
|
||||
script.task.card_Member_6.reLoadOptions(
|
||||
value=member_list[0], texts=member_list[1]
|
||||
)
|
||||
script.task.card_Member_7.reLoadOptions(
|
||||
value=member_list[0], texts=member_list[1]
|
||||
)
|
||||
script.task.card_Member_8.reLoadOptions(
|
||||
value=member_list[0], texts=member_list[1]
|
||||
)
|
||||
script.task.card_Member_9.reLoadOptions(
|
||||
value=member_list[0], texts=member_list[1]
|
||||
)
|
||||
script.task.card_Member_10.reLoadOptions(
|
||||
value=member_list[0], texts=member_list[1]
|
||||
)
|
||||
for card in script.task.card_dict.values():
|
||||
card.reLoadOptions(value=script_list[0], texts=script_list[1])
|
||||
|
||||
class QueueSettingBox(QWidget):
|
||||
|
||||
@@ -432,11 +403,11 @@ class QueueManager(QWidget):
|
||||
parent=self,
|
||||
)
|
||||
self.card_Enable = SwitchSettingCard(
|
||||
icon=FluentIcon.HOME,
|
||||
title="状态",
|
||||
content="调度队列状态,仅启用时会执行定时任务",
|
||||
icon=FluentIcon.CHECKBOX,
|
||||
title="定时运行状态",
|
||||
content="调度队列定时运行状态,仅启用时会执行定时任务",
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queueSet_Enabled,
|
||||
configItem=self.config.queueSet_TimeEnabled,
|
||||
parent=self,
|
||||
)
|
||||
self.card_AfterAccomplish = ComboBoxSettingCard(
|
||||
@@ -449,6 +420,7 @@ class QueueManager(QWidget):
|
||||
"睡眠(win系统需禁用休眠)",
|
||||
"休眠",
|
||||
"关机",
|
||||
"关机(强制)",
|
||||
],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queueSet_AfterAccomplish,
|
||||
@@ -476,107 +448,29 @@ class QueueManager(QWidget):
|
||||
Layout_2 = QVBoxLayout(widget_2)
|
||||
Layout = QHBoxLayout()
|
||||
|
||||
self.card_Time_0 = TimeEditSettingCard(
|
||||
self.card_dict: Dict[str, TimeEditSettingCard] = {}
|
||||
|
||||
for i in range(10):
|
||||
|
||||
self.card_dict[f"Time_{i}"] = TimeEditSettingCard(
|
||||
icon=FluentIcon.STOP_WATCH,
|
||||
title="定时 1",
|
||||
title=f"定时 {i + 1}",
|
||||
content=None,
|
||||
qconfig=self.config,
|
||||
configItem_bool=self.config.time_TimeEnabled_0,
|
||||
configItem_time=self.config.time_TimeSet_0,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Time_1 = TimeEditSettingCard(
|
||||
icon=FluentIcon.STOP_WATCH,
|
||||
title="定时 2",
|
||||
content=None,
|
||||
qconfig=self.config,
|
||||
configItem_bool=self.config.time_TimeEnabled_1,
|
||||
configItem_time=self.config.time_TimeSet_1,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Time_2 = TimeEditSettingCard(
|
||||
icon=FluentIcon.STOP_WATCH,
|
||||
title="定时 3",
|
||||
content=None,
|
||||
qconfig=self.config,
|
||||
configItem_bool=self.config.time_TimeEnabled_2,
|
||||
configItem_time=self.config.time_TimeSet_2,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Time_3 = TimeEditSettingCard(
|
||||
icon=FluentIcon.STOP_WATCH,
|
||||
title="定时 4",
|
||||
content=None,
|
||||
qconfig=self.config,
|
||||
configItem_bool=self.config.time_TimeEnabled_3,
|
||||
configItem_time=self.config.time_TimeSet_3,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Time_4 = TimeEditSettingCard(
|
||||
icon=FluentIcon.STOP_WATCH,
|
||||
title="定时 5",
|
||||
content=None,
|
||||
qconfig=self.config,
|
||||
configItem_bool=self.config.time_TimeEnabled_4,
|
||||
configItem_time=self.config.time_TimeSet_4,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Time_5 = TimeEditSettingCard(
|
||||
icon=FluentIcon.STOP_WATCH,
|
||||
title="定时 6",
|
||||
content=None,
|
||||
qconfig=self.config,
|
||||
configItem_bool=self.config.time_TimeEnabled_5,
|
||||
configItem_time=self.config.time_TimeSet_5,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Time_6 = TimeEditSettingCard(
|
||||
icon=FluentIcon.STOP_WATCH,
|
||||
title="定时 7",
|
||||
content=None,
|
||||
qconfig=self.config,
|
||||
configItem_bool=self.config.time_TimeEnabled_6,
|
||||
configItem_time=self.config.time_TimeSet_6,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Time_7 = TimeEditSettingCard(
|
||||
icon=FluentIcon.STOP_WATCH,
|
||||
title="定时 8",
|
||||
content=None,
|
||||
qconfig=self.config,
|
||||
configItem_bool=self.config.time_TimeEnabled_7,
|
||||
configItem_time=self.config.time_TimeSet_7,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Time_8 = TimeEditSettingCard(
|
||||
icon=FluentIcon.STOP_WATCH,
|
||||
title="定时 9",
|
||||
content=None,
|
||||
qconfig=self.config,
|
||||
configItem_bool=self.config.time_TimeEnabled_8,
|
||||
configItem_time=self.config.time_TimeSet_8,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Time_9 = TimeEditSettingCard(
|
||||
icon=FluentIcon.STOP_WATCH,
|
||||
title="定时 10",
|
||||
content=None,
|
||||
qconfig=self.config,
|
||||
configItem_bool=self.config.time_TimeEnabled_9,
|
||||
configItem_time=self.config.time_TimeSet_9,
|
||||
configItem_bool=self.config.config_item_dict["Time"][
|
||||
f"Enabled_{i}"
|
||||
],
|
||||
configItem_time=self.config.config_item_dict["Time"][
|
||||
f"Set_{i}"
|
||||
],
|
||||
parent=self,
|
||||
)
|
||||
|
||||
Layout_1.addWidget(self.card_Time_0)
|
||||
Layout_1.addWidget(self.card_Time_1)
|
||||
Layout_1.addWidget(self.card_Time_2)
|
||||
Layout_1.addWidget(self.card_Time_3)
|
||||
Layout_1.addWidget(self.card_Time_4)
|
||||
Layout_2.addWidget(self.card_Time_5)
|
||||
Layout_2.addWidget(self.card_Time_6)
|
||||
Layout_2.addWidget(self.card_Time_7)
|
||||
Layout_2.addWidget(self.card_Time_8)
|
||||
Layout_2.addWidget(self.card_Time_9)
|
||||
if i < 5:
|
||||
Layout_1.addWidget(self.card_dict[f"Time_{i}"])
|
||||
else:
|
||||
Layout_2.addWidget(self.card_dict[f"Time_{i}"])
|
||||
|
||||
Layout.addWidget(widget_1)
|
||||
Layout.addWidget(widget_2)
|
||||
|
||||
@@ -590,8 +484,8 @@ class QueueManager(QWidget):
|
||||
self.setTitle("任务队列")
|
||||
self.config = config
|
||||
|
||||
member_list = [
|
||||
["禁用"] + [_ for _ in Config.member_dict.keys()],
|
||||
script_list = [
|
||||
["禁用"] + [_ for _ in Config.script_dict.keys()],
|
||||
["未启用"]
|
||||
+ [
|
||||
(
|
||||
@@ -599,121 +493,32 @@ class QueueManager(QWidget):
|
||||
if v["Config"].get_name() == ""
|
||||
else f"{k} - {v["Config"].get_name()}"
|
||||
)
|
||||
for k, v in Config.member_dict.items()
|
||||
for k, v in Config.script_dict.items()
|
||||
],
|
||||
]
|
||||
|
||||
self.card_Member_1 = NoOptionComboBoxSettingCard(
|
||||
icon=FluentIcon.APPLICATION,
|
||||
title="任务实例 1",
|
||||
content="第一个调起的脚本任务实例",
|
||||
value=member_list[0],
|
||||
texts=member_list[1],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queue_Member_1,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Member_2 = NoOptionComboBoxSettingCard(
|
||||
icon=FluentIcon.APPLICATION,
|
||||
title="任务实例 2",
|
||||
content="第二个调起的脚本任务实例",
|
||||
value=member_list[0],
|
||||
texts=member_list[1],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queue_Member_2,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Member_3 = NoOptionComboBoxSettingCard(
|
||||
icon=FluentIcon.APPLICATION,
|
||||
title="任务实例 3",
|
||||
content="第三个调起的脚本任务实例",
|
||||
value=member_list[0],
|
||||
texts=member_list[1],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queue_Member_3,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Member_4 = NoOptionComboBoxSettingCard(
|
||||
icon=FluentIcon.APPLICATION,
|
||||
title="任务实例 4",
|
||||
content="第四个调起的脚本任务实例",
|
||||
value=member_list[0],
|
||||
texts=member_list[1],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queue_Member_4,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Member_5 = NoOptionComboBoxSettingCard(
|
||||
icon=FluentIcon.APPLICATION,
|
||||
title="任务实例 5",
|
||||
content="第五个调起的脚本任务实例",
|
||||
value=member_list[0],
|
||||
texts=member_list[1],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queue_Member_5,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Member_6 = NoOptionComboBoxSettingCard(
|
||||
icon=FluentIcon.APPLICATION,
|
||||
title="任务实例 6",
|
||||
content="第六个调起的脚本任务实例",
|
||||
value=member_list[0],
|
||||
texts=member_list[1],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queue_Member_6,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Member_7 = NoOptionComboBoxSettingCard(
|
||||
icon=FluentIcon.APPLICATION,
|
||||
title="任务实例 7",
|
||||
content="第七个调起的脚本任务实例",
|
||||
value=member_list[0],
|
||||
texts=member_list[1],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queue_Member_7,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Member_8 = NoOptionComboBoxSettingCard(
|
||||
icon=FluentIcon.APPLICATION,
|
||||
title="任务实例 8",
|
||||
content="第八个调起的脚本任务实例",
|
||||
value=member_list[0],
|
||||
texts=member_list[1],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queue_Member_8,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Member_9 = NoOptionComboBoxSettingCard(
|
||||
icon=FluentIcon.APPLICATION,
|
||||
title="任务实例 9",
|
||||
content="第九个调起的脚本任务实例",
|
||||
value=member_list[0],
|
||||
texts=member_list[1],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queue_Member_9,
|
||||
parent=self,
|
||||
)
|
||||
self.card_Member_10 = NoOptionComboBoxSettingCard(
|
||||
icon=FluentIcon.APPLICATION,
|
||||
title="任务实例 10",
|
||||
content="第十个调起的脚本任务实例",
|
||||
value=member_list[0],
|
||||
texts=member_list[1],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.queue_Member_10,
|
||||
parent=self,
|
||||
)
|
||||
self.card_dict: Dict[
|
||||
str,
|
||||
NoOptionComboBoxSettingCard,
|
||||
] = {}
|
||||
|
||||
Layout = QVBoxLayout()
|
||||
Layout.addWidget(self.card_Member_1)
|
||||
Layout.addWidget(self.card_Member_2)
|
||||
Layout.addWidget(self.card_Member_3)
|
||||
Layout.addWidget(self.card_Member_4)
|
||||
Layout.addWidget(self.card_Member_5)
|
||||
Layout.addWidget(self.card_Member_6)
|
||||
Layout.addWidget(self.card_Member_7)
|
||||
Layout.addWidget(self.card_Member_8)
|
||||
Layout.addWidget(self.card_Member_9)
|
||||
Layout.addWidget(self.card_Member_10)
|
||||
|
||||
for i in range(10):
|
||||
|
||||
self.card_dict[f"Script_{i}"] = NoOptionComboBoxSettingCard(
|
||||
icon=FluentIcon.APPLICATION,
|
||||
title=f"任务实例 {i + 1}",
|
||||
content=f"第{i + 1}个调起的脚本任务实例",
|
||||
value=script_list[0],
|
||||
texts=script_list[1],
|
||||
qconfig=self.config,
|
||||
configItem=self.config.config_item_dict["Queue"][
|
||||
f"Script_{i}"
|
||||
],
|
||||
parent=self,
|
||||
)
|
||||
|
||||
Layout.addWidget(self.card_dict[f"Script_{i}"])
|
||||
|
||||
self.viewLayout.addLayout(Layout)
|
||||
|
||||
@@ -99,7 +99,7 @@ from .Widget import (
|
||||
)
|
||||
|
||||
|
||||
class MemberManager(QWidget):
|
||||
class ScriptManager(QWidget):
|
||||
"""脚本管理父界面"""
|
||||
|
||||
def __init__(self, parent=None):
|
||||
@@ -110,22 +110,22 @@ class MemberManager(QWidget):
|
||||
layout = QVBoxLayout(self)
|
||||
|
||||
self.tools = CommandBar()
|
||||
self.member_manager = self.MemberSettingBox(self)
|
||||
self.script_manager = self.ScriptSettingBox(self)
|
||||
|
||||
# 逐个添加动作
|
||||
self.tools.addActions(
|
||||
[
|
||||
Action(FluentIcon.ADD_TO, "新建脚本实例", triggered=self.add_member),
|
||||
Action(FluentIcon.ADD_TO, "新建脚本实例", triggered=self.add_script),
|
||||
Action(
|
||||
FluentIcon.REMOVE_FROM, "删除脚本实例", triggered=self.del_member
|
||||
FluentIcon.REMOVE_FROM, "删除脚本实例", triggered=self.del_script
|
||||
),
|
||||
]
|
||||
)
|
||||
self.tools.addSeparator()
|
||||
self.tools.addActions(
|
||||
[
|
||||
Action(FluentIcon.LEFT_ARROW, "向左移动", triggered=self.left_member),
|
||||
Action(FluentIcon.RIGHT_ARROW, "向右移动", triggered=self.right_member),
|
||||
Action(FluentIcon.LEFT_ARROW, "向左移动", triggered=self.left_script),
|
||||
Action(FluentIcon.RIGHT_ARROW, "向右移动", triggered=self.right_script),
|
||||
]
|
||||
)
|
||||
self.tools.addSeparator()
|
||||
@@ -133,7 +133,7 @@ class MemberManager(QWidget):
|
||||
Action(
|
||||
FluentIcon.DOWNLOAD,
|
||||
"脚本下载器",
|
||||
triggered=self.member_downloader,
|
||||
triggered=self.script_downloader,
|
||||
)
|
||||
)
|
||||
self.tools.addSeparator()
|
||||
@@ -146,9 +146,9 @@ class MemberManager(QWidget):
|
||||
self.tools.addAction(self.key)
|
||||
|
||||
layout.addWidget(self.tools)
|
||||
layout.addWidget(self.member_manager)
|
||||
layout.addWidget(self.script_manager)
|
||||
|
||||
def add_member(self):
|
||||
def add_script(self):
|
||||
"""添加一个脚本实例"""
|
||||
|
||||
choice = ComboBoxMessageBox(
|
||||
@@ -165,7 +165,7 @@ class MemberManager(QWidget):
|
||||
|
||||
if choice.input[0].currentText() == "MAA":
|
||||
|
||||
index = len(Config.member_dict) + 1
|
||||
index = len(Config.script_dict) + 1
|
||||
|
||||
# 初始化 MAA 配置
|
||||
maa_config = MaaConfig()
|
||||
@@ -178,7 +178,7 @@ class MemberManager(QWidget):
|
||||
parents=True, exist_ok=True
|
||||
)
|
||||
|
||||
Config.member_dict[f"脚本_{index}"] = {
|
||||
Config.script_dict[f"脚本_{index}"] = {
|
||||
"Type": "Maa",
|
||||
"Path": Config.app_path / f"config/MaaConfig/脚本_{index}",
|
||||
"Config": maa_config,
|
||||
@@ -186,10 +186,10 @@ class MemberManager(QWidget):
|
||||
}
|
||||
|
||||
# 添加 MAA 实例设置界面
|
||||
self.member_manager.add_SettingBox(
|
||||
index, self.MemberSettingBox.MaaSettingBox
|
||||
self.script_manager.add_SettingBox(
|
||||
index, self.ScriptSettingBox.MaaSettingBox
|
||||
)
|
||||
self.member_manager.switch_SettingBox(index)
|
||||
self.script_manager.switch_SettingBox(index)
|
||||
|
||||
logger.success(f"MAA实例 脚本_{index} 添加成功", module="脚本管理")
|
||||
MainInfoBar.push_info_bar(
|
||||
@@ -199,7 +199,7 @@ class MemberManager(QWidget):
|
||||
|
||||
elif choice.input[0].currentText() == "通用":
|
||||
|
||||
index = len(Config.member_dict) + 1
|
||||
index = len(Config.script_dict) + 1
|
||||
|
||||
# 初始化通用配置
|
||||
general_config = GeneralConfig()
|
||||
@@ -212,7 +212,7 @@ class MemberManager(QWidget):
|
||||
parents=True, exist_ok=True
|
||||
)
|
||||
|
||||
Config.member_dict[f"脚本_{index}"] = {
|
||||
Config.script_dict[f"脚本_{index}"] = {
|
||||
"Type": "General",
|
||||
"Path": Config.app_path / f"config/GeneralConfig/脚本_{index}",
|
||||
"Config": general_config,
|
||||
@@ -220,10 +220,10 @@ class MemberManager(QWidget):
|
||||
}
|
||||
|
||||
# 添加通用实例设置界面
|
||||
self.member_manager.add_SettingBox(
|
||||
index, self.MemberSettingBox.GeneralSettingBox
|
||||
self.script_manager.add_SettingBox(
|
||||
index, self.ScriptSettingBox.GeneralSettingBox
|
||||
)
|
||||
self.member_manager.switch_SettingBox(index)
|
||||
self.script_manager.switch_SettingBox(index)
|
||||
|
||||
logger.success(f"通用实例 脚本_{index} 添加成功", module="脚本管理")
|
||||
MainInfoBar.push_info_bar(
|
||||
@@ -231,10 +231,10 @@ class MemberManager(QWidget):
|
||||
)
|
||||
SoundPlayer.play("添加脚本实例")
|
||||
|
||||
def del_member(self):
|
||||
def del_script(self):
|
||||
"""删除一个脚本实例"""
|
||||
|
||||
name = self.member_manager.pivot.currentRouteKey()
|
||||
name = self.script_manager.pivot.currentRouteKey()
|
||||
|
||||
if name is None:
|
||||
logger.warning("删除脚本实例时未选择脚本实例", module="脚本管理")
|
||||
@@ -255,19 +255,19 @@ class MemberManager(QWidget):
|
||||
|
||||
logger.info(f"正在删除脚本实例: {name}", module="脚本管理")
|
||||
|
||||
self.member_manager.clear_SettingBox()
|
||||
self.script_manager.clear_SettingBox()
|
||||
|
||||
# 删除脚本实例的配置文件并同步修改相应配置项
|
||||
shutil.rmtree(Config.member_dict[name]["Path"])
|
||||
shutil.rmtree(Config.script_dict[name]["Path"])
|
||||
Config.change_queue(name, "禁用")
|
||||
for i in range(int(name[3:]) + 1, len(Config.member_dict) + 1):
|
||||
if Config.member_dict[f"脚本_{i}"]["Path"].exists():
|
||||
Config.member_dict[f"脚本_{i}"]["Path"].rename(
|
||||
Config.member_dict[f"脚本_{i}"]["Path"].with_name(f"脚本_{i-1}")
|
||||
for i in range(int(name[3:]) + 1, len(Config.script_dict) + 1):
|
||||
if Config.script_dict[f"脚本_{i}"]["Path"].exists():
|
||||
Config.script_dict[f"脚本_{i}"]["Path"].rename(
|
||||
Config.script_dict[f"脚本_{i}"]["Path"].with_name(f"脚本_{i-1}")
|
||||
)
|
||||
Config.change_queue(f"脚本_{i}", f"脚本_{i-1}")
|
||||
|
||||
self.member_manager.show_SettingBox(max(int(name[3:]) - 1, 1))
|
||||
self.script_manager.show_SettingBox(max(int(name[3:]) - 1, 1))
|
||||
|
||||
logger.success(f"脚本实例 {name} 删除成功", module="脚本管理")
|
||||
MainInfoBar.push_info_bar(
|
||||
@@ -275,10 +275,10 @@ class MemberManager(QWidget):
|
||||
)
|
||||
SoundPlayer.play("删除脚本实例")
|
||||
|
||||
def left_member(self):
|
||||
def left_script(self):
|
||||
"""向左移动脚本实例"""
|
||||
|
||||
name = self.member_manager.pivot.currentRouteKey()
|
||||
name = self.script_manager.pivot.currentRouteKey()
|
||||
|
||||
if name is None:
|
||||
logger.warning("向左移动脚本实例时未选择脚本实例", module="脚本管理")
|
||||
@@ -305,31 +305,31 @@ class MemberManager(QWidget):
|
||||
|
||||
logger.info(f"正在向左移动脚本实例: {name}", module="脚本管理")
|
||||
|
||||
self.member_manager.clear_SettingBox()
|
||||
self.script_manager.clear_SettingBox()
|
||||
|
||||
# 移动脚本实例配置文件并同步修改配置项
|
||||
Config.member_dict[name]["Path"].rename(
|
||||
Config.member_dict[name]["Path"].with_name("脚本_0")
|
||||
Config.script_dict[name]["Path"].rename(
|
||||
Config.script_dict[name]["Path"].with_name("脚本_0")
|
||||
)
|
||||
Config.change_queue(name, "脚本_0")
|
||||
Config.member_dict[f"脚本_{index-1}"]["Path"].rename(
|
||||
Config.member_dict[f"脚本_{index-1}"]["Path"].with_name(name)
|
||||
Config.script_dict[f"脚本_{index-1}"]["Path"].rename(
|
||||
Config.script_dict[f"脚本_{index-1}"]["Path"].with_name(name)
|
||||
)
|
||||
Config.change_queue(f"脚本_{index-1}", name)
|
||||
Config.member_dict[name]["Path"].with_name("脚本_0").rename(
|
||||
Config.member_dict[name]["Path"].with_name(f"脚本_{index-1}")
|
||||
Config.script_dict[name]["Path"].with_name("脚本_0").rename(
|
||||
Config.script_dict[name]["Path"].with_name(f"脚本_{index-1}")
|
||||
)
|
||||
Config.change_queue("脚本_0", f"脚本_{index-1}")
|
||||
|
||||
self.member_manager.show_SettingBox(index - 1)
|
||||
self.script_manager.show_SettingBox(index - 1)
|
||||
|
||||
logger.success(f"脚本实例 {name} 左移成功", module="脚本管理")
|
||||
MainInfoBar.push_info_bar("success", "操作成功", f"左移脚本实例 {name}", 3000)
|
||||
|
||||
def right_member(self):
|
||||
def right_script(self):
|
||||
"""向右移动脚本实例"""
|
||||
|
||||
name = self.member_manager.pivot.currentRouteKey()
|
||||
name = self.script_manager.pivot.currentRouteKey()
|
||||
|
||||
if name is None:
|
||||
logger.warning("向右移动脚本实例时未选择脚本实例", module="脚本管理")
|
||||
@@ -340,7 +340,7 @@ class MemberManager(QWidget):
|
||||
|
||||
index = int(name[3:])
|
||||
|
||||
if index == len(Config.member_dict):
|
||||
if index == len(Config.script_dict):
|
||||
logger.warning("向右移动脚本实例时已到达最右端", module="脚本管理")
|
||||
MainInfoBar.push_info_bar(
|
||||
"warning", "已经是最后一个脚本实例", "无法向右移动", 5000
|
||||
@@ -356,28 +356,28 @@ class MemberManager(QWidget):
|
||||
|
||||
logger.info(f"正在向右移动脚本实例: {name}", module="脚本管理")
|
||||
|
||||
self.member_manager.clear_SettingBox()
|
||||
self.script_manager.clear_SettingBox()
|
||||
|
||||
# 移动脚本实例配置文件并同步修改配置项
|
||||
Config.member_dict[name]["Path"].rename(
|
||||
Config.member_dict[name]["Path"].with_name("脚本_0")
|
||||
Config.script_dict[name]["Path"].rename(
|
||||
Config.script_dict[name]["Path"].with_name("脚本_0")
|
||||
)
|
||||
Config.change_queue(name, "脚本_0")
|
||||
Config.member_dict[f"脚本_{index+1}"]["Path"].rename(
|
||||
Config.member_dict[f"脚本_{index+1}"]["Path"].with_name(name)
|
||||
Config.script_dict[f"脚本_{index+1}"]["Path"].rename(
|
||||
Config.script_dict[f"脚本_{index+1}"]["Path"].with_name(name)
|
||||
)
|
||||
Config.change_queue(f"脚本_{index+1}", name)
|
||||
Config.member_dict[name]["Path"].with_name("脚本_0").rename(
|
||||
Config.member_dict[name]["Path"].with_name(f"脚本_{index+1}")
|
||||
Config.script_dict[name]["Path"].with_name("脚本_0").rename(
|
||||
Config.script_dict[name]["Path"].with_name(f"脚本_{index+1}")
|
||||
)
|
||||
Config.change_queue("脚本_0", f"脚本_{index+1}")
|
||||
|
||||
self.member_manager.show_SettingBox(index + 1)
|
||||
self.script_manager.show_SettingBox(index + 1)
|
||||
|
||||
logger.success(f"脚本实例 {name} 右移成功", module="脚本管理")
|
||||
MainInfoBar.push_info_bar("success", "操作成功", f"右移脚本实例 {name}", 3000)
|
||||
|
||||
def member_downloader(self):
|
||||
def script_downloader(self):
|
||||
"""脚本下载器"""
|
||||
|
||||
if not Config.get(Config.update_MirrorChyanCDK):
|
||||
@@ -567,11 +567,11 @@ class MemberManager(QWidget):
|
||||
]
|
||||
|
||||
# 刷新所有脚本实例的计划表名称
|
||||
for member in self.member_manager.script_list:
|
||||
for script in self.script_manager.script_list:
|
||||
|
||||
if isinstance(member, MemberManager.MemberSettingBox.MaaSettingBox):
|
||||
if isinstance(script, ScriptManager.ScriptSettingBox.MaaSettingBox):
|
||||
|
||||
for user_setting in member.user_setting.user_manager.script_list:
|
||||
for user_setting in script.user_setting.user_manager.script_list:
|
||||
|
||||
user_setting.card_StageMode.comboBox.currentIndexChanged.disconnect(
|
||||
user_setting.switch_stage_mode
|
||||
@@ -588,25 +588,25 @@ class MemberManager(QWidget):
|
||||
def refresh_dashboard(self):
|
||||
"""刷新所有脚本实例的仪表盘"""
|
||||
|
||||
for member in self.member_manager.script_list:
|
||||
for script in self.script_manager.script_list:
|
||||
|
||||
if isinstance(member, MemberManager.MemberSettingBox.MaaSettingBox):
|
||||
member.user_setting.user_manager.user_dashboard.load_info()
|
||||
elif isinstance(member, MemberManager.MemberSettingBox.GeneralSettingBox):
|
||||
member.branch_manager.sub_manager.sub_dashboard.load_info()
|
||||
if isinstance(script, ScriptManager.ScriptSettingBox.MaaSettingBox):
|
||||
script.user_setting.user_manager.user_dashboard.load_info()
|
||||
elif isinstance(script, ScriptManager.ScriptSettingBox.GeneralSettingBox):
|
||||
script.branch_manager.sub_manager.sub_dashboard.load_info()
|
||||
|
||||
def refresh_plan_info(self):
|
||||
"""刷新所有计划信息"""
|
||||
|
||||
for member in self.member_manager.script_list:
|
||||
for script in self.script_manager.script_list:
|
||||
|
||||
if isinstance(member, MemberManager.MemberSettingBox.MaaSettingBox):
|
||||
if isinstance(script, ScriptManager.ScriptSettingBox.MaaSettingBox):
|
||||
|
||||
member.user_setting.user_manager.user_dashboard.load_info()
|
||||
for user_setting in member.user_setting.user_manager.script_list:
|
||||
script.user_setting.user_manager.user_dashboard.load_info()
|
||||
for user_setting in script.user_setting.user_manager.script_list:
|
||||
user_setting.switch_stage_mode()
|
||||
|
||||
class MemberSettingBox(QWidget):
|
||||
class ScriptSettingBox(QWidget):
|
||||
"""脚本管理子页面组"""
|
||||
|
||||
def __init__(self, parent=None):
|
||||
@@ -623,8 +623,8 @@ class MemberManager(QWidget):
|
||||
|
||||
self.script_list: List[
|
||||
Union[
|
||||
MemberManager.MemberSettingBox.MaaSettingBox,
|
||||
MemberManager.MemberSettingBox.GeneralSettingBox,
|
||||
ScriptManager.ScriptSettingBox.MaaSettingBox,
|
||||
ScriptManager.ScriptSettingBox.GeneralSettingBox,
|
||||
]
|
||||
] = []
|
||||
|
||||
@@ -649,9 +649,9 @@ class MemberManager(QWidget):
|
||||
:type index: int
|
||||
"""
|
||||
|
||||
Config.search_member()
|
||||
Config.search_script()
|
||||
|
||||
for name, info in Config.member_dict.items():
|
||||
for name, info in Config.script_dict.items():
|
||||
if info["Type"] == "Maa":
|
||||
self.add_SettingBox(int(name[3:]), self.MaaSettingBox)
|
||||
elif info["Type"] == "General":
|
||||
@@ -669,10 +669,10 @@ class MemberManager(QWidget):
|
||||
:type if_chang_pivot: bool
|
||||
"""
|
||||
|
||||
if len(Config.member_dict) == 0:
|
||||
if len(Config.script_dict) == 0:
|
||||
return None
|
||||
|
||||
if index > len(Config.member_dict):
|
||||
if index > len(Config.script_dict):
|
||||
return None
|
||||
|
||||
if if_chang_pivot:
|
||||
@@ -681,14 +681,14 @@ class MemberManager(QWidget):
|
||||
|
||||
if isinstance(
|
||||
self.script_list[index - 1],
|
||||
MemberManager.MemberSettingBox.MaaSettingBox,
|
||||
ScriptManager.ScriptSettingBox.MaaSettingBox,
|
||||
):
|
||||
self.script_list[index - 1].user_setting.user_manager.switch_SettingBox(
|
||||
"用户仪表盘"
|
||||
)
|
||||
elif isinstance(
|
||||
self.script_list[index - 1],
|
||||
MemberManager.MemberSettingBox.GeneralSettingBox,
|
||||
ScriptManager.ScriptSettingBox.GeneralSettingBox,
|
||||
):
|
||||
self.script_list[
|
||||
index - 1
|
||||
@@ -731,7 +731,7 @@ class MemberManager(QWidget):
|
||||
super().__init__(parent)
|
||||
|
||||
self.setObjectName(f"脚本_{uid}")
|
||||
self.config = Config.member_dict[f"脚本_{uid}"]["Config"]
|
||||
self.config = Config.script_dict[f"脚本_{uid}"]["Config"]
|
||||
|
||||
self.app_setting = self.AppSettingCard(f"脚本_{uid}", self.config, self)
|
||||
self.user_setting = self.UserManager(f"脚本_{uid}", self)
|
||||
@@ -834,12 +834,12 @@ class MemberManager(QWidget):
|
||||
)
|
||||
return None
|
||||
|
||||
(Config.member_dict[self.name]["Path"] / "Default").mkdir(
|
||||
(Config.script_dict[self.name]["Path"] / "Default").mkdir(
|
||||
parents=True, exist_ok=True
|
||||
)
|
||||
shutil.copy(
|
||||
Path(folder) / "config/gui.json",
|
||||
Config.member_dict[self.name]["Path"] / "Default/gui.json",
|
||||
Config.script_dict[self.name]["Path"] / "Default/gui.json",
|
||||
)
|
||||
self.config.set(self.config.MaaSet_Path, folder)
|
||||
|
||||
@@ -986,21 +986,21 @@ class MemberManager(QWidget):
|
||||
def add_user(self):
|
||||
"""添加一个用户"""
|
||||
|
||||
index = len(Config.member_dict[self.name]["UserData"]) + 1
|
||||
index = len(Config.script_dict[self.name]["UserData"]) + 1
|
||||
|
||||
logger.info(f"正在添加 {self.name} 用户_{index}", module="脚本管理")
|
||||
|
||||
# 初始化用户配置信息
|
||||
user_config = MaaUserConfig()
|
||||
user_config.load(
|
||||
Config.member_dict[self.name]["Path"]
|
||||
Config.script_dict[self.name]["Path"]
|
||||
/ f"UserData/用户_{index}/config.json",
|
||||
user_config,
|
||||
)
|
||||
user_config.save()
|
||||
|
||||
Config.member_dict[self.name]["UserData"][f"用户_{index}"] = {
|
||||
"Path": Config.member_dict[self.name]["Path"]
|
||||
Config.script_dict[self.name]["UserData"][f"用户_{index}"] = {
|
||||
"Path": Config.script_dict[self.name]["Path"]
|
||||
/ f"UserData/用户_{index}",
|
||||
"Config": user_config,
|
||||
}
|
||||
@@ -1053,19 +1053,19 @@ class MemberManager(QWidget):
|
||||
|
||||
# 删除用户配置文件并同步修改相应配置项
|
||||
shutil.rmtree(
|
||||
Config.member_dict[self.name]["UserData"][name]["Path"]
|
||||
Config.script_dict[self.name]["UserData"][name]["Path"]
|
||||
)
|
||||
for i in range(
|
||||
int(name[3:]) + 1,
|
||||
len(Config.member_dict[self.name]["UserData"]) + 1,
|
||||
len(Config.script_dict[self.name]["UserData"]) + 1,
|
||||
):
|
||||
if Config.member_dict[self.name]["UserData"][f"用户_{i}"][
|
||||
if Config.script_dict[self.name]["UserData"][f"用户_{i}"][
|
||||
"Path"
|
||||
].exists():
|
||||
Config.member_dict[self.name]["UserData"][f"用户_{i}"][
|
||||
Config.script_dict[self.name]["UserData"][f"用户_{i}"][
|
||||
"Path"
|
||||
].rename(
|
||||
Config.member_dict[self.name]["UserData"][
|
||||
Config.script_dict[self.name]["UserData"][
|
||||
f"用户_{i}"
|
||||
]["Path"].with_name(f"用户_{i-1}")
|
||||
)
|
||||
@@ -1121,18 +1121,18 @@ class MemberManager(QWidget):
|
||||
self.user_manager.clear_SettingBox()
|
||||
|
||||
# 移动用户配置文件并同步修改配置项
|
||||
Config.member_dict[self.name]["UserData"][name]["Path"].rename(
|
||||
Config.member_dict[self.name]["UserData"][name][
|
||||
Config.script_dict[self.name]["UserData"][name]["Path"].rename(
|
||||
Config.script_dict[self.name]["UserData"][name][
|
||||
"Path"
|
||||
].with_name("用户_0")
|
||||
)
|
||||
Config.member_dict[self.name]["UserData"][f"用户_{index-1}"][
|
||||
Config.script_dict[self.name]["UserData"][f"用户_{index-1}"][
|
||||
"Path"
|
||||
].rename(Config.member_dict[self.name]["UserData"][name]["Path"])
|
||||
Config.member_dict[self.name]["UserData"][name]["Path"].with_name(
|
||||
].rename(Config.script_dict[self.name]["UserData"][name]["Path"])
|
||||
Config.script_dict[self.name]["UserData"][name]["Path"].with_name(
|
||||
"用户_0"
|
||||
).rename(
|
||||
Config.member_dict[self.name]["UserData"][f"用户_{index-1}"][
|
||||
Config.script_dict[self.name]["UserData"][f"用户_{index-1}"][
|
||||
"Path"
|
||||
]
|
||||
)
|
||||
@@ -1164,7 +1164,7 @@ class MemberManager(QWidget):
|
||||
|
||||
index = int(name[3:])
|
||||
|
||||
if index == len(Config.member_dict[self.name]["UserData"]):
|
||||
if index == len(Config.script_dict[self.name]["UserData"]):
|
||||
logger.warning("向后移动用户时已到达最右端", module="脚本管理")
|
||||
MainInfoBar.push_info_bar(
|
||||
"warning", "已经是最后一个用户", "无法向后移动", 5000
|
||||
@@ -1182,18 +1182,18 @@ class MemberManager(QWidget):
|
||||
|
||||
self.user_manager.clear_SettingBox()
|
||||
|
||||
Config.member_dict[self.name]["UserData"][name]["Path"].rename(
|
||||
Config.member_dict[self.name]["UserData"][name][
|
||||
Config.script_dict[self.name]["UserData"][name]["Path"].rename(
|
||||
Config.script_dict[self.name]["UserData"][name][
|
||||
"Path"
|
||||
].with_name("用户_0")
|
||||
)
|
||||
Config.member_dict[self.name]["UserData"][f"用户_{index+1}"][
|
||||
Config.script_dict[self.name]["UserData"][f"用户_{index+1}"][
|
||||
"Path"
|
||||
].rename(Config.member_dict[self.name]["UserData"][name]["Path"])
|
||||
Config.member_dict[self.name]["UserData"][name]["Path"].with_name(
|
||||
].rename(Config.script_dict[self.name]["UserData"][name]["Path"])
|
||||
Config.script_dict[self.name]["UserData"][name]["Path"].with_name(
|
||||
"用户_0"
|
||||
).rename(
|
||||
Config.member_dict[self.name]["UserData"][f"用户_{index+1}"][
|
||||
Config.script_dict[self.name]["UserData"][f"用户_{index+1}"][
|
||||
"Path"
|
||||
]
|
||||
)
|
||||
@@ -1224,7 +1224,7 @@ class MemberManager(QWidget):
|
||||
)
|
||||
|
||||
self.script_list: List[
|
||||
MemberManager.MemberSettingBox.MaaSettingBox.UserManager.UserSettingBox.UserMemberSettingBox
|
||||
ScriptManager.ScriptSettingBox.MaaSettingBox.UserManager.UserSettingBox.UserMemberSettingBox
|
||||
] = []
|
||||
|
||||
self.user_dashboard = self.UserDashboard(self.name, self)
|
||||
@@ -1255,7 +1255,7 @@ class MemberManager(QWidget):
|
||||
|
||||
Config.search_maa_user(self.name)
|
||||
|
||||
for name in Config.member_dict[self.name]["UserData"].keys():
|
||||
for name in Config.script_dict[self.name]["UserData"].keys():
|
||||
self.add_userSettingBox(name[3:])
|
||||
|
||||
self.switch_SettingBox(index)
|
||||
@@ -1272,11 +1272,11 @@ class MemberManager(QWidget):
|
||||
:type if_change_pivot: bool
|
||||
"""
|
||||
|
||||
if len(Config.member_dict[self.name]["UserData"]) == 0:
|
||||
if len(Config.script_dict[self.name]["UserData"]) == 0:
|
||||
index = "用户仪表盘"
|
||||
|
||||
if index != "用户仪表盘" and int(index[3:]) > len(
|
||||
Config.member_dict[self.name]["UserData"]
|
||||
Config.script_dict[self.name]["UserData"]
|
||||
):
|
||||
return None
|
||||
|
||||
@@ -1382,7 +1382,7 @@ class MemberManager(QWidget):
|
||||
module="脚本管理",
|
||||
)
|
||||
|
||||
self.user_data = Config.member_dict[self.name]["UserData"]
|
||||
self.user_data = Config.script_dict[self.name]["UserData"]
|
||||
|
||||
self.dashboard.setRowCount(len(self.user_data))
|
||||
|
||||
@@ -1554,10 +1554,10 @@ class MemberManager(QWidget):
|
||||
self.setObjectName(f"用户_{uid}")
|
||||
self.setTitle(f"用户 {uid}")
|
||||
self.name = name
|
||||
self.config = Config.member_dict[self.name]["UserData"][
|
||||
self.config = Config.script_dict[self.name]["UserData"][
|
||||
f"用户_{uid}"
|
||||
]["Config"]
|
||||
self.user_path = Config.member_dict[self.name]["UserData"][
|
||||
self.user_path = Config.script_dict[self.name]["UserData"][
|
||||
f"用户_{uid}"
|
||||
]["Path"]
|
||||
|
||||
@@ -2350,7 +2350,7 @@ class MemberManager(QWidget):
|
||||
super().__init__(parent)
|
||||
|
||||
self.setObjectName(f"脚本_{uid}")
|
||||
self.config = Config.member_dict[f"脚本_{uid}"]["Config"]
|
||||
self.config = Config.script_dict[f"脚本_{uid}"]["Config"]
|
||||
|
||||
self.app_setting = self.AppSettingCard(f"脚本_{uid}", self.config, self)
|
||||
self.branch_manager = self.BranchManager(f"脚本_{uid}", self)
|
||||
@@ -2804,10 +2804,10 @@ class MemberManager(QWidget):
|
||||
|
||||
shutil.copy(
|
||||
file_path,
|
||||
Config.member_dict[self.name]["Path"] / "config.json",
|
||||
Config.script_dict[self.name]["Path"] / "config.json",
|
||||
)
|
||||
self.config.load(
|
||||
Config.member_dict[self.name]["Path"] / "config.json"
|
||||
Config.script_dict[self.name]["Path"] / "config.json"
|
||||
)
|
||||
|
||||
logger.success(
|
||||
@@ -2929,13 +2929,13 @@ class MemberManager(QWidget):
|
||||
return None
|
||||
|
||||
with (
|
||||
Config.member_dict[self.name]["Path"] / "config.json"
|
||||
Config.script_dict[self.name]["Path"] / "config.json"
|
||||
).open("w", encoding="utf-8") as file:
|
||||
json.dump(
|
||||
config_data, file, ensure_ascii=False, indent=4
|
||||
)
|
||||
self.config.load(
|
||||
Config.member_dict[self.name]["Path"] / "config.json"
|
||||
Config.script_dict[self.name]["Path"] / "config.json"
|
||||
)
|
||||
|
||||
logger.success(
|
||||
@@ -3098,7 +3098,7 @@ class MemberManager(QWidget):
|
||||
def add_sub(self):
|
||||
"""添加一个配置"""
|
||||
|
||||
index = len(Config.member_dict[self.name]["SubData"]) + 1
|
||||
index = len(Config.script_dict[self.name]["SubData"]) + 1
|
||||
|
||||
logger.info(
|
||||
f"正在添加 {self.name} 的配置_{index}", module="脚本管理"
|
||||
@@ -3107,14 +3107,14 @@ class MemberManager(QWidget):
|
||||
# 初始化通用配置
|
||||
sub_config = GeneralSubConfig()
|
||||
sub_config.load(
|
||||
Config.member_dict[self.name]["Path"]
|
||||
Config.script_dict[self.name]["Path"]
|
||||
/ f"SubData/配置_{index}/config.json",
|
||||
sub_config,
|
||||
)
|
||||
sub_config.save()
|
||||
|
||||
Config.member_dict[self.name]["SubData"][f"配置_{index}"] = {
|
||||
"Path": Config.member_dict[self.name]["Path"]
|
||||
Config.script_dict[self.name]["SubData"][f"配置_{index}"] = {
|
||||
"Path": Config.script_dict[self.name]["Path"]
|
||||
/ f"SubData/配置_{index}",
|
||||
"Config": sub_config,
|
||||
}
|
||||
@@ -3169,19 +3169,19 @@ class MemberManager(QWidget):
|
||||
|
||||
# 删除配置文件并同步到相关配置项
|
||||
shutil.rmtree(
|
||||
Config.member_dict[self.name]["SubData"][name]["Path"]
|
||||
Config.script_dict[self.name]["SubData"][name]["Path"]
|
||||
)
|
||||
for i in range(
|
||||
int(name[3:]) + 1,
|
||||
len(Config.member_dict[self.name]["SubData"]) + 1,
|
||||
len(Config.script_dict[self.name]["SubData"]) + 1,
|
||||
):
|
||||
if Config.member_dict[self.name]["SubData"][f"配置_{i}"][
|
||||
if Config.script_dict[self.name]["SubData"][f"配置_{i}"][
|
||||
"Path"
|
||||
].exists():
|
||||
Config.member_dict[self.name]["SubData"][f"配置_{i}"][
|
||||
Config.script_dict[self.name]["SubData"][f"配置_{i}"][
|
||||
"Path"
|
||||
].rename(
|
||||
Config.member_dict[self.name]["SubData"][
|
||||
Config.script_dict[self.name]["SubData"][
|
||||
f"配置_{i}"
|
||||
]["Path"].with_name(f"配置_{i-1}")
|
||||
)
|
||||
@@ -3239,18 +3239,18 @@ class MemberManager(QWidget):
|
||||
self.sub_manager.clear_SettingBox()
|
||||
|
||||
# 移动配置文件并同步到相关配置项
|
||||
Config.member_dict[self.name]["SubData"][name]["Path"].rename(
|
||||
Config.member_dict[self.name]["SubData"][name][
|
||||
Config.script_dict[self.name]["SubData"][name]["Path"].rename(
|
||||
Config.script_dict[self.name]["SubData"][name][
|
||||
"Path"
|
||||
].with_name("配置_0")
|
||||
)
|
||||
Config.member_dict[self.name]["SubData"][f"配置_{index-1}"][
|
||||
Config.script_dict[self.name]["SubData"][f"配置_{index-1}"][
|
||||
"Path"
|
||||
].rename(Config.member_dict[self.name]["SubData"][name]["Path"])
|
||||
Config.member_dict[self.name]["SubData"][name]["Path"].with_name(
|
||||
].rename(Config.script_dict[self.name]["SubData"][name]["Path"])
|
||||
Config.script_dict[self.name]["SubData"][name]["Path"].with_name(
|
||||
"配置_0"
|
||||
).rename(
|
||||
Config.member_dict[self.name]["SubData"][f"配置_{index-1}"][
|
||||
Config.script_dict[self.name]["SubData"][f"配置_{index-1}"][
|
||||
"Path"
|
||||
]
|
||||
)
|
||||
@@ -3282,7 +3282,7 @@ class MemberManager(QWidget):
|
||||
|
||||
index = int(name[3:])
|
||||
|
||||
if index == len(Config.member_dict[self.name]["SubData"]):
|
||||
if index == len(Config.script_dict[self.name]["SubData"]):
|
||||
logger.warning("向后移动配置时已到达最右端", module="脚本管理")
|
||||
MainInfoBar.push_info_bar(
|
||||
"warning", "已经是最后一个配置", "无法向后移动", 5000
|
||||
@@ -3303,18 +3303,18 @@ class MemberManager(QWidget):
|
||||
self.sub_manager.clear_SettingBox()
|
||||
|
||||
# 移动配置文件并同步到相关配置项
|
||||
Config.member_dict[self.name]["SubData"][name]["Path"].rename(
|
||||
Config.member_dict[self.name]["SubData"][name][
|
||||
Config.script_dict[self.name]["SubData"][name]["Path"].rename(
|
||||
Config.script_dict[self.name]["SubData"][name][
|
||||
"Path"
|
||||
].with_name("配置_0")
|
||||
)
|
||||
Config.member_dict[self.name]["SubData"][f"配置_{index+1}"][
|
||||
Config.script_dict[self.name]["SubData"][f"配置_{index+1}"][
|
||||
"Path"
|
||||
].rename(Config.member_dict[self.name]["SubData"][name]["Path"])
|
||||
Config.member_dict[self.name]["SubData"][name]["Path"].with_name(
|
||||
].rename(Config.script_dict[self.name]["SubData"][name]["Path"])
|
||||
Config.script_dict[self.name]["SubData"][name]["Path"].with_name(
|
||||
"配置_0"
|
||||
).rename(
|
||||
Config.member_dict[self.name]["SubData"][f"配置_{index+1}"][
|
||||
Config.script_dict[self.name]["SubData"][f"配置_{index+1}"][
|
||||
"Path"
|
||||
]
|
||||
)
|
||||
@@ -3345,7 +3345,7 @@ class MemberManager(QWidget):
|
||||
)
|
||||
|
||||
self.script_list: List[
|
||||
MemberManager.MemberSettingBox.GeneralSettingBox.BranchManager.SubConfigSettingBox.SubMemberSettingBox
|
||||
ScriptManager.ScriptSettingBox.GeneralSettingBox.BranchManager.SubConfigSettingBox.SubMemberSettingBox
|
||||
] = []
|
||||
|
||||
self.sub_dashboard = self.SubDashboard(self.name, self)
|
||||
@@ -3375,7 +3375,7 @@ class MemberManager(QWidget):
|
||||
|
||||
Config.search_general_sub(self.name)
|
||||
|
||||
for name in Config.member_dict[self.name]["SubData"].keys():
|
||||
for name in Config.script_dict[self.name]["SubData"].keys():
|
||||
self.add_SettingBox(name[3:])
|
||||
|
||||
self.switch_SettingBox(index)
|
||||
@@ -3390,11 +3390,11 @@ class MemberManager(QWidget):
|
||||
:param if_change_pivot: 是否更改 pivot 的当前项
|
||||
"""
|
||||
|
||||
if len(Config.member_dict[self.name]["SubData"]) == 0:
|
||||
if len(Config.script_dict[self.name]["SubData"]) == 0:
|
||||
index = "配置仪表盘"
|
||||
|
||||
if index != "配置仪表盘" and int(index[3:]) > len(
|
||||
Config.member_dict[self.name]["SubData"]
|
||||
Config.script_dict[self.name]["SubData"]
|
||||
):
|
||||
return None
|
||||
|
||||
@@ -3480,7 +3480,7 @@ class MemberManager(QWidget):
|
||||
module="脚本管理",
|
||||
)
|
||||
|
||||
self.sub_data = Config.member_dict[self.name]["SubData"]
|
||||
self.sub_data = Config.script_dict[self.name]["SubData"]
|
||||
|
||||
self.dashboard.setRowCount(len(self.sub_data))
|
||||
|
||||
@@ -3546,10 +3546,10 @@ class MemberManager(QWidget):
|
||||
self.setObjectName(f"配置_{uid}")
|
||||
self.setTitle(f"配置 {uid}")
|
||||
self.name = name
|
||||
self.config = Config.member_dict[self.name]["SubData"][
|
||||
self.config = Config.script_dict[self.name]["SubData"][
|
||||
f"配置_{uid}"
|
||||
]["Config"]
|
||||
self.sub_path = Config.member_dict[self.name]["SubData"][
|
||||
self.sub_path = Config.script_dict[self.name]["SubData"][
|
||||
f"配置_{uid}"
|
||||
]["Path"]
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
{
|
||||
"main_version": "4.4.1.4",
|
||||
"main_version": "4.4.1.5",
|
||||
"version_info": {
|
||||
"4.4.1.5": {
|
||||
"程序优化": [
|
||||
"优化调度队列配置逻辑"
|
||||
]
|
||||
},
|
||||
"4.4.1.4": {
|
||||
"修复BUG": [
|
||||
"添加强制关机功能并优化关机流程"
|
||||
|
||||
Reference in New Issue
Block a user