65 lines
2.7 KiB
JavaScript
65 lines
2.7 KiB
JavaScript
|
//40 5,12,21 * * * m_jd_pet_automation.js
|
|||
|
//问题反馈:https://t.me/Wall_E_Channel
|
|||
|
const {Env} = require('./magic');
|
|||
|
const $ = new Env('M萌宠自动化');
|
|||
|
let commodityName = process.env.M_JD_PET_COMMODITY
|
|||
|
? process.env.M_JD_PET_COMMODITY
|
|||
|
: ''
|
|||
|
$.log('默认4级商品,生产指定商品请自行配置 M_JD_PET_COMMODITY')
|
|||
|
$.logic = async function () {
|
|||
|
let info = await api('initPetTown', {"version": 1});
|
|||
|
$.log(JSON.stringify(info));
|
|||
|
debugger
|
|||
|
if (info?.result?.petStatus < 5) {
|
|||
|
return
|
|||
|
}
|
|||
|
if (info?.result?.petStatus === 5) {
|
|||
|
$.log(info?.result?.goodsInfo);
|
|||
|
let activityId = info?.result?.goodsInfo.activityId;
|
|||
|
let activityIds = info?.result?.goodsInfo.activityIds;
|
|||
|
let data = await api('redPacketExchange',
|
|||
|
{"activityId": activityId, "activityIds": activityIds});
|
|||
|
$.putMsg(`${info?.result?.goodsInfo.exchangeMedalNum === 4 ? '12'
|
|||
|
: '25'}红包,${$.formatDate(
|
|||
|
$.timestamp() + data.result.pastDays * 24 * 60 * 60 * 1000)}过期`)
|
|||
|
info = await api('initPetTown', {"version": 1});
|
|||
|
}
|
|||
|
if (info?.result?.petStatus === 6) {
|
|||
|
info = await api('goodsInfoList', {"type": 2})
|
|||
|
let goods = commodityName ? info.result.goodsList.filter(
|
|||
|
o => o.goodsName.includes(commodityName))[0]
|
|||
|
: info.result.goodsList.filter(o => o.exchangeMedalNum === 4)[0];
|
|||
|
if (!goods) {
|
|||
|
$.putMsg(`没找到你要生产的 ${commodityName}`)
|
|||
|
return
|
|||
|
}
|
|||
|
info = await api('goodsInfoUpdate', {"goodsId": goods.goodsId})
|
|||
|
$.putMsg(`生产【${info.result.goodsInfo.goodsName}】成功`)
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
$.run({
|
|||
|
wait: [2000, 3000], whitelist: ['1-15']
|
|||
|
}).catch(
|
|||
|
reason => $.log(reason));
|
|||
|
|
|||
|
// noinspection DuplicatedCode
|
|||
|
async function api(fn, body) {
|
|||
|
let url = `https://api.m.jd.com/client.action?functionId=${fn}&body=${JSON.stringify(
|
|||
|
body)}&client=apple&clientVersion=10.0.4&osVersion=13.7&appid=wh5&loginType=2&loginWQBiz=pet-town`
|
|||
|
//↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓请求头↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
|
|||
|
let headers = {
|
|||
|
"Cookie": $.cookie,
|
|||
|
"Connection": "keep-alive",
|
|||
|
"Accept": "*/*",
|
|||
|
"Host": "api.m.jd.com",
|
|||
|
'User-Agent': `Mozilla/5.0 (iPhone; CPU iPhone OS 14_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.4(0x1800042c) NetType/4G Language/zh_CN miniProgram`,
|
|||
|
"Accept-Encoding": "gzip, deflate, br",
|
|||
|
"Accept-Language": "zh-cn"
|
|||
|
}
|
|||
|
let {data} = await $.request(url, headers)
|
|||
|
await $.wait(1000, 3000)
|
|||
|
return data;
|
|||
|
}
|
|||
|
|