From 40e6f482b46475845dbe1155d9677e31b0fbf9e2 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Sun, 30 Aug 2026 19:52:55 +0800 Subject: [PATCH] =?UTF-8?q?type:=20=E6=94=B6=E7=AA=84=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E5=93=8D=E5=BA=94=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/douyu/activity_client.py | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/core/douyu/activity_client.py b/core/douyu/activity_client.py index dd40f01..92b89c2 100644 --- a/core/douyu/activity_client.py +++ b/core/douyu/activity_client.py @@ -6,7 +6,7 @@ import json import re import time from collections.abc import Callable -from typing import Any +from typing import Any, cast from urllib.parse import parse_qs, unquote, urlsplit, urlunsplit import requests @@ -1692,12 +1692,10 @@ class DouyuActivityClient: info = self._xpd_parse_var(response.text, "info") if str(info.get("ret") or "0") != "0": raise DouyuActivityError(str(info.get("msg") or "小店购买记录查询失败")) - data: dict[str, Any] = ( - info.get("data") if isinstance(info.get("data"), dict) else {} - ) - page_records: list[Any] = ( - data.get("list") if isinstance(data.get("list"), list) else [] - ) + raw_data = info.get("data") + data = cast(dict[str, Any], raw_data) if isinstance(raw_data, dict) else {} + raw_records = data.get("list") + page_records = raw_records if isinstance(raw_records, list) else [] total = self._xpd_int(data.get("cnt")) or total pages.append(info) @@ -1788,7 +1786,8 @@ class DouyuActivityClient: ) if payload.get("error") not in (0, "0", None): raise DouyuActivityError(payload.get("msg") or "生成小店绑定二维码失败") - data = payload.get("data") or {} + raw_data = payload.get("data") + data = cast(dict[str, Any], raw_data) if isinstance(raw_data, dict) else {} url = str(data.get("url") or "") if not url: raise DouyuActivityError(f"生成小店绑定二维码失败: {payload}") @@ -1809,14 +1808,19 @@ class DouyuActivityClient: ) if payload.get("error") not in (0, "0", None): raise DouyuActivityError(payload.get("msg") or "查询小店绑定信息失败") - data: dict[str, Any] = ( - payload.get("data") if isinstance(payload.get("data"), dict) else {} + raw_data = payload.get("data") + data = cast(dict[str, Any], raw_data) if isinstance(raw_data, dict) else {} + raw_game_role = data.get("gameRole") + game_role = ( + cast(dict[str, Any], raw_game_role) + if isinstance(raw_game_role, dict) + else {} ) - game_role: dict[str, Any] = ( - data.get("gameRole") if isinstance(data.get("gameRole"), dict) else {} - ) - game_account: dict[str, Any] = ( - data.get("gameAccount") if isinstance(data.get("gameAccount"), dict) else {} + raw_game_account = data.get("gameAccount") + game_account = ( + cast(dict[str, Any], raw_game_account) + if isinstance(raw_game_account, dict) + else {} ) return { "bind_account": self._xpd_int(data.get("bindAccount")),