MCPcopy
hub / github.com/smallfawn/QLScriptPublic / sign_getTaskList

Method sign_getTaskList

daily/chinaUnicom.py:772–812  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

770 return None
771
772 def sign_getTaskList(self):
773 try:
774 url = "https://activity.10010.com/sixPalaceGridTurntableLottery/task/taskList"
775 headers = {"Referer": "https://img.client.10010.com/"}
776 for i in range(30):
777 res = self.request("get", url, params={"type": "2"}, headers=headers, timeout=10)
778 if not res: return
779 result = res.json()
780 code = result.get('code')
781 if code == "0329" or "火爆" in result.get('desc', ''):
782 self.log("签到区: 系统繁忙(0329),停止后续尝试")
783 break
784 if code != "0000":
785 self.log(f"签到区-任务中心: 获取任务列表失败[{code}]: {result.get('desc', '')}")
786 return
787 tag_list = result.get('data', {}).get('tagList', []) or []
788 task_list = result.get('data', {}).get('taskList', []) or []
789 all_tasks = task_list + [t for tag in tag_list for t in tag.get('taskDTOList', [])]
790 all_tasks = [t for t in all_tasks if t]
791 if not all_tasks:
792 if i == 0: self.log("签到区-任务中心: 当前无任何任务。")
793 break
794 do_task = next((t for t in all_tasks if t.get('taskState') == '1' and t.get('taskType') == '5'), None)
795 if do_task:
796 self.log(f"签到区-任务中心: 开始执行任务 [{do_task.get('taskName')}]")
797 self.sign_doTaskFromList(do_task)
798 time.sleep(3)
799 continue
800 claim_task = next((t for t in all_tasks if t.get('taskState') == '0'), None)
801 if claim_task:
802 self.log(f"签到区-任务中心: 发现可领取奖励的任务 [{claim_task.get('taskName')}]")
803 self.sign_getTaskReward(claim_task.get('id'))
804 time.sleep(2)
805 continue
806 if i == 0:
807 self.log("签到区-任务中心: 没有可执行或可领取的任务。")
808 else:
809 self.log("签到区-任务中心: 所有任务处理完毕。")
810 break
811 except Exception as e:
812 self.log(f"sign_getTaskList 异常: {str(e)}")
813
814 def sign_doTaskFromList(self, task):
815 try:

Callers 1

sign_task_mainMethod · 0.95

Calls 6

requestMethod · 0.95
logMethod · 0.95
sign_doTaskFromListMethod · 0.95
sign_getTaskRewardMethod · 0.95
sleepMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected