恢复老版本超级摇一摇
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* @Author: LXK9301
|
||||
* @Date: 2020-11-03 20:35:07
|
||||
* @Last Modified by: LXK9301
|
||||
* @Last Modified time: 2021-4-28 13:27:09
|
||||
* @Last Modified time: 2021-4-30 13:27:09
|
||||
*/
|
||||
/*
|
||||
活动入口:京东APP首页-领京豆-摇京豆/京东APP首页-我的-京东会员-摇京豆
|
||||
@@ -43,7 +43,7 @@ if ($.isNode()) {
|
||||
cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item);
|
||||
}
|
||||
let superShakeBeanConfig = {
|
||||
"superShakeUlr": "",//超级摇一摇活动链接
|
||||
"superShakeUlr": "https://h5.m.jd.com/babelDiy/Zeus/NhDN7crw5YhhNcFbwnuc6yGC4Sn/index.html",//超级摇一摇活动链接
|
||||
"superShakeBeanFlag": false,
|
||||
"superShakeTitle": "",
|
||||
"taskVipName": "",
|
||||
@@ -58,6 +58,9 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action';
|
||||
return;
|
||||
}
|
||||
await welcomeHome()
|
||||
if (superShakeBeanConfig['superShakeUlr']) {
|
||||
await getActInfo(superShakeBeanConfig['superShakeUlr']);
|
||||
}
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
if (cookiesArr[i]) {
|
||||
cookie = cookiesArr[i];
|
||||
@@ -128,7 +131,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action';
|
||||
const scaleUl = { "category": "jump", "des": "m", "url": superShakeBeanConfig['superShakeUlr'] };
|
||||
const openjd = `openjd://virtual?params=${encodeURIComponent(JSON.stringify(scaleUl))}`;
|
||||
if ($.isNode()) await notify.sendNotify($.name, `【${superShakeBeanConfig['superShakeTitle']}】活动再次开启\n【${superShakeBeanConfig['taskVipName'] || '开通会员'}】如需做此任务,请点击链接直达活动页面\n${superShakeBeanConfig['superShakeUlr']}`, { url: openjd });
|
||||
$.msg($.name, superShakeBeanConfig['superShakeTitle'], `【超级摇一摇】活动再次开启\n【${superShakeBeanConfig['taskVipName'] || '开通会员'}】如需做此任务,请点击弹窗直达活动页面`, { 'open-url': openjd })
|
||||
$.msg($.name,'', `【${superShakeBeanConfig['superShakeTitle'] || 超级摇一摇}】活动再次开启\n【${superShakeBeanConfig['taskVipName'] || '开通会员'}】请点击弹窗直达活动页面`, { 'open-url': openjd })
|
||||
}
|
||||
})()
|
||||
.catch((e) => {
|
||||
@@ -426,6 +429,14 @@ async function superShakeBean() {
|
||||
await superBrandMainPage();
|
||||
await lo();
|
||||
}
|
||||
if ($.ActInfo) {
|
||||
await fc_getHomeData($.ActInfo);//获取任务列表
|
||||
await doShakeTask($.ActInfo);//做任务
|
||||
await fc_getHomeData($.ActInfo, true);//做完任务后查询多少次摇奖次数
|
||||
await superShakeLottery($.ActInfo);//开始摇奖
|
||||
} else {
|
||||
console.log(`\n\n京东APP首页超级摇一摇:目前暂无活动\n\n`)
|
||||
}
|
||||
}
|
||||
function welcomeHome() {
|
||||
return new Promise(resolve => {
|
||||
@@ -447,8 +458,10 @@ function welcomeHome() {
|
||||
"receiverGeo": ""
|
||||
}
|
||||
const options = {
|
||||
url: `https://api.m.jd.com/client.action?functionId=welcomeHome&body=${escape(JSON.stringify(data))}&uuid=8888888&client=apple&clientVersion=9.4.1&st=1618538579097&sign=e29d09be25576be52ec22a3bb74d4f86&sv=100`,
|
||||
body: `body=${escape(JSON.stringify(data))}`,
|
||||
url: `https://api.m.jd.com/client.action?functionId=welcomeHome`,
|
||||
// url: `https://api.m.jd.com/client.action?functionId=welcomeHome&body=${escape(JSON.stringify(data))}&uuid=8888888&client=apple&clientVersion=9.4.1&st=1618538579097&sign=e29d09be25576be52ec22a3bb74d4f86&sv=100`,
|
||||
// body: `body=${escape(JSON.stringify(data))}`,
|
||||
body: `body=%7B%22homeAreaCode%22%3A%220%22%2C%22identity%22%3A%2288732f840b77821b345bf07fd71f609e6ff12f43%22%2C%22cycNum%22%3A1%2C%22fQueryStamp%22%3A%221619741900009%22%2C%22globalUIStyle%22%3A%229.0.0%22%2C%22showCate%22%3A%221%22%2C%22tSTimes%22%3A%220%22%2C%22geoLast%22%3A%22K3%252BcQaJxm9FzAm8%252BYHBwQKEMnguxItJAtNhFQOgUkktO5Vmidb%252BfKedLYq%252Fjlnc%252BK0ZsoA8jI8yXkYA6M2L5NYrGdBxZPbV%252FzT%252BU%252BHaCeNg%253D%22%2C%22geo%22%3A%22CZQirfKpZqpcvvBN0KadX76P55F3UdFoB2C3P0ZyHOXZWjeifB1aM0xH3BWx0YRlyu4eaUsfA3KpuoAraiffcw%253D%253D%22%2C%22cycFirstTimeStamp%22%3A%221619740961090%22%2C%22displayVersion%22%3A%229.0.0%22%2C%22geoReal%22%3A%22CZQirfKpZqpcvvBN0KadX76P55F3UdFoB2C3P0ZyHOXtnAGs7wzWHMkTSTIEj7qi%22%2C%22controlMaterials%22%3A%22null%22%2C%22xviewGuideFloor%22%3A%22index%2Ccategory%2Cfind%2Ccart%2Chome%22%2C%22fringe%22%3A%221%22%2C%22receiverGeo%22%3A%22mTBeEjk2Q83Kb3%252Fylt2Amm7iguwnhvKDgDnR18TktRpedJcPIHjALOIwGuNKAgau%22%7D&client=apple&clientVersion=9.4.6&d_brand=apple&isBackground=N&joycious=104&lang=zh_CN&networkType=4g&networklibtype=JDNetworkBaseAF&openudid=88732f840b77821b345bf07fd71f609e6ff12f43&osVersion=14.3&partner=apple&rfs=0000&scope=11&screen=828%2A1792&sign=69cc68677ae63b0a8737602766a0a340&st=1619741900013&sv=111&uts=0f31TVRjBSujckcdxhii7gq9cidRV4uxtCNZpaQs9IOuG5PD2oGme36aUnsUBSyCtrnCzcJjRQzsekOXnNu9XyW4W2UAsnnZ06POovikHhGabI9pwW8ZeJ2vmOBTWqWjA66DWDvRHGVeJeXzsm5xolz7r%2FX0APYfhg8I5QBwgKJfD3hzoXkHcnsGfMhHncRzuC4iOtgVG8L%2FnQyyNwXAJQ%3D%3D&uuid=hjudwgohxzVu96krv%2FT6Hg%3D%3D&wifiBssid=unknown`,
|
||||
headers: {
|
||||
"Accept": "*/*",
|
||||
"Accept-Encoding": "gzip, deflate, br",
|
||||
@@ -497,6 +510,197 @@ function welcomeHome() {
|
||||
})
|
||||
})
|
||||
}
|
||||
//=========老版本超级摇一摇================
|
||||
function getActInfo(url) {
|
||||
return new Promise(resolve => {
|
||||
$.get({
|
||||
url,
|
||||
headers:{
|
||||
// 'Cookie': cookie,
|
||||
'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"),
|
||||
},
|
||||
timeout: 10000
|
||||
},async (err,resp,data)=>{
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
data = data && data.match(/window\.__FACTORY__TAOYIYAO__STATIC_DATA__ = (.*)}/)
|
||||
if (data) {
|
||||
data = JSON.parse(data[1] + '}');
|
||||
if (data['pageConfig']) superShakeBeanConfig['superShakeTitle'] = data['pageConfig']['htmlTitle'];
|
||||
if (data['taskConfig']) {
|
||||
$.ActInfo = data['taskConfig']['taskAppId'];
|
||||
console.log(`\n获取【${superShakeBeanConfig['superShakeTitle']}】活动ID成功:${$.ActInfo}\n`);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
finally {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
function fc_getHomeData(appId, flag = false) {
|
||||
return new Promise(resolve => {
|
||||
const body = { appId }
|
||||
const options = taskPostUrl('fc_getHomeData', body)
|
||||
$.taskVos = [];
|
||||
$.lotteryNum = 0;
|
||||
$.post(options, async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} fc_getHomeData API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (data) {
|
||||
data = JSON.parse(data);
|
||||
if (data['code'] === 0) {
|
||||
if (data['data']['bizCode'] === 0) {
|
||||
const taskVos = data['data']['result']['taskVos'] || [];
|
||||
if (flag && $.index === 1) {
|
||||
superShakeBeanConfig['superShakeBeanFlag'] = true;
|
||||
superShakeBeanConfig['taskVipName'] = taskVos.filter(vo => !!vo && vo['taskType'] === 21)[0]['taskName'];
|
||||
}
|
||||
$.taskVos = taskVos.filter(item => !!item && item['status'] === 1) || [];
|
||||
$.lotteryNum = parseInt(data['data']['result']['lotteryNum']);
|
||||
$.lotTaskId = parseInt(data['data']['result']['lotTaskId']);
|
||||
} else if (data['data']['bizCode'] === 101) {
|
||||
console.log(`京东APP首页超级摇一摇: ${data['data']['bizMsg']}`);
|
||||
}
|
||||
} else {
|
||||
console.log(`获取超级摇一摇任务数据异常: ${JSON.stringify(data)}`)
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
} finally {
|
||||
resolve();
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
async function doShakeTask(appId) {
|
||||
for (let vo of $.taskVos) {
|
||||
if (vo['taskType'] === 21) {
|
||||
console.log(`${vo['taskName']} 跳过`);
|
||||
continue
|
||||
}
|
||||
if (vo['taskType'] === 9) {
|
||||
console.log(`开始做 ${vo['taskName']},等10秒`);
|
||||
const shoppingActivityVos = vo['shoppingActivityVos'];
|
||||
for (let task of shoppingActivityVos) {
|
||||
await fc_collectScore({
|
||||
appId,
|
||||
"taskToken": task['taskToken'],
|
||||
"taskId": vo['taskId'],
|
||||
"itemId": task['itemId'],
|
||||
"actionType": 1
|
||||
})
|
||||
await $.wait(10000)
|
||||
await fc_collectScore({
|
||||
appId,
|
||||
"taskToken": task['taskToken'],
|
||||
"taskId": vo['taskId'],
|
||||
"itemId": task['itemId'],
|
||||
"actionType": 0
|
||||
})
|
||||
}
|
||||
}
|
||||
if (vo['taskType'] === 1) {
|
||||
console.log(`开始做 ${vo['taskName']}, 等8秒`);
|
||||
const followShopVo = vo['followShopVo'];
|
||||
for (let task of followShopVo) {
|
||||
await fc_collectScore({
|
||||
appId,
|
||||
"taskToken": task['taskToken'],
|
||||
"taskId": vo['taskId'],
|
||||
"itemId": task['itemId'],
|
||||
"actionType": 1
|
||||
})
|
||||
await $.wait(9000)
|
||||
await fc_collectScore({
|
||||
appId,
|
||||
"taskToken": task['taskToken'],
|
||||
"taskId": vo['taskId'],
|
||||
"itemId": task['itemId'],
|
||||
"actionType": 0
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function fc_collectScore(body) {
|
||||
return new Promise(resolve => {
|
||||
const options = taskPostUrl('fc_collectScore', body)
|
||||
$.post(options, (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} fc_collectScore API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (data) {
|
||||
data = JSON.parse(data);
|
||||
console.log(`${JSON.stringify(data)}`)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
} finally {
|
||||
resolve();
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
async function superShakeLottery(appId) {
|
||||
if ($.lotteryNum) console.log(`\n\n开始京东APP首页超级摇一摇 摇奖`);
|
||||
for (let i = 0; i < new Array($.lotteryNum).fill('').length; i++) {
|
||||
await fc_getLottery(appId);//抽奖
|
||||
await $.wait(1000)
|
||||
}
|
||||
if ($.superShakeBeanNum > 0) {
|
||||
message += `${message ? '\n' : ''}${superShakeBeanConfig['superShakeTitle']}:获得${$.superShakeBeanNum}京豆`
|
||||
allMessage += `京东账号${$.index}${$.nickName || $.UserName}\n${superShakeBeanConfig['superShakeTitle']}:获得${$.superShakeBeanNum}京豆${$.index !== cookiesArr.length ? '\n\n' : ''}`;
|
||||
}
|
||||
}
|
||||
function fc_getLottery(appId) {
|
||||
return new Promise(resolve => {
|
||||
const body = {appId, "taskId": $.lotTaskId}
|
||||
const options = taskPostUrl('fc_getLotteryResult', body)
|
||||
$.post(options, (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} fc_collectScore API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (data) {
|
||||
data = JSON.parse(data);
|
||||
if (data && data['data']['bizCode'] === 0) {
|
||||
$.myAwardVo = data['data']['result']['myAwardVo'];
|
||||
if ($.myAwardVo) {
|
||||
console.log(`超级摇一摇 抽奖结果:${JSON.stringify($.myAwardVo)}`)
|
||||
if ($.myAwardVo['type'] === 2) {
|
||||
$.superShakeBeanNum = $.superShakeBeanNum + parseInt($.myAwardVo['jBeanAwardVo']['quantity']);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.log(`超级摇一摇 抽奖异常: ${JSON.stringify(data)}`)
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
} finally {
|
||||
resolve();
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
//===================新版超级本摇一摇==============
|
||||
function superBrandMainPage() {
|
||||
return new Promise(resolve => {
|
||||
@@ -777,7 +981,7 @@ function qryCompositeMaterials(type = "productGroup", id = $.cmsTaskGroupId, map
|
||||
if (data['code'] === '0') {
|
||||
if (mapTo === 'Brands') {
|
||||
$.stageName = data.data.Brands.stageName;
|
||||
console.log(`【${$.stageName} brandActivityId】:${data.data.Brands.list[0].extension.copy1}`)
|
||||
console.log(`\n\n【${$.stageName} brandActivityId】:${data.data.Brands.list[0].extension.copy1}`)
|
||||
$.brandActivityId = data.data.Brands.list[0].extension.copy1 || $.brandActivityId;
|
||||
} else {
|
||||
const { list } = data['data']['Tasks0'];
|
||||
|
Reference in New Issue
Block a user