From 76270b683438e9f344c0f14d0bb4cf68212c6012 Mon Sep 17 00:00:00 2001 From: hkyc Date: Thu, 22 May 2025 22:50:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=95=8C=E9=9D=A2=E5=B8=83?= =?UTF-8?q?=E5=B1=80=EF=BC=9A=E7=A7=BB=E9=99=A4=E5=8D=8F=E8=AE=AE=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E5=B0=86=E7=BA=BF=E7=A8=8B=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E4=B8=8E=E6=B3=A8=E5=86=8C=E6=95=B0=E9=87=8F=E6=94=BE=E5=9C=A8?= =?UTF-8?q?=E4=B8=80=E8=B5=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RegistrationGUIWithPynoV2.py | 83 +++++++++++++++--------------------- 1 file changed, 35 insertions(+), 48 deletions(-) diff --git a/RegistrationGUIWithPynoV2.py b/RegistrationGUIWithPynoV2.py index 12f4aba..237d1f9 100644 --- a/RegistrationGUIWithPynoV2.py +++ b/RegistrationGUIWithPynoV2.py @@ -30,19 +30,11 @@ class SteamRegistrationGUI: top_frame = ttk.Frame(main_frame) top_frame.pack(fill="x", side="top", padx=5, pady=5) - # 创建配置框架 - config_frame = ttk.LabelFrame(top_frame, text="基本配置") - config_frame.pack(fill="x", padx=5, pady=5) - # 加载默认配置 self.script_dir = os.path.dirname(os.path.abspath(__file__)) self.config_path = os.path.join(self.script_dir, 'config.json') self.config = self._load_config() - # 创建配置输入框 - self.config_vars = {} - self._create_config_widgets(config_frame) - # 创建验证码配置框架 captcha_frame = ttk.LabelFrame(top_frame, text="验证码配置") captcha_frame.pack(fill="x", padx=5, pady=5) @@ -84,14 +76,25 @@ class SteamRegistrationGUI: ("微软Graph", "graph") ] - # 注册数量设置 - reg_count_frame = ttk.Frame(email_option_frame) - reg_count_frame.pack(fill="x", padx=5, pady=5) + # 注册数量和线程数量设置 + count_frame = ttk.Frame(email_option_frame) + count_frame.pack(fill="x", padx=5, pady=5) - ttk.Label(reg_count_frame, text="注册数量:").grid(row=0, column=0, padx=5, pady=2, sticky="e") + # 注册数量设置 + ttk.Label(count_frame, text="注册数量:").grid(row=0, column=0, padx=5, pady=2, sticky="e") self.reg_count_var = tk.StringVar(value="10") - ttk.Entry(reg_count_frame, textvariable=self.reg_count_var, width=10).grid(row=0, column=1, padx=5, pady=2, sticky="w") - ttk.Label(reg_count_frame, text="(0表示不限制)").grid(row=0, column=2, padx=5, pady=2, sticky="w") + ttk.Entry(count_frame, textvariable=self.reg_count_var, width=10).grid(row=0, column=1, padx=5, pady=2, sticky="w") + ttk.Label(count_frame, text="(0表示不限制)").grid(row=0, column=2, padx=5, pady=2, sticky="w") + + # 线程数量设置 + ttk.Label(count_frame, text="线程数量:").grid(row=1, column=0, padx=5, pady=2, sticky="e") + self.thread_count_var = tk.StringVar(value=str(self.config.get("executornum", "1"))) + ttk.Entry(count_frame, textvariable=self.thread_count_var, width=10).grid(row=1, column=1, padx=5, pady=2, sticky="w") + + # 邮箱协议相关配置(隐藏但保留功能) + self.protocol_var = tk.StringVar(value=str(self.config.get("protocol", "IMAP"))) + self.ssl_var = tk.StringVar(value=str(self.config.get("ssl", "True"))) + self.email_url_var = tk.StringVar(value=str(self.config.get("email_url", "mail.evnmail.com"))) # 邮箱来源选择 email_source_frame = ttk.Frame(email_option_frame) @@ -264,28 +267,6 @@ class SteamRegistrationGUI: except Exception as e: messagebox.showerror("错误", f"加载配置文件失败: {str(e)}") return {} - - def _create_config_widgets(self, parent): - """创建配置输入控件""" - config_items = [ - ("protocol", "协议类型:", ["GRAPH", "IMAP", "POP3", "IMAP_OAUTH", "POP3_OAUTH"]), - ("ssl", "启用SSL:", ["True", "False"]), - ("email_url", "邮箱服务器:", None), - ("executornum", "线程数量:", None) - ] - - for i, (key, label, options) in enumerate(config_items): - ttk.Label(parent, text=label, width=10).grid(row=i, column=0, padx=5, pady=2, sticky="e") - - if options: - var = tk.StringVar(value=str(self.config.get(key, ""))) - widget = ttk.Combobox(parent, textvariable=var, values=options, width=50) - else: - var = tk.StringVar(value=str(self.config.get(key, ""))) - widget = ttk.Entry(parent, textvariable=var, width=50) - - widget.grid(row=i, column=1, padx=5, pady=2, sticky="ew") - self.config_vars[key] = var def _create_captcha_widgets(self, parent): """创建验证码配置输入控件""" @@ -391,14 +372,16 @@ class SteamRegistrationGUI: """保存配置""" try: config = {} - # 保存原有配置 - for key, var in self.config_vars.items(): - value = var.get() - if key == "executornum": - value = int(value) - elif key == "ssl": - value = value.lower() == "true" - config[key] = value + # 保存邮箱协议配置(保留这些字段) + config['protocol'] = self.protocol_var.get() + config['ssl'] = self.ssl_var.get().lower() == "true" + config['email_url'] = self.email_url_var.get() + + # 保存线程数量 + try: + config['executornum'] = int(self.thread_count_var.get()) + except ValueError: + config['executornum'] = 1 # 保存验证码配置 for key, var in self.captcha_vars.items(): @@ -432,11 +415,15 @@ class SteamRegistrationGUI: messagebox.showerror("错误", "代理文件不存在") return False - # 验证基本配置 - for key, var in self.config_vars.items(): - if not var.get().strip(): - messagebox.showerror("错误", f"请填写 {key} 配置项") + # 验证线程数量 + try: + thread_count = int(self.thread_count_var.get()) + if thread_count <= 0: + messagebox.showerror("错误", "线程数量必须大于0") return False + except ValueError: + messagebox.showerror("错误", "线程数量必须是整数") + return False # 验证验证码配置 required_captcha_keys = ["pyno_user_token"]