Collect authenticated Qinglong scripts batch
This commit is contained in:
170
脚本库/web版/抓包/mtmc/2023-02-01_mtmc_7c844a5f.js
Normal file
170
脚本库/web版/抓包/mtmc/2023-02-01_mtmc_7c844a5f.js
Normal file
@@ -0,0 +1,170 @@
|
||||
// # Source: https://github.com/Wenmoux/checkbox/blob/master/scripts/mtmc.js
|
||||
// # Raw: https://raw.githubusercontent.com/Wenmoux/checkbox/master/scripts/mtmc.js
|
||||
// # Repo: Wenmoux/checkbox
|
||||
// # Path: scripts/mtmc.js
|
||||
// # UploadedAt: 2023-02-01T08:53:28Z
|
||||
// # SHA256: 7c844a5f0b597749d681c654ff47966a18bb9e725624d5125e3559184356fbfa
|
||||
// # Category: web版/抓包
|
||||
// # Evidence: web/H5关键词 + cookie/token/header
|
||||
//
|
||||
|
||||
const axios = require("axios");
|
||||
const {
|
||||
MTMC_userId,
|
||||
MTMC_fingerprint,
|
||||
MTMC_token,
|
||||
MTMC_uuid
|
||||
} = config.MeiTuan
|
||||
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
|
||||
|
||||
function get(task, method = "get", data = null) {
|
||||
return new Promise(async (resolve) => {
|
||||
try {
|
||||
let url = `https://mall.meituan.com/api/c/mallcoin/${task}&app_tag=union&bizId=2&ci=2&page_type=h5&poi=10000380&poiId=66&tenantId=1&t=${MTMC_token}&uci=-1&userid=${MTMC_userId}&utm_medium=android&utm_term=5.38.0&uuid=${MTMC_uuid}&xuuid=`
|
||||
const headers = {
|
||||
t: MTMC_token,
|
||||
"user-agent": "Mozilla/5.0 (Linux; Android 11; MEIZU 18 Pro Build/RKQ1.201105.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/104.0.5112.69 Mobile Safari/537.36 TitansX/20.12.6 KNB/1.2.0 android/11 com.meituan.retail.v.android/armv7 App/11g20/5.38.0 com.meituan.retail.v.android/5.38.0",
|
||||
Host: "mall.meituan.com",
|
||||
"X-Requested-With": "com.meituan.retail.v.android",
|
||||
"Content-Type": "application/json; charset=utf-8"
|
||||
}
|
||||
|
||||
//console.log(headers)
|
||||
if (method == "get") res = await axios.get(url, {
|
||||
headers
|
||||
});
|
||||
if (data) {
|
||||
xxstr = {
|
||||
"platform": 4,
|
||||
"app": 95,
|
||||
"utm_term": "5.38.0",
|
||||
"uuid": MTMC_uuid,
|
||||
"fingerprint": MTMC_fingerprint,
|
||||
"utm_medium": 95
|
||||
}
|
||||
data.riskMap ==
|
||||
Object.assign(data.riskMap, xxstr)
|
||||
}
|
||||
// console.log(data)
|
||||
if (method == "post") res = await axios.post(url, data, {
|
||||
headers
|
||||
});
|
||||
if (res.data.code == 0) console.log(" 操作成功")
|
||||
// console.log(headers)
|
||||
// console.log(res.data)
|
||||
resolve(res.data)
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
resolve({
|
||||
code: 500,
|
||||
error: {
|
||||
msg: "签到接口请求出错"
|
||||
}
|
||||
})
|
||||
}
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
async function getaskList() {
|
||||
console.log("查询任务列表")
|
||||
let res = await get("checkIn/queryTaskListInfoV3?&channel=1", "post", {
|
||||
"riskMap": {
|
||||
"partner": 109,
|
||||
"campaignId": 1002,
|
||||
"campaignName": "买菜币"
|
||||
}
|
||||
})
|
||||
if (res.code == 0 && res.data) return res.data.checkInTaskInfos.filter(x => x.id == 52 && x.taskFinishCount != x.taskChance || x.status == 100)
|
||||
return []
|
||||
}
|
||||
|
||||
|
||||
async function sign() {
|
||||
signmsg = ""
|
||||
console.log("去签到:")
|
||||
let signRes = await get("checkIn/userCheckInNew?", "post", {
|
||||
"userId": MTMC_userId,
|
||||
"riskMap": {}
|
||||
})
|
||||
if (signRes.code == 0) {
|
||||
if (signRes.data.result) signmsg = `签到成功!获得 ${signRes.data.rewardValue} 买菜币`
|
||||
else signmsg = `签到失败!可能签到过啦`
|
||||
console.log(" " + signmsg)
|
||||
|
||||
} else signmsg = signRes.error.msg
|
||||
//console.log(signRes)/
|
||||
//
|
||||
for (rewardDate of [3, 7]) {
|
||||
await get("checkIn/getWeekContinuousRewardNew?", "post", {
|
||||
userId: MTMC_userId,
|
||||
rewardDate: rewardDate,
|
||||
"riskMap": {}
|
||||
})
|
||||
}
|
||||
return signmsg
|
||||
}
|
||||
//浏览任务
|
||||
async function view() {
|
||||
let taskList = await getaskList()
|
||||
if (taskList.length != 0) {
|
||||
let task = taskList[0]
|
||||
//领取
|
||||
console.log("浏览任务开始:\n 去领取浏览任务:")
|
||||
console.log(" " + task.buttonDesc)
|
||||
if (task) {
|
||||
|
||||
if (task.buttonDesc == "领任务" || task.status == 10) {
|
||||
let lqRes = await get("checkIn/takeTask?activityId=33&taskId=52&channel=1")
|
||||
if (lqRes && lqRes.code == 0) {
|
||||
console.log(" 领取成功\n等待17s")
|
||||
await sleep(17 * 1000)
|
||||
await get("checkIn/taskEventComplete?eventType=6&channel=1")
|
||||
|
||||
} else console.log(" " + lqRes.error.msg)
|
||||
taskList = await getaskList()
|
||||
task = taskList[0]
|
||||
}
|
||||
|
||||
if (task.buttonDesc == "领奖励") {
|
||||
await sleep(3 * 1000)
|
||||
console.log(" 去领取奖励:")
|
||||
let lqReward = await get(`checkIn/takeTaskReward?activityId=33&taskId=52&rewardId=774&taskType=6&userTaskId=${task.userTaskId}&channel=1`)
|
||||
if (lqReward && lqReward.code == 0) {
|
||||
console.log(` 领取成功!获得 ${lqReward.data.rewardType} ${lqReward.data.rewardValue}`)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
} else console.log(" 暂无可领取任务")
|
||||
}
|
||||
}
|
||||
async function getmyb() {
|
||||
let res = await get("checkIn/getCheckInMainView?")
|
||||
if (res && res.code == 0) return `\n 我的菜币:${res.data.userInfo.balance}\n 签到天数:${res.data.checkInCount}\n smjb:${res.data.noticeDetail}\n`
|
||||
else return ""
|
||||
|
||||
}
|
||||
|
||||
async function share() {
|
||||
console.log("去分享:")
|
||||
let res = await get("checkIn/getShareReward?shareBusinessType=2&")
|
||||
if (res.code == 0) {
|
||||
if (res.data.result) console.log(` 分享成功!获得 ${res.data.rewardValue}菜币`)
|
||||
else console.log(" 分享过啦")
|
||||
}
|
||||
}
|
||||
async function meituanmc() {
|
||||
let signMsg = await sign()
|
||||
await view()
|
||||
await share()
|
||||
myInfo = await getmyb()
|
||||
content = ` 【美团买菜】 签到:${signMsg} ${myInfo}`
|
||||
console.log(myInfo)
|
||||
return content
|
||||
}
|
||||
|
||||
|
||||
|
||||
module.exports = meituanmc
|
||||
Reference in New Issue
Block a user