MCPcopy Create free account
hub / github.com/smallfawn/QLScriptPublic / aiting_task

Method aiting_task

daily/chinaUnicom.py:4505–4566  ·  view source on GitHub ↗
(self, is_query_only=False)

Source from the content-addressed store, hash-verified

4503 self.session.post(url, params=params, json=body, headers=headers)
4504
4505 def aiting_task(self, is_query_only=False):
4506 self.log("==== 联通爱听任务 ====")
4507 if not self.aiting_login_flow():
4508 self.log("爱听任务: 登录失败,跳过")
4509 return
4510 self.log("爱听任务: 登录成功,正在获取任务列表...")
4511 try:
4512 self.aiting_query_integral()
4513 except: pass
4514 task_list = self.jf_get_task_detail(self.aiting_biz_ticket)
4515 done_list = [t for t in task_list if t.get('finish') == 1]
4516 printed_names = set()
4517 for t in done_list:
4518 name = t.get('taskName')
4519 if name not in printed_names:
4520 self.log(f" ✅ {name} ({t.get('finishCount')}/{t.get('needCount')})")
4521 printed_names.add(name)
4522 todo_list = [t for t in task_list if t.get('finish') == 0 and "邀请" not in t.get('taskName', '')]
4523 if not todo_list:
4524 self.log("爱听任务: ✅ 所有任务已完成")
4525 if is_query_only:
4526 self.log("爱听任务: [查询模式] 跳过任务执行...")
4527 return
4528 self.log(f"爱听任务: 发现 {len(todo_list)} 个待办任务")
4529 if is_query_only:
4530 self.log("爱听任务: [查询模式] 跳过任务执行...")
4531 return
4532 read_tasks = [t for t in todo_list if ("阅读" in t.get('taskName','') or "听读" in t.get('taskName','')) and "邀请" not in t.get('taskName','')]
4533 for task in read_tasks:
4534 remaining = int(task.get('needCount', 1)) - int(task.get('finishCount', 0))
4535 if remaining <= 0: continue
4536 self.log(f"执行阅读任务: {task.get('taskName')} (剩余 {remaining} 次)")
4537 for i in range(remaining):
4538 self.jf_to_finish(self.aiting_biz_ticket, task.get('taskCode'))
4539 self.log(f" └─ 第 {i + 1}/{remaining} 次: 极速提交中...")
4540 self.aiting_new_read_add()
4541 time.sleep(5)
4542 self.aiting_add_read_time(120)
4543 time.sleep(2)
4544 self.jf_pop_up(self.aiting_biz_ticket)
4545 other_tasks = [t for t in todo_list if not any(x in t.get('taskName','') for x in ["通知", "阅读", "听读", "邀请", "签到"])]
4546 notify_task = next((t for t in todo_list if "通知" in t.get('taskName','')), None)
4547 if notify_task:
4548 self.log(f"执行通知任务: {notify_task.get('taskName')}")
4549 self.jf_to_finish(self.aiting_biz_ticket, notify_task.get('taskCode'))
4550 time.sleep(1)
4551 self.aiting_complete_task_api(2)
4552 time.sleep(2)
4553 self.jf_pop_up(self.aiting_biz_ticket)
4554 for task in other_tasks:
4555 remaining = int(task.get('needCount', 1)) - int(task.get('finishCount', 0))
4556 if remaining <= 0: continue
4557 self.log(f"执行通用任务: {task.get('taskName')} (剩余 {remaining} 次)")
4558 for i in range(remaining):
4559 self.jf_to_finish(self.aiting_biz_ticket, task.get('taskCode'))
4560 time.sleep(1.5)
4561 self.aiting_complete_task_api(4) # Type 4
4562 time.sleep(2)

Callers 1

execute_daily_tasksMethod · 0.95

Calls 11

logMethod · 0.95
aiting_login_flowMethod · 0.95
aiting_query_integralMethod · 0.95
jf_get_task_detailMethod · 0.95
jf_to_finishMethod · 0.95
aiting_new_read_addMethod · 0.95
aiting_add_read_timeMethod · 0.95
jf_pop_upMethod · 0.95
sleepMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected