type: 收窄活动客户端响应类型

This commit is contained in:
yml2213
2026-08-30 19:52:55 +08:00
parent 0efd84a281
commit 40e6f482b4
+19 -15
View File
@@ -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")),