优化斗鱼支付后自动刷新
This commit is contained in:
@@ -89,6 +89,14 @@ class DouyuActivityClient:
|
||||
])
|
||||
self._load_cookie(self.cookie)
|
||||
|
||||
def _set_cookie_value(self, key: str, value: str) -> None:
|
||||
"""写入单个 Cookie 值,确保手动 Cookie 请求头与 Session 一致。"""
|
||||
self.cookie = normalize_cookie_pairs([
|
||||
*cookie_pairs(self.cookie),
|
||||
(key, value),
|
||||
])
|
||||
self._load_cookie(self.cookie)
|
||||
|
||||
def _headers(self, referer: str = "https://www.douyu.com/") -> dict[str, str]:
|
||||
return {
|
||||
"User-Agent": PC_UA,
|
||||
@@ -300,6 +308,9 @@ class DouyuActivityClient:
|
||||
|
||||
def create_elite_qr(self, *, ctn: str, act_alias: str, amount: int, room_id: str) -> dict[str, Any]:
|
||||
"""生成精英宝典支付二维码。"""
|
||||
# E 语言实现会在 peace/item 和 getQrCode 两次请求里显式拼上 acf_ccn=ctn。
|
||||
# 这里也同步 Cookie,避免接口只看 Cookie 时误判未绑定游戏账号。
|
||||
self._set_cookie_value("acf_ccn", ctn)
|
||||
item_payload = self._request_json(
|
||||
"post",
|
||||
self.PEACE_ITEM_API,
|
||||
@@ -324,7 +335,7 @@ class DouyuActivityClient:
|
||||
qr = (payload.get("data") or {}).get("qr") or ""
|
||||
if not qr:
|
||||
raise DouyuActivityError(payload.get("msg") or "生成精英宝典支付码失败")
|
||||
return {"pay_url": qr, "ctn": ctn, "item": item_payload, "raw": payload}
|
||||
return {"pay_url": qr, "ctn": ctn, "act_alias": act_alias, "item": item_payload, "raw": payload}
|
||||
|
||||
def create_gold_qr(self, *, amount: int, pay_type: int = 1, product_id: str = "DYTV_Product_Gold_1") -> dict[str, Any]:
|
||||
"""生成鱼翅充值支付二维码。"""
|
||||
@@ -498,7 +509,7 @@ class DouyuActivityClient:
|
||||
payload = self._request_json(
|
||||
"get",
|
||||
self.EXCHANGE_BALANCE_API,
|
||||
"查询鱼刺余额",
|
||||
"查询钱包兑换余额",
|
||||
params={"appCode": "YJTX"},
|
||||
headers={
|
||||
"Origin": "",
|
||||
|
||||
Reference in New Issue
Block a user