MCPcopy Create free account
hub / github.com/Semporia/Scripts / doTask

Function doTask

jd_summer_movement.js:241–311  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

239async function getBody($) {const zf = new MovementFaker($.cookie);const ss = await zf.run();return ss;}
240
241async function doTask(){
242 //做任务
243 for (let i = 0; i < $.taskList.length; i++) {
244 $.oneTask = $.taskList[i];
245 if ([1, 3, 5, 7, 9, 26].includes($.oneTask.taskType) && $.oneTask.status === 1) {
246 $.activityInfoList = $.oneTask.shoppingActivityVos || $.oneTask.brandMemberVos || $.oneTask.followShopVo || $.oneTask.browseShopVo;
247 for (let j = 0; j < $.activityInfoList.length; j++) {
248 $.oneActivityInfo = $.activityInfoList[j];
249 if ($.oneActivityInfo.status !== 1 || !$.oneActivityInfo.taskToken) {
250 continue;
251 }
252 $.callbackInfo = {};
253 console.log(`做任务:${$.oneActivityInfo.title || $.oneActivityInfo.taskName || $.oneActivityInfo.shopName};等待完成`);
254 await takePostRequest('olympicgames_doTaskDetail');
255 if ($.callbackInfo.code === 0 && $.callbackInfo.data && $.callbackInfo.data.result && $.callbackInfo.data.result.taskToken) {
256 console.log(`等待8秒`);
257 await $.wait(8000);
258 let sendInfo = encodeURIComponent(`{"dataSource":"newshortAward","method":"getTaskAward","reqParams":"{\\"taskToken\\":\\"${$.callbackInfo.data.result.taskToken}\\"}","sdkVersion":"1.0.0","clientLanguage":"zh"}`)
259 await callbackResult(sendInfo)
260 } else if ($.oneTask.taskType === 5 || $.oneTask.taskType === 3 || $.oneTask.taskType === 26) {
261 await $.wait(2000);
262 console.log(`任务完成`);
263 } else {
264 console.log($.callbackInfo);
265 console.log(`任务失败`);
266 await $.wait(3000);
267 }
268 }
269 } else if ($.oneTask.taskType === 2 && $.oneTask.status === 1 && $.oneTask.scoreRuleVos[0].scoreRuleType === 2){
270 console.log(`做任务:${$.oneTask.taskName};等待完成 (实际不会添加到购物车)`);
271 $.taskId = $.oneTask.taskId;
272 $.feedDetailInfo = {};
273 await takePostRequest('olympicgames_getFeedDetail');
274 let productList = $.feedDetailInfo.productInfoVos;
275 let needTime = Number($.feedDetailInfo.maxTimes) - Number($.feedDetailInfo.times);
276 for (let j = 0; j < productList.length && needTime > 0; j++) {
277 if(productList[j].status !== 1){
278 continue;
279 }
280 $.taskToken = productList[j].taskToken;
281 console.log(`加购:${productList[j].skuName}`);
282 await takePostRequest('add_car');
283 await $.wait(1500);
284 needTime --;
285 }
286 }else if ($.oneTask.taskType === 2 && $.oneTask.status === 1 && $.oneTask.scoreRuleVos[0].scoreRuleType === 0){
287 $.activityInfoList = $.oneTask.productInfoVos ;
288 for (let j = 0; j < $.activityInfoList.length; j++) {
289 $.oneActivityInfo = $.activityInfoList[j];
290 if ($.oneActivityInfo.status !== 1 || !$.oneActivityInfo.taskToken) {
291 continue;
292 }
293 $.callbackInfo = {};
294 console.log(`做任务:浏览${$.oneActivityInfo.skuName};等待完成`);
295 await takePostRequest('olympicgames_doTaskDetail');
296 if ($.oneTask.taskType === 2) {
297 await $.wait(2000);
298 console.log(`任务完成`);

Callers 1

mainFunction · 0.70

Calls 4

takePostRequestFunction · 0.70
callbackResultFunction · 0.70
logMethod · 0.45
waitMethod · 0.45

Tested by

no test coverage detected