From 797f80b37c454ce7ec1b383f56460016f6abdc52 Mon Sep 17 00:00:00 2001 From: liuwei Date: Tue, 20 May 2025 09:31:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BA=AC=E4=B8=9C=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=BF=A1=E6=81=AF=EF=BC=8C=E5=A4=87=E6=B3=A8=E9=9A=8F?= =?UTF-8?q?=E4=BE=BF=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/jd_sign_token/main.py | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/plugins/jd_sign_token/main.py b/plugins/jd_sign_token/main.py index 50455f4..1a49ff3 100644 --- a/plugins/jd_sign_token/main.py +++ b/plugins/jd_sign_token/main.py @@ -271,32 +271,46 @@ class JDTokenPlugin(MessagePluginInterface): envs = self.ql.getEnvs() if not envs: return f"❌ 获取环境变量失败" + + # 从当前token中提取pt_pin + pt_pin_match = re.search(r'pt_pin=([^;]*)', token) + if not pt_pin_match: + return f"❌ 无法从Token中提取pt_pin信息" + + current_pt_pin = pt_pin_match.group(1) + self.LOG.info(f"当前Token的pt_pin: {current_pt_pin}") - # 查找是否有相同备注的JD_COOKIE + # 查找是否有相同pt_pin的JD_COOKIE existing_env = None env_id = None for env in envs: - if env.get('name') == 'JD_COOKIE' and env.get('remarks') == remark: - existing_env = env - env_id = env.get('id') - break + if env.get('name') == 'JD_COOKIE': + # 从已存在的环境变量中提取pt_pin + env_pt_pin_match = re.search(r'pt_pin=([^;]*)', env.get('value', '')) + if env_pt_pin_match and env_pt_pin_match.group(1) == current_pt_pin: + existing_env = env + env_id = env.get('id') + break result = False self.LOG.debug(f"existing_env: {existing_env}") if existing_env: - # 更新已存在的环境变量 + # 更新已存在的环境变量,保留原有的备注或使用新的备注 + existing_remarks = existing_env.get('remarks', '') + final_remarks = remark if remark else existing_remarks + existing_env['value'] = token - env_update: dict = {"id": env_id, "value": token, "remarks": remark,"name": "JD_COOKIE"} + env_update: dict = {"id": env_id, "value": token, "remarks": final_remarks, "name": "JD_COOKIE"} result = self.ql.updateEnv(env_update) if result: - return f"✅ 已成功更新京东账号 [{remark}] 的Token" + return f"✅ 已成功更新京东账号 [{final_remarks}] 的Token (pt_pin: {current_pt_pin})" else: - return f"❌ 更新京东账号 [{remark}] 的Token失败" + return f"❌ 更新京东账号 [{final_remarks}] 的Token失败" else: # 添加新的环境变量 new_env = [{"name": "JD_COOKIE", "value": token, "remarks": remark}] result = self.ql.addEnvs(new_env) if result: - return f"✅ 已成功添加京东账号 [{remark}] 的Token" + return f"✅ 已成功添加京东账号 [{remark}] 的Token (pt_pin: {current_pt_pin})" else: return f"❌ 添加京东账号 [{remark}] 的Token失败"