diff --git a/Utils/Pdd/PddUtils.py b/Utils/Pdd/PddUtils.py index 5da34a0..cd7be49 100644 --- a/Utils/Pdd/PddUtils.py +++ b/Utils/Pdd/PddUtils.py @@ -1605,9 +1605,9 @@ class PddLogin: return result # 发送验证码通知给后端,并获取验证码 - def request_verification_code(self, username, store_id, backend_anti_content, phone_number=None): + def request_verification_code(self, username, store_id, backend_anti_content): """向后端请求获取手机验证码""" - self._log(f"开始请求验证码,用户名: {username}, 店铺ID: {store_id}, 手机号: {phone_number}", "INFO") + self._log(f"开始请求验证码,用户名: {username}, 店铺ID: {store_id}", "INFO") # 使用后端下发的anti_content anti_content = backend_anti_content @@ -1622,18 +1622,18 @@ class PddLogin: response = requests.post(url, headers=self.headers, json=payload, cookies=self.cookies) self._log(f"发送验证码请求结果: {response.text}") - # 发送消息给后端,告知需要验证码(包含手机号) + # 发送消息给后端,告知需要验证码 self._log("准备向后端发送验证码需求通知", "INFO") - self._send_verification_needed_message(store_id, phone_number) # 🔥 传递手机号 + self._send_verification_needed_message(store_id) # 这里需要等待后端重新下发包含验证码的登录参数 # 实际实现中这个方法会在接收到新的登录参数后被重新调用 return None - def _send_verification_needed_message(self, store_id, phone_number=None): + def _send_verification_needed_message(self, store_id): """向后端发送需要验证码的通知""" try: - self._log(f"开始发送验证码需求通知,店铺ID: {store_id}, 手机号: {phone_number}", "INFO") + self._log(f"开始发送验证码需求通知,店铺ID: {store_id}", "INFO") from WebSocket.backend_singleton import get_backend_client backend = get_backend_client() self._log(f"获取到后端客户端: {backend is not None}", "DEBUG") @@ -1643,12 +1643,11 @@ class PddLogin: "type": "connect_message", "store_id": store_id, "status": False, - "content": "需要验证码", - "phone_number": phone_number # 🔥 新增手机号字段 + "content": "需要验证码" } self._log(f"准备发送验证码通知消息: {message}", "DEBUG") backend.send_message(message) - self._log("✅ 成功向后端发送验证码需求通知(含手机号)", "SUCCESS") + self._log("✅ 成功向后端发送验证码需求通知", "SUCCESS") else: self._log("❌ 后端客户端为空,无法发送验证码需求通知", "ERROR") except Exception as e: @@ -1804,31 +1803,8 @@ class PddLogin: response = requests.post(self.login_api, headers=self.headers, json=payload, cookies=self.cookies) self.cookies.update(response.cookies.get_dict()) - - # 🔥 增强日志输出 - 打印完整响应信息 self._log(f"登录响应状态码: {response.status_code}") - self._log(f"登录响应Headers: {dict(response.headers)}") - self._log(f"登录完整响应内容: {response.text}") - - # 🔥 尝试解析JSON响应获取更多信息 - response_json = None # 🔥 在外部定义变量 - try: - response_json = response.json() - self._log(f"登录响应JSON结构: {json.dumps(response_json, ensure_ascii=False, indent=2)}") - - # 特别关注result字段中可能包含的手机号信息 - if "result" in response_json: - result_data = response_json["result"] - self._log(f"响应result字段详情: {json.dumps(result_data, ensure_ascii=False, indent=2)}") - - # 查找可能的手机号字段 - possible_phone_fields = ["phone", "mobile", "phoneNumber", "mobileNumber", "telephone", "tel", "cellphone", "handphone"] - for field in possible_phone_fields: - if field in result_data: - self._log(f"🔍 发现可能的手机号字段 {field}: {result_data[field]}") - - except Exception as e: - self._log(f"解析响应JSON失败: {e}", "DEBUG") + self._log(f"登录响应内容: {response.text}") # 检查响应内容 if "需要手机验证" in response.text: @@ -1888,26 +1864,8 @@ class PddLogin: backend_anti_content = login_params.get("anti_content") self._log(f"为用户 {username} 发送验证码,使用后端anti_content", "INFO") - # 🔥 从响应中提取手机号 - phone_number = None - try: - if response_json and isinstance(response_json, dict): - phone_number = response_json.get("result") # 手机号在result字段中 - if phone_number and isinstance(phone_number, str): - self._log(f"🔍 从登录响应中提取到手机号: {phone_number}", "SUCCESS") - else: - self._log("⚠️ 响应中的result字段不包含有效手机号", "WARNING") - self._log(f"🔍 DEBUG: response_json = {response_json}", "DEBUG") - else: - self._log("⚠️ response_json 为空或格式不正确", "WARNING") - self._log(f"🔍 DEBUG: response_json = {response_json}", "DEBUG") - except Exception as e: - self._log(f"❌ 提取手机号时出错: {e}", "DEBUG") - import traceback - self._log(f"🔍 DEBUG: 错误详情: {traceback.format_exc()}", "DEBUG") - - # 传递后端下发的anti_content和手机号 - self.request_verification_code(username, store_id, backend_anti_content, phone_number) # 🔥 传递手机号 + # 传递后端下发的anti_content + self.request_verification_code(username, store_id, backend_anti_content) return "need_verification_code" else: diff --git a/config.py b/config.py index 6a88fb5..2d9e57d 100644 --- a/config.py +++ b/config.py @@ -9,13 +9,13 @@ import json # 用于将令牌保存为 JSON 格式 # 后端服务器配置 # BACKEND_HOST = "192.168.5.233" -# BACKEND_HOST = "192.168.5.12" -BACKEND_HOST = "shuidrop.com" +BACKEND_HOST = "192.168.5.12" +# BACKEND_HOST = "shuidrop.com" # BACKEND_HOST = "test.shuidrop.com" -# BACKEND_PORT = "8000" -BACKEND_PORT = "" -# BACKEND_WS_URL = f"ws://{BACKEND_HOST}:{BACKEND_PORT}" -BACKEND_WS_URL = f"wss://{BACKEND_HOST}" +BACKEND_PORT = "8000" +# BACKEND_PORT = "" +BACKEND_WS_URL = f"ws://{BACKEND_HOST}:{BACKEND_PORT}" +# BACKEND_WS_URL = f"wss://{BACKEND_HOST}" # WebSocket配置 WS_CONNECT_TIMEOUT = 16.0