xubo 1 vuosi sitten
vanhempi
säilyke
61524e77a8
1 muutettua tiedostoa jossa 29 lisäystä ja 2 poistoa
  1. 29 2
      main.py

+ 29 - 2
main.py

@@ -85,6 +85,24 @@ class WorkerThread(QThread):
             self.signal.emit(f"下单失败: {e}")  # 发送信号,通知主线程下单失败
 
 
+class LoginThread(QThread):
+    """用于执行登录逻辑的线程"""
+    signal = pyqtSignal(str)  # 定义一个信号,用于将信息传递回主线程
+
+    def __init__(self, thread_num, accounts_file, pocket_url):
+        super().__init__()
+        self.thread_num = thread_num
+        self.accounts_file = accounts_file
+        self.pocket_url = pocket_url
+
+    def run(self):
+        try:
+            login_account(self.thread_num, self.accounts_file, self.pocket_url)
+            self.signal.emit("登录成功")  # 发送信号,通知主线程登录成功
+        except Exception as e:
+            self.signal.emit(f"登录失败: {e}")  # 发送信号,通知主线程登录失败
+
+
 class MainWindow(QMainWindow, Ui_menu):
     def __init__(self, param1, param2):
         super().__init__()
@@ -225,7 +243,11 @@ class MainWindow(QMainWindow, Ui_menu):
         if self.urlLineEdit.text():
             pocket_url = self.urlLineEdit.text()
             save_all_proxy_ip_v3(get_resource_path("proxy_list.txt"))
-            login_account(thread_num, get_resource_path("accounts.txt"), pocket_url)
+
+            # 创建登录线程
+            self.login_thread = LoginThread(thread_num, get_resource_path("accounts.txt"), pocket_url)
+            self.login_thread.signal.connect(self.on_login_thread_signal)
+            self.login_thread.start()
         else:
             QMessageBox.warning(self, '警告', '请输入URL')
             return
@@ -326,6 +348,11 @@ class MainWindow(QMainWindow, Ui_menu):
     def on_worker_thread_signal(self, message):
         QMessageBox.information(self, "下单结果", message)
 
+    # 处理登录线程信号
+    @pyqtSlot(str)
+    def on_login_thread_signal(self, message):
+        QMessageBox.information(self, "登录结果", message)
+
 
 if __name__ == "__main__":
     app = QApplication(sys.argv)
@@ -334,4 +361,4 @@ if __name__ == "__main__":
     window = MainWindow("Hello", "World")
     window.show()
 
-    sys.exit(app.exec_())
+    sys.exit(app.exec_())