mirror of
https://github.com/qitoqito/psyduck.git
synced 2026-01-13 05:50:43 +08:00
232 lines
11 KiB
JavaScript
232 lines
11 KiB
JavaScript
import {Template} from '../../template.js'
|
|
|
|
export class Main extends Template {
|
|
constructor() {
|
|
super()
|
|
this.profile = {
|
|
title: '京东玩一玩',
|
|
prompt: {
|
|
turnNum: ' #翻倍奖票数,默认10',
|
|
turnDouble: ' #翻倍奖票次数,默认1',
|
|
turnJump: " #部分号翻倍一直失败,可以只做任务跳过翻倍,pin1|pin2"
|
|
},
|
|
model: 'shuffle',
|
|
headers: {
|
|
referer: 'https://pro.m.jd.com/mall/active/3fcyrvLZALNPWCEDRvaZJVrzek8v/index.html',
|
|
},
|
|
turn: 2,
|
|
crontab: 8,
|
|
tempKey: 8640000000
|
|
}
|
|
}
|
|
|
|
async prepare() {
|
|
}
|
|
|
|
async main(p) {
|
|
let user = p.data.user;
|
|
let context = p.context;
|
|
let home = await this.curl({
|
|
'url': `https://api.m.jd.com/client.action`,
|
|
'form': `functionId=wanyiwan_home&appid=signed_wh5&body={"outsite":0,"firstCall":0,"version":7,"babelChannel":"ttt10"}&rfs=0000&screen=390*844&build=169480&osVersion=15.1.1&networkType=wifi&d_brand=iPhone&d_model=iPhone13%2C3&client=apple&clientVersion=13.2.2`,
|
|
user,
|
|
algo: {
|
|
appId: 'c81ad',
|
|
expire: {
|
|
'data.result.isLogin': false
|
|
}
|
|
}
|
|
}
|
|
)
|
|
let result = this.haskey(home, 'data.result')
|
|
if (!result) {
|
|
p.info.jump = true
|
|
p.err("没有获取到数据...")
|
|
return
|
|
}
|
|
let oldScore = this.haskey(home, 'data.result.score') || 0
|
|
p.log("当前奖票:", oldScore)
|
|
if (this.turnCount == 0) {
|
|
let status = 1
|
|
let taskList = await this.curl({
|
|
'url': `https://api.m.jd.com/client.action`,
|
|
'form': `functionId=wanyiwan_task_list&appid=signed_wh5&body={"showShortcut":true,"version":7,"lbsSwitch":true}&rfs=0000`,
|
|
user,
|
|
}
|
|
)
|
|
for (let i of this.haskey(taskList, 'data.result.taskList')) {
|
|
if (i.status == 3) {
|
|
status = 1
|
|
p.log("任务完成:", i.title)
|
|
}
|
|
else {
|
|
if (i.title.includes('下单')) {
|
|
}
|
|
else {
|
|
status = 0
|
|
p.log("正在运行:", i.title)
|
|
let d = await this.curl({
|
|
'url': `https://api.m.jd.com/client.action`,
|
|
'form': `functionId=wanyiwan_do_task&appid=signed_wh5&body={"itemId":"${this.haskey(i, 'taskDetail.0.itemId') || 0}","taskType":${i.taskType},"assignmentId":"${i.encryptAssignmentId}","actionType":1,"version":1}&rfs=0000&openudid=de21c6604748f97dd3977153e51a47f4efdb9a47&screen=390*844&build=168960&osVersion=15.1.1&networkType=wifi&d_brand=iPhone&d_model=iPhone13%2C3&client=apple&clientVersion=13.2.2`,
|
|
user,
|
|
algo: {
|
|
appId: '89db2'
|
|
}
|
|
}
|
|
)
|
|
if (i.limitTime) {
|
|
await this.wait(i.limitTime * 1000)
|
|
}
|
|
let r = await this.curl({
|
|
'url': `https://api.m.jd.com/client.action`,
|
|
'form': `functionId=wanyiwan_do_task&appid=signed_wh5&body={"itemId":"${this.haskey(i, 'taskDetail.0.itemId') || 0}","taskType":${i.taskType},"assignmentId":"${i.encryptAssignmentId}","actionType":0,"version":1}&rfs=0000&openudid=de21c6604748f97dd3977153e51a47f4efdb9a47&screen=390*844&build=168858&osVersion=15.1.1&networkType=wifi&d_brand=iPhone&d_model=iPhone13%2C3&client=apple&clientVersion=13.2.2`,
|
|
user,
|
|
algo: {
|
|
appId: '89db2'
|
|
}
|
|
}
|
|
)
|
|
// p.log(r.data)
|
|
let a = await this.curl({
|
|
'url': `https://api.m.jd.com/client.action`,
|
|
'form': `functionId=wanyiwan_task_receive_award&appid=signed_wh5&body={"taskType":${i.taskType},"assignmentId":"${i.encryptAssignmentId}","version":1}&rfs=0000&openudid=de21c6604748f97dd3977153e51a47f4efdb9a47&screen=390*844&build=168960&osVersion=15.1.1&networkType=wifi&d_brand=iPhone&d_model=iPhone13%2C3&client=apple&clientVersion=13.2.2`,
|
|
user,
|
|
algo: {
|
|
appId: 'd12dd'
|
|
},
|
|
}
|
|
)
|
|
p.log(a.data)
|
|
if (this.haskey(a, 'data.result')) {
|
|
status = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (status) {
|
|
p.info.work = true
|
|
}
|
|
}
|
|
else if (this.turnCount == 1) {
|
|
if (this.profile.turnJump && this.profile.turnJump.includes(user)) {
|
|
p.log("该账号跳过翻倍")
|
|
}
|
|
else {
|
|
let turn = await this.curl({
|
|
'url': `https://api.m.jd.com/client.action`,
|
|
'form': `functionId=turnHappyHome&body={"linkId":"-EMTEb8A0id6HvUY2qV7xQ","turnNum":"10"}&t=1715954317613&appid=activities_platform&client=apple&clientVersion=13.2.2`,
|
|
user,
|
|
algo: {
|
|
appId: '614f1'
|
|
}
|
|
}
|
|
)
|
|
if (this.haskey(turn, 'data.leftTime')) {
|
|
p.log("剩余翻倍时间:", parseInt(turn.data.leftTime / 1000))
|
|
}
|
|
else if (this.haskey(turn, 'data.reachDayLimit')) {
|
|
p.log("翻倍次数上限")
|
|
p.info.complete = true
|
|
}
|
|
else {
|
|
let num = this.profile.turnNum || 10
|
|
if (oldScore && num>oldScore) {
|
|
num = oldScore
|
|
}
|
|
p.log("开始翻倍,使用奖票数量:", num)
|
|
let count = this.profile.turnDouble || 1
|
|
let ok = 1
|
|
for (let _ = 1; _<=count; _++) {
|
|
var turnNum = (_ == 1) ? num : "-1"
|
|
let double = await this.curl({
|
|
'url': `https://api.m.jd.com/client.action`,
|
|
'form': `functionId=turnHappyDouble&body={"linkId":"-EMTEb8A0id6HvUY2qV7xQ","turnNum":"${turnNum}"}&t=1715954317613&appid=activities_platform&client=apple&clientVersion=13.2.2`,
|
|
user,
|
|
algo: {
|
|
appId: '614f1'
|
|
}
|
|
}
|
|
)
|
|
p.log("翻倍中...", this.haskey(double, 'data.rewardValue'))
|
|
if (this.haskey(double, 'data.rewardState', 3)) {
|
|
p.log("翻倍失败...")
|
|
ok = 0
|
|
break
|
|
}
|
|
else if (this.haskey(double, 'code', 220001)) {
|
|
p.log("今日参与已达上限...")
|
|
break
|
|
}
|
|
await this.wait(3000)
|
|
}
|
|
if (ok) {
|
|
let rec = await this.curl({
|
|
'url': `https://api.m.jd.com/client.action`,
|
|
'form': `functionId=turnHappyReceive&body={"linkId":"-EMTEb8A0id6HvUY2qV7xQ"}&t=1715954317613&appid=activities_platform&client=apple&clientVersion=13.2.2`,
|
|
user,
|
|
algo: {
|
|
appId: '25fac'
|
|
}
|
|
}
|
|
)
|
|
p.log("结束翻倍...", this.haskey(rec, 'data.rewardValue'))
|
|
}
|
|
}
|
|
}
|
|
for (let i of Array(3)) {
|
|
home = await this.curl({
|
|
'url': `https://api.m.jd.com/client.action`,
|
|
'form': `functionId=wanyiwan_home&appid=signed_wh5&body={"outsite":0,"firstCall":0,"version":7,"babelChannel":"ttt10"}&rfs=0000&openudid=674ce0d97511f5ed054c3dc0af093b3b245ab68d&screen=390*844&build=169480&osVersion=15.1.1&networkType=wifi&d_brand=iPhone&d_model=iPhone13%2C3&client=apple&clientVersion=13.2.2`,
|
|
user,
|
|
algo: {
|
|
appId: 'c81ad'
|
|
}
|
|
}
|
|
)
|
|
if (this.haskey(home, 'data.result')) {
|
|
break
|
|
}
|
|
else {
|
|
await this.wait(1000)
|
|
}
|
|
}
|
|
let score = this.haskey(home, 'data.result.score') || 0
|
|
if (score) {
|
|
if (oldScore) {
|
|
let diff = score - oldScore
|
|
if (diff) {
|
|
p.msg(`本轮${diff>0 ? '增加' : "损失"}: ${diff}`)
|
|
}
|
|
}
|
|
}
|
|
let record = await this.curl({
|
|
'url': `https://api.m.jd.com/client.action`,
|
|
'form': `functionId=wanyiwan_point_record&appid=signed_wh5&body={"pageNum":1,"version":1}&rfs=0000`,
|
|
user
|
|
}
|
|
)
|
|
let now = new Date();
|
|
let year = now.getFullYear();
|
|
let month = (now.getMonth() + 1).toString().padStart(2, '0');
|
|
let day = now.getDate().toString().padStart(2, '0');
|
|
let ymd = `${year}-${month}-${day}`;
|
|
let ymd2 = `${year}.${month}.${day}`;
|
|
let report = (this.haskey(record, 'data.result.pointsRecords') || []).filter(d => d.sendTime == ymd || d.sendTime == ymd2).filter(d => d.pointName == '1002')
|
|
let use = report.filter(d => d.operateType == '3')
|
|
let suc = report.filter(d => d.operateType == '1')
|
|
let x = use.reduce((v, k) => {
|
|
v += k.pointValue
|
|
return v
|
|
}, 0)
|
|
let y = suc.reduce((v, k) => {
|
|
v += k.pointValue
|
|
return v
|
|
}, 0)
|
|
// console.log(x,y)
|
|
let z = y - x
|
|
p.msg(`当前奖票: ${score} \n翻倍次数: ${use.length}, 消耗奖票: ${x}, 获得奖票: ${y}, ${z>0 ? '增加' : "损失"}奖票: ${z} \n盈亏占比: ${suc.length}/${use.length - suc.length}`)
|
|
}
|
|
}
|
|
}
|
|
|