Todo: 集成多平台 解决因SaiNiu线程抢占资源问题 本地提交测试环境打包 和 正式打包脚本与正式环境打包bat
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user