优化 首页超级摇一摇

This commit is contained in:
lxk0301
2021-03-27 00:51:31 +08:00
parent 614ff763d5
commit a9189f2bf9

View File

@@ -2,7 +2,7 @@
* @Author: LXK9301
* @Date: 2020-11-03 20:35:07
* @Last Modified by: LXK9301
* @Last Modified time: 2021-3-26 12:27:09
* @Last Modified time: 2021-3-27 0:27:09
*/
/*
活动入口京东APP首页-领京豆-摇京豆/京东APP首页-我的-京东会员-摇京豆
@@ -90,7 +90,7 @@ async function clubLottery() {
await vvipclub_receive_lottery_times();//京东会员:领取一次免费的机会
await vvipclub_shaking_info();//京东会员:查询多少次摇奖次数
await shaking();//开始摇奖
await getActInfo();
await superShakeBean();//京东APP首页超级摇一摇
} catch (e) {
$.logErr(e)
}
@@ -360,14 +360,26 @@ function shakeBean() {
})
}
//超级摇一摇(此处功能部分京东API抓包自https://github.com/i-chenzhe/qx/blob/main/jd_shake.js)
async function superShakeBean() {
await getActInfo();
if ($.ActInfo) {
await fc_getHomeData($.ActInfo);//获取任务列表
await doShakeTask($.ActInfo);//做任务
await fc_getHomeData($.ActInfo);//做完任务后查询多少次摇奖次数
await superShakeLottery($.ActInfo);//开始摇奖
} else {
console.log(`京东APP首页超级摇一摇目前暂无活动`)
}
}
function getActInfo(url='https://h5.m.jd.com/babelDiy/Zeus/4SXuJSqKganGpDSEMEkJWyBrBHcM/index.html') {
return new Promise(resolve => {
$.get({
url: url,
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) {
@@ -377,12 +389,10 @@ function getActInfo(url='https://h5.m.jd.com/babelDiy/Zeus/4SXuJSqKganGpDSEMEkJW
data = data.match(/window\.__FACTORY__TAOYIYAO__STATIC_DATA__ = (.*)}/)
if (data) {
data = JSON.parse(data[1] + '}');
if (data['taskConfig']) $.ActInfo = data['taskConfig']['taskAppId'];
console.log(`京东APP首页超级摇一摇 活动ID${$.ActInfo}`);
await fc_getHomeData($.ActInfo);//获取任务列表
await doShakeTask($.ActInfo);//做任务
await fc_getHomeData($.ActInfo);//做完任务后查询多少次摇奖次数
await superShakeLottery($.ActInfo);//开始摇奖
if (data['taskConfig']) {
$.ActInfo = data['taskConfig']['taskAppId'];
console.log(`\n获取京东APP首页超级摇一摇活动ID成功${$.ActInfo}\n`);
}
}
}
} catch (e) {
@@ -399,6 +409,7 @@ function fc_getHomeData(appId) {
const body = { appId }
const options = taskPostUrl('fc_getHomeData', body)
$.taskVos = [];
$.lotteryNum = 0;
$.post(options, async (err, resp, data) => {
try {
if (err) {
@@ -411,6 +422,8 @@ function fc_getHomeData(appId) {
$.taskVos = data['data']['result']['taskVos'].filter(item => !!item && item['status'] === 1) || [];
$.lotteryNum = parseInt(data['data']['result']['lotteryNum']);
$.lotTaskId = parseInt(data['data']['result']['lotTaskId']);
} else if (data && data['data']['bizCode'] === 101) {
console.log(`获取超级摇一摇: ${data['data']['bizMsg']}`);
} else {
console.log(`获取超级摇一摇任务数据异常: ${JSON.stringify(data)}`)
}
@@ -498,7 +511,7 @@ function fc_collectScore(body) {
}
async function superShakeLottery(appId) {
$.superShakeBeanNum = 0;
console.log(`\n\n开始京东APP首页超级摇一摇 摇奖`);
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)