mirror of
https://github.com/XiaoGe-LiBai/yangmao.git
synced 2025-12-17 07:18:49 +08:00
226 lines
8.2 KiB
Python
226 lines
8.2 KiB
Python
"""
|
||
# 入口:#小程序://趣网/lRVlzUzgEHjTdYx
|
||
# 变量名:Ts
|
||
# 变量值:手机号&密码 多号换行
|
||
# by:重庆第一深情
|
||
#注:打开小程序,用微信登录,然后授权手机号,然后继续修改资料下面有个修改密码
|
||
#这个修改密码入口时有时无,只有自己多试一下,不行就注销再试
|
||
"""
|
||
|
||
import os
|
||
import sys
|
||
import json
|
||
import requests
|
||
import time
|
||
import datetime
|
||
import secrets
|
||
import string
|
||
import random
|
||
from notify import send
|
||
|
||
print(f"++++++++++桃色程序开始启动++++++++++\n")
|
||
|
||
def process_account(username, password):
|
||
"""处理单个账号的签到和任务"""
|
||
print(f"\n======= 处理账号: {username} =======")
|
||
|
||
login_url = "https://wxapp.lllac.com/xqw/login.php"
|
||
checkin_url = "https://wxapp.lllac.com/xqw/user_mall.php"
|
||
USER_AGENT = "Mozilla/5.0 (Linux; Android 15; PKG110 Build/UKQ1.231108.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.180 Mobile Safari/537.36 XWEB/1380215 MMWEBSDK/20250904 MMWEBID/6169 MicroMessenger/8.0.64.2940(0x28004034) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android"
|
||
|
||
timpstamp = int(time.time() * 1000)
|
||
ssid = ''.join(secrets.choice(string.ascii_lowercase + string.digits) for _ in range(32))
|
||
nums = random.sample(range(2000, 20000), 3)
|
||
pcid, rxid, xpid = nums
|
||
|
||
# 登录
|
||
payload = {
|
||
'act': "login",
|
||
'u_name': username,
|
||
'u_pass': password,
|
||
'session_id': ssid
|
||
}
|
||
|
||
headers = {
|
||
'User-Agent': USER_AGENT,
|
||
'timpstamp': str(timpstamp),
|
||
'charset': "utf-8",
|
||
'Referer': "https://servicewechat.com/wxb96c32e3d2d4b224/102/page-frame.html",
|
||
'Cookie': f"SSID={ssid}"
|
||
}
|
||
|
||
try:
|
||
# 登录请求
|
||
dl = requests.post(login_url, data=payload, headers=headers, timeout=10)
|
||
login_result = json.loads(dl.text)
|
||
msg = login_result.get("msg", "未知状态")
|
||
print(f"👤手机号:{username}")
|
||
print(f"💎登录状态:{msg}")
|
||
|
||
# 签到
|
||
qdparams = {
|
||
'act': 'signToday',
|
||
'ssid': ssid
|
||
}
|
||
|
||
qdheaders = {
|
||
'User-Agent': USER_AGENT
|
||
}
|
||
|
||
qd = requests.post(checkin_url, data=qdparams, headers=qdheaders, timeout=10)
|
||
qd_result = json.loads(qd.text)
|
||
qdmsg = qd_result.get("msg", "未知状态")
|
||
print(f"📅签到:{qdmsg}")
|
||
|
||
# 每周一次任务,默认周一运行
|
||
is_monday = datetime.datetime.now().weekday() == 0
|
||
result = {
|
||
'username': username,
|
||
'login_status': msg,
|
||
'checkin_status': qdmsg,
|
||
'weekly_tasks': []
|
||
}
|
||
|
||
if is_monday:
|
||
pcurl = f"https://wxapp.lllac.com/xqw/ch_article_info.php?id={pcid}&channel=quwang&qudao=wapdlxcx&version=182&f=gyg_c3_tab0&act=task"
|
||
rxurl = f"https://wxapp.lllac.com/xqw/goods_v2.php?act=task&id={rxid}&channel=quwang&qudao=wapdlxcx&spm=x.hot.g&type=29"
|
||
xpurl = f"https://wxapp.lllac.com/xqw/goods_v2.php?act=task&id={xpid}&channel=quwang&qudao=wapdlxcx&spm=x.new.g3&type=28"
|
||
|
||
pcheaders = {
|
||
'User-Agent': USER_AGENT,
|
||
'Cookie': f"SSID={ssid}"
|
||
}
|
||
|
||
try:
|
||
xp = requests.post(xpurl, headers=pcheaders, timeout=10)
|
||
xp_result = json.loads(xp.text)
|
||
xpmsg = xp_result.get("msg", "未知状态")
|
||
print(f"❤️每周新品:{xpmsg}")
|
||
result['weekly_tasks'].append(f"每周新品:{xpmsg}")
|
||
except Exception as e:
|
||
xpmsg = f"请求失败: {str(e)}"
|
||
print(f"❤️每周新品:{xpmsg}")
|
||
result['weekly_tasks'].append(f"每周新品:{xpmsg}")
|
||
|
||
try:
|
||
rx = requests.post(rxurl, headers=pcheaders, timeout=10)
|
||
rx_result = json.loads(rx.text)
|
||
rxmsg = rx_result.get("msg", "未知状态")
|
||
print(f"🧡每周热销:{rxmsg}")
|
||
result['weekly_tasks'].append(f"每周热销:{rxmsg}")
|
||
except Exception as e:
|
||
rxmsg = f"请求失败: {str(e)}"
|
||
print(f"🧡每周热销:{rxmsg}")
|
||
result['weekly_tasks'].append(f"每周热销:{rxmsg}")
|
||
|
||
try:
|
||
pc = requests.post(pcurl, headers=pcheaders, timeout=10)
|
||
pc_result = json.loads(pc.text)
|
||
pcmsg = pc_result.get("msg", "未知状态")
|
||
print(f"💛每周评测:{pcmsg}")
|
||
result['weekly_tasks'].append(f"每周评测:{pcmsg}")
|
||
except Exception as e:
|
||
pcmsg = f"请求失败: {str(e)}"
|
||
print(f"💛每周评测:{pcmsg}")
|
||
result['weekly_tasks'].append(f"每周评测:{pcmsg}")
|
||
|
||
else:
|
||
print("❌当前时间不是周一,不执行每周任务")
|
||
result['weekly_tasks'] = ["当前时间不是星期一,不执行每周一次任务"]
|
||
|
||
return result
|
||
|
||
except Exception as e:
|
||
print(f"❌处理账号 {username} 时发生错误: {str(e)}")
|
||
return {
|
||
'username': username,
|
||
'login_status': f"处理失败: {str(e)}",
|
||
'checkin_status': "未执行",
|
||
'weekly_tasks': ["账号处理失败"]
|
||
}
|
||
|
||
def main():
|
||
"""主函数"""
|
||
Ts = os.getenv("Ts")
|
||
if not Ts:
|
||
print("❌未找到环境变量 Ts")
|
||
send("桃色Vip", "❌未找到环境变量 Ts")
|
||
return
|
||
|
||
# 分割账号,支持换行、#、和空格分隔
|
||
accounts = []
|
||
for separator in ['\n', '#', ' ', ';']:
|
||
if separator in Ts:
|
||
accounts = [acc.strip() for acc in Ts.split(separator) if acc.strip()]
|
||
break
|
||
|
||
# 如果没有找到分隔符,尝试直接处理
|
||
if not accounts:
|
||
accounts = [Ts.strip()]
|
||
|
||
# 过滤空账号
|
||
accounts = [acc for acc in accounts if acc]
|
||
|
||
if not accounts:
|
||
print("❌未找到有效的账号信息")
|
||
send("桃色Vip", "❌未找到有效的账号信息")
|
||
return
|
||
|
||
print(f"📝找到 {len(accounts)} 个账号")
|
||
|
||
all_results = []
|
||
|
||
for i, account in enumerate(accounts, 1):
|
||
print(f"\n🎯正在处理第 {i}/{len(accounts)} 个账号...")
|
||
|
||
# 解析账号格式:手机号&密码
|
||
if '&' in account:
|
||
username, password = account.split('&', 1)
|
||
username = username.strip()
|
||
password = password.strip()
|
||
else:
|
||
print(f"❌账号格式错误: {account}")
|
||
all_results.append({
|
||
'username': account,
|
||
'login_status': "账号格式错误",
|
||
'checkin_status': "未执行",
|
||
'weekly_tasks': ["账号格式错误,应为: 手机号&密码"]
|
||
})
|
||
continue
|
||
|
||
result = process_account(username, password)
|
||
all_results.append(result)
|
||
|
||
# 添加延迟,避免请求过于频繁
|
||
if i < len(accounts):
|
||
time.sleep(2)
|
||
|
||
# 生成汇总通知消息
|
||
is_monday = datetime.datetime.now().weekday() == 0
|
||
summary_msg = f"桃色Vip - 多账号运行结果\n"
|
||
summary_msg += f"📅执行时间: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n"
|
||
summary_msg += f"📊处理账号数: {len(all_results)}\n\n"
|
||
|
||
for i, result in enumerate(all_results, 1):
|
||
summary_msg += f"🔹账号{i}: {result['username']}\n"
|
||
summary_msg += f" 登录: {result['login_status']}\n"
|
||
summary_msg += f" 签到: {result['checkin_status']}\n"
|
||
|
||
if is_monday and result['weekly_tasks']:
|
||
for task in result['weekly_tasks']:
|
||
summary_msg += f" {task}\n"
|
||
else:
|
||
summary_msg += f" 每周任务: 未执行(非周一)\n"
|
||
|
||
summary_msg += "\n"
|
||
|
||
print(f"\n++++++++++所有账号处理完成++++++++++")
|
||
print(f"📨正在发送通知...")
|
||
|
||
# 发送汇总通知
|
||
send("桃色Vip", summary_msg)
|
||
|
||
print(f"✅程序执行完成")
|
||
|
||
if __name__ == "__main__":
|
||
main() |