完善虎牙账号管理并规范Cookie
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
"""虎牙基础业务服务。"""
|
||||
|
||||
import re
|
||||
import uuid
|
||||
from datetime import datetime, timezone
|
||||
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from core.huya.cookie_utils import cookie_value, normalize_huya_cookie
|
||||
|
||||
from ..huya_defaults import HUYA_CONFIG_DEFAULTS, HUYA_CONFIG_FIELDS
|
||||
from ..models import HuyaAccount, HuyaConfig, HuyaTask
|
||||
|
||||
@@ -44,12 +45,6 @@ def apply_huya_config_defaults(config: HuyaConfig) -> bool:
|
||||
return changed
|
||||
|
||||
|
||||
def cookie_value(cookie: str, key: str) -> str:
|
||||
"""从 Cookie 文本中提取指定 key。"""
|
||||
match = re.search(rf"(?:^|;\s*){re.escape(key)}=([^;]+)", cookie or "")
|
||||
return match.group(1).strip() if match else ""
|
||||
|
||||
|
||||
def _looks_like_huya_cookie(value: str) -> bool:
|
||||
"""判断文本是否像虎牙 Cookie。"""
|
||||
return "udb_" in value or "yyuid=" in value
|
||||
@@ -78,6 +73,7 @@ def parse_huya_cookie_line(line: str) -> dict | None:
|
||||
|
||||
if not _looks_like_huya_cookie(cookie):
|
||||
return None
|
||||
cookie = normalize_huya_cookie(cookie)
|
||||
|
||||
yyuid = cookie_value(cookie, "yyuid")
|
||||
uid = cookie_value(cookie, "udb_uid") or yyuid
|
||||
|
||||
Reference in New Issue
Block a user