Skip to content

Commit 63862ad

Browse files
fix: 修复小程序无法签到 (#323)
1 parent 64f4d8f commit 63862ad

1 file changed

Lines changed: 34 additions & 20 deletions

File tree

utils/api/sign.py

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ class BaseSign:
3636
DATA = {}
3737
"""签到数据"""
3838

39+
FORMDATA = {}
40+
"""签到数据"""
41+
3942
URL_SIGN = ""
4043
"""签到地址"""
4144

@@ -149,22 +152,33 @@ def sign(self) -> Tuple[bool, str]: # pylint: disable=too-many-branches
149152
self.params.update(params)
150153
self.params["version"] = self.user_agent.split("/")[-1]
151154

152-
data = self.DATA.copy()
153-
if "miui_vip_a_ph" in self.cookies:
154-
data["miui_vip_a_ph"] = self.cookies["miui_vip_a_ph"]
155-
if "token" in data:
156-
if self.token:
157-
data["token"] = self.token
158-
else:
159-
log.info(f"未获取到token, 跳过{self.NAME}")
160-
return False, "None"
161-
boundary = f'----WebKitFormBoundaryZ{get_random_chars_as_string(16, "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")}'
162-
data = MultipartEncoder(fields=data, boundary=boundary)
163-
self.headers["Content-Type"] = data.content_type
155+
if self.FORMDATA:
156+
data = self.FORMDATA.copy()
157+
if "miui_vip_a_ph" in self.cookies:
158+
data["miui_vip_a_ph"] = self.cookies["miui_vip_a_ph"]
159+
if "token" in data:
160+
if self.token:
161+
data["token"] = self.token
162+
else:
163+
log.info(f"未获取到token, 跳过{self.NAME}")
164+
return False, "None"
165+
boundary = f'----WebKitFormBoundaryZ{get_random_chars_as_string(16, "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")}'
166+
data = MultipartEncoder(fields=data, boundary=boundary)
167+
self.headers["Content-Type"] = data.content_type
168+
elif self.DATA:
169+
data = self.DATA.copy()
170+
if "miui_vip_a_ph" in self.cookies:
171+
data["miui_vip_a_ph"] = self.cookies["miui_vip_a_ph"]
172+
if "token" in data:
173+
if self.token:
174+
data["token"] = self.token
175+
else:
176+
log.info(f"未获取到token, 跳过{self.NAME}")
177+
return False, "None"
164178
response = post(
165179
self.URL_SIGN,
166180
params=self.params,
167-
data=data.to_string(),
181+
data=data,
168182
cookies=self.cookies,
169183
headers=self.headers,
170184
)
@@ -239,7 +253,7 @@ class CheckIn(BaseSign):
239253
"miui_vip_a_ph": "{miui_vip_a_ph}",
240254
}
241255

242-
DATA = {"miui_vip_a_ph": "{miui_vip_a_ph}", "token": "{token}"}
256+
FORMDATA = {"miui_vip_a_ph": "{miui_vip_a_ph}", "token": "{token}"}
243257
URL_SIGN = "https://api-alpha.vip.miui.com/mtop/planet/vip/user/checkinV2"
244258

245259

@@ -256,7 +270,7 @@ class BrowsePost(BaseSign):
256270
"version": "dev.231026",
257271
"miui_vip_a_ph": "{miui_vip_a_ph}",
258272
}
259-
DATA = {"action": "BROWSE_POST_10S", "miui_vip_a_ph": "{miui_vip_a_ph}"}
273+
FORMDATA = {"action": "BROWSE_POST_10S", "miui_vip_a_ph": "{miui_vip_a_ph}"}
260274
URL_SIGN = "https://api-alpha.vip.miui.com/mtop/planet/vip/member/addCommunityGrowUpPointByActionV2"
261275

262276

@@ -273,7 +287,7 @@ class BrowseUserPage(BaseSign):
273287
"version": "dev.231026",
274288
"miui_vip_a_ph": "{miui_vip_a_ph}",
275289
}
276-
DATA = {
290+
FORMDATA = {
277291
"action": "BROWSE_SPECIAL_PAGES_USER_HOME",
278292
"miui_vip_a_ph": "{miui_vip_a_ph}",
279293
}
@@ -293,7 +307,7 @@ class BrowseSpecialPage(BaseSign):
293307
"version": "dev.231026",
294308
"miui_vip_a_ph": "{miui_vip_a_ph}",
295309
}
296-
DATA = {
310+
FORMDATA = {
297311
"action": "BROWSE_SPECIAL_PAGES_SPECIAL_PAGE",
298312
"miui_vip_a_ph": "{miui_vip_a_ph}",
299313
}
@@ -313,7 +327,7 @@ class BrowseVideoPost(BaseSign):
313327
"version": "dev.231026",
314328
"miui_vip_a_ph": "{miui_vip_a_ph}",
315329
}
316-
DATA = {"action": "BROWSE_VIDEO_POST", "miui_vip_a_ph": "{miui_vip_a_ph}"}
330+
FORMDATA = {"action": "BROWSE_VIDEO_POST", "miui_vip_a_ph": "{miui_vip_a_ph}"}
317331
URL_SIGN = "https://api-alpha.vip.miui.com/mtop/planet/vip/member/addCommunityGrowUpPointByActionV2"
318332

319333

@@ -358,7 +372,7 @@ class ThumbUp(BaseSign):
358372

359373
NAME = "点赞他人帖子"
360374

361-
DATA = {
375+
FORMDATA = {
362376
"postId": "36625780",
363377
"sign": "36625780",
364378
"timestamp": int(round(time.time() * 1000)),
@@ -373,7 +387,7 @@ class CarrotPull(BaseSign):
373387
"""
374388

375389
NAME = "参与拔萝卜获得奖励"
376-
DATA = {"miui_vip_a_ph": "{miui_vip_a_ph}"}
390+
FORMDATA = {"miui_vip_a_ph": "{miui_vip_a_ph}"}
377391
URL_SIGN = "https://api-alpha.vip.miui.com/api/carrot/pull"
378392

379393

0 commit comments

Comments
 (0)