type: 收窄活动客户端响应类型
This commit is contained in:
@@ -6,7 +6,7 @@ import json
|
|||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
from typing import Any
|
from typing import Any, cast
|
||||||
from urllib.parse import parse_qs, unquote, urlsplit, urlunsplit
|
from urllib.parse import parse_qs, unquote, urlsplit, urlunsplit
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
@@ -1692,12 +1692,10 @@ class DouyuActivityClient:
|
|||||||
info = self._xpd_parse_var(response.text, "info")
|
info = self._xpd_parse_var(response.text, "info")
|
||||||
if str(info.get("ret") or "0") != "0":
|
if str(info.get("ret") or "0") != "0":
|
||||||
raise DouyuActivityError(str(info.get("msg") or "小店购买记录查询失败"))
|
raise DouyuActivityError(str(info.get("msg") or "小店购买记录查询失败"))
|
||||||
data: dict[str, Any] = (
|
raw_data = info.get("data")
|
||||||
info.get("data") if isinstance(info.get("data"), dict) else {}
|
data = cast(dict[str, Any], raw_data) if isinstance(raw_data, dict) else {}
|
||||||
)
|
raw_records = data.get("list")
|
||||||
page_records: list[Any] = (
|
page_records = raw_records if isinstance(raw_records, list) else []
|
||||||
data.get("list") if isinstance(data.get("list"), list) else []
|
|
||||||
)
|
|
||||||
total = self._xpd_int(data.get("cnt")) or total
|
total = self._xpd_int(data.get("cnt")) or total
|
||||||
pages.append(info)
|
pages.append(info)
|
||||||
|
|
||||||
@@ -1788,7 +1786,8 @@ class DouyuActivityClient:
|
|||||||
)
|
)
|
||||||
if payload.get("error") not in (0, "0", None):
|
if payload.get("error") not in (0, "0", None):
|
||||||
raise DouyuActivityError(payload.get("msg") or "生成小店绑定二维码失败")
|
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 "")
|
url = str(data.get("url") or "")
|
||||||
if not url:
|
if not url:
|
||||||
raise DouyuActivityError(f"生成小店绑定二维码失败: {payload}")
|
raise DouyuActivityError(f"生成小店绑定二维码失败: {payload}")
|
||||||
@@ -1809,14 +1808,19 @@ class DouyuActivityClient:
|
|||||||
)
|
)
|
||||||
if payload.get("error") not in (0, "0", None):
|
if payload.get("error") not in (0, "0", None):
|
||||||
raise DouyuActivityError(payload.get("msg") or "查询小店绑定信息失败")
|
raise DouyuActivityError(payload.get("msg") or "查询小店绑定信息失败")
|
||||||
data: dict[str, Any] = (
|
raw_data = payload.get("data")
|
||||||
payload.get("data") if isinstance(payload.get("data"), dict) else {}
|
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] = (
|
raw_game_account = data.get("gameAccount")
|
||||||
data.get("gameRole") if isinstance(data.get("gameRole"), dict) else {}
|
game_account = (
|
||||||
)
|
cast(dict[str, Any], raw_game_account)
|
||||||
game_account: dict[str, Any] = (
|
if isinstance(raw_game_account, dict)
|
||||||
data.get("gameAccount") if isinstance(data.get("gameAccount"), dict) else {}
|
else {}
|
||||||
)
|
)
|
||||||
return {
|
return {
|
||||||
"bind_account": self._xpd_int(data.get("bindAccount")),
|
"bind_account": self._xpd_int(data.get("bindAccount")),
|
||||||
|
|||||||
Reference in New Issue
Block a user