Todo: 集成多平台 解决因SaiNiu线程抢占资源问题 本地提交测试环境打包 和 正式打包脚本与正式环境打包bat

This commit is contained in:
2025-09-17 17:48:35 +08:00
parent 256e6c21a5
commit 8b9fc925fa
11 changed files with 2020 additions and 610 deletions

View File

@@ -29,13 +29,16 @@ class WebSocketManager:
def __init__(self):
self.backend_client = None
self.platform_listeners = {} # 存储各平台的监听器
self.connected_platforms = [] # 存储已连接的平台列表 # <- 新增
self.callbacks = {
'log': None,
'success': None,
'error': None
'error': None,
'platform_connected': None,
}
def set_callbacks(self, log: Callable = None, success: Callable = None, error: Callable = None):
def set_callbacks(self, log: Callable = None, success: Callable = None, error: Callable = None,
platform_connected: Callable = None): # ← 新增参数
"""设置回调函数"""
if log:
self.callbacks['log'] = log
@@ -43,6 +46,8 @@ class WebSocketManager:
self.callbacks['success'] = success
if error:
self.callbacks['error'] = error
if platform_connected: # ← 新增
self.callbacks['platform_connected'] = platform_connected
def _log(self, message: str, level: str = "INFO"):
"""内部日志方法"""
@@ -51,6 +56,18 @@ class WebSocketManager:
else:
print(f"[{level}] {message}")
def _notify_platform_connected(self, platform_name: str):
"""通知GUI平台连接成功"""
try:
if platform_name not in self.connected_platforms:
self.connected_platforms.append(platform_name)
if self.callbacks['platform_connected']:
self.callbacks['platform_connected'](platform_name, self.connected_platforms.copy())
self._log(f"已通知GUI平台连接: {platform_name}", "INFO")
except Exception as e:
self._log(f"通知平台连接失败: {e}", "ERROR")
def connect_backend(self, token: str) -> bool:
"""连接后端WebSocket"""
try:
@@ -202,6 +219,7 @@ class WebSocketManager:
self._log(f"上报连接状态失败: {e}", "WARNING")
self._log("已启动京东平台监听", "SUCCESS")
self._notify_platform_connected("京东") # ← 新增
except Exception as e:
self._log(f"启动京东平台监听失败: {e}", "ERROR")
@@ -265,6 +283,7 @@ class WebSocketManager:
self._log(f"上报抖音平台连接状态失败: {e}", "WARNING")
self._log("已启动抖音平台监听", "SUCCESS")
self._notify_platform_connected("抖音") # ← 新增
except Exception as e:
self._log(f"启动抖音平台监听失败: {e}", "ERROR")
@@ -324,6 +343,7 @@ class WebSocketManager:
self._log(f"上报连接状态失败: {e}", "WARNING")
self._log("已启动千牛平台监听(单连接多店铺架构)", "SUCCESS")
self._notify_platform_connected("千牛") # ← 新增
except Exception as e:
self._log(f"启动千牛平台监听失败: {e}", "ERROR")
@@ -363,6 +383,7 @@ class WebSocketManager:
self._log("⚠️ [PDD] 验证码错误,已发送错误通知给后端", "WARNING")
elif result:
self._log("✅ [PDD] 登录成功,平台连接已建立", "SUCCESS")
self._notify_platform_connected("拼多多")
else:
self._log("❌ [PDD] 登录失败", "ERROR")
else: