From f21f82cbed1f7c114ac34148ea424f8eb053c9af Mon Sep 17 00:00:00 2001 From: yml2213 Date: Thu, 25 Jun 2026 09:16:23 +0800 Subject: [PATCH] =?UTF-8?q?ck=20=E5=A4=8D=E5=88=B6=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E4=BC=98=E5=8C=96,=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/douyu/cookie_enricher.py | 2 -- web/backend/routers/cookies.py | 4 +++- web/frontend/src/api/types.ts | 1 + web/frontend/src/pages/CookiePage.tsx | 15 ++++++++------- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/core/douyu/cookie_enricher.py b/core/douyu/cookie_enricher.py index 76cfdce..1006229 100644 --- a/core/douyu/cookie_enricher.py +++ b/core/douyu/cookie_enricher.py @@ -69,7 +69,6 @@ class CookieEnricher: self.CSRF_API, headers=headers, timeout=self.TIMEOUT, - max_retries=1, ) response.raise_for_status() @@ -120,7 +119,6 @@ class CookieEnricher: self.ACF_CCN_API, headers=headers, timeout=self.TIMEOUT, - max_retries=1, ) response.raise_for_status() diff --git a/web/backend/routers/cookies.py b/web/backend/routers/cookies.py index 6625962..f54d503 100644 --- a/web/backend/routers/cookies.py +++ b/web/backend/routers/cookies.py @@ -63,14 +63,16 @@ def list_cookies( "assigned_username": acc.assigned_user.username if acc and acc.assigned_user else None, "created_at": _fmt_dt(t.finished_at), } - # 只有有 cookie:view 权限才返回 cookie 内容 + # 只有有 cookie:view 权限才返回 cookie 和密码(用于自定义格式复制) if user_has_permission(current, "cookie:view"): cookie = t.cookie or "" item["cookie"] = cookie item["cookie_preview"] = cookie[:50] + "..." if len(cookie) > 50 else cookie + item["account_password"] = acc.password if acc else "" else: item["cookie"] = "" item["cookie_preview"] = "***" + item["account_password"] = "" result.append(item) return result diff --git a/web/frontend/src/api/types.ts b/web/frontend/src/api/types.ts index 0bf3a62..fabaff2 100644 --- a/web/frontend/src/api/types.ts +++ b/web/frontend/src/api/types.ts @@ -102,6 +102,7 @@ export interface CookieItem { created_at: string | null; cookie: string; cookie_preview: string; + account_password: string; } // ==================== Proxy ==================== diff --git a/web/frontend/src/pages/CookiePage.tsx b/web/frontend/src/pages/CookiePage.tsx index c578d0b..e617fae 100644 --- a/web/frontend/src/pages/CookiePage.tsx +++ b/web/frontend/src/pages/CookiePage.tsx @@ -83,13 +83,14 @@ export default function CookiePage() { } }; - const handleCopyCookie = (cookie: string, username: string) => { - if (!cookie) { + const handleCopyCookie = (record: CookieItem) => { + if (!record.cookie) { message.warning('Cookie 为空'); return; } - copyToClipboard(cookie).then(() => { - message.success(`已复制 ${username} 的 Cookie`); + const text = `${record.account_username}----${record.account_password || ''}----${record.cookie}`; + copyToClipboard(text).then(() => { + message.success(`已复制 ${record.account_username} 的 Cookie`); }).catch(() => { message.error('复制失败'); }); @@ -102,8 +103,8 @@ export default function CookiePage() { } const selected = cookies.filter((c) => selectedRowKeys.includes(c.id)); const text = selected - .map((c) => `${c.account_username}: ${c.cookie || '(空)'}`) - .join('\n'); + .map((c) => `${c.account_username}----${c.account_password || ''}----${c.cookie || ''}`) + .join('\r\n'); copyToClipboard(text).then(() => { message.success(`已复制 ${selected.length} 条 Cookie`); }).catch(() => { @@ -190,7 +191,7 @@ export default function CookiePage() {