// ==UserScript== // @name JD 全民养红包活动自动脚本 // @namespace https://greasyfork.org/zh-CN/users/230773 // @version 0.2.1 // @description 根据 https://www.iqshw.com/wyfx/173941.html 修改而来,可自动完成 JD 全民养红包活动 // @author hello world // @match https://happy.m.jd.com/babelDiy/GZWVJFLMXBQVEBDQZWMY/XJf8bH6oXDWSgS91daDJzXh9bU7/index.html // @require https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.min.js // @grant none // @downloadURL https://update.greasyfork.cloud/scripts/391525/JD%20%E5%85%A8%E6%B0%91%E5%85%BB%E7%BA%A2%E5%8C%85%E6%B4%BB%E5%8A%A8%E8%87%AA%E5%8A%A8%E8%84%9A%E6%9C%AC.user.js // @updateURL https://update.greasyfork.cloud/scripts/391525/JD%20%E5%85%A8%E6%B0%91%E5%85%BB%E7%BA%A2%E5%8C%85%E6%B4%BB%E5%8A%A8%E8%87%AA%E5%8A%A8%E8%84%9A%E6%9C%AC.meta.js // ==/UserScript== let productList = [], shopList = [], url = "https://api.m.jd.com/client.action"; function doLog(log) { console.log(log); if ($(".container .script-toast").length === 0) { let className = "script-toast"; $(".container .mod-toast").after(`
`); } let dom = $(`
${log}
`); $(".container .script-toast").append(dom); setTimeout(() => { $(dom).remove(); }, 3000); } function doAlert(log) { alert(log); } function autoPost(id, type) { fetch(`${url}?timestamp=${new Date().getTime()}`, { method: "POST", mode: "cors", credentials: "include", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: `functionId=raisepacket_collectScore&body={"type":${type},"ext":"${id}","appsign":1,"msgsign":2}&client=wh5` }).then(function (response) { return response.json() }).then(function (res) { doLog(res.data.biz_msg) }) } function start() { fetch(`${url}?${new Date().getTime()}`, { method: "POST", mode: "cors", credentials: "include", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: "functionId=raisepacket_getShopAndProductList&body=&client=wh5" }).then(function (response) { return response.json() }).then(function (res) { productList = res.data.result.productList; shopList = res.data.result.shopList; doLog(`获取到任务,商品:${productList.length}商品:${shopList.length}`); autoProductTask() }) } function autoProductTask() { for (let i = 0, leng = productList.length; i < leng; i++) { (function (index) { setTimeout(() => { let item = productList[index]; autoPost(item["id"], 4); doLog(`商品总任务数:${leng}当前任务数:${index+1}`); if (leng - 1 == index) { autoShopTask() } }, index * 1500) })(i) } } function autoShopTask() { for (let i = 0, leng = shopList.length; i < leng; i++) { (function (index) { setTimeout(() => { let item = shopList[index]; autoPost(item["id"], 2); doLog(`商铺总任务数:${leng}当前任务数:${index+1}`); if (leng - 1 == index) { autoPlay() } }, index * 1500) })(i) } } function autoPlay() { for (let i = 0, leng = 4; i < leng; i++) { (function (index) { setTimeout(() => { autoPost(0, 5); doLog(`好玩互动:${leng}当前任务数:${index+1}`); if (leng - 1 == index) { autoInteract() } }, index * 1000) })(i) } } function autoInteract() { for (let i = 0, leng = 4; i < leng; i++) { (function (index) { setTimeout(() => { autoPost(0, 10); doLog(`视频直播:${leng}当前任务数:${index+1}`); if (leng - 1 == index) { autoShopping() } }, index * 1000) })(i) } } function autoShopping() { for (let i = 0, leng = 3; i < leng; i++) { (function (index) { setTimeout(() => { autoPost(0, 3); doLog(`精彩会场:${leng}当前任务数:${index+1}`) if (leng - 1 == index) { doAlert("任务全部完成"); } }, index * 1000) })(i) } } start();