(self)
| 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: |
no test coverage detected