EVE/m_jd_open_card.js
2024-10-29 11:02:27 +08:00

163 lines
6.1 KiB
JavaScript

let mode = __dirname.includes('magic')
const {Env} = mode ? require('../magic') : require('./magic')
const $ = new Env('M入会有礼');
$.openCardArgv = decodeURIComponent(process.argv.splice(2)?.[0] || process.env.M_OPEN_CARD_ARGV);
if (mode) {
$.openCardArgv = '650767_655224'
$.openCardArgv = 'https://shopmember.m.jd.com/shopcard/?shopId=123'
$.openCardArgv = 'https://shopmember.m.jd.com/shopcard/?venderId=123'
$.openCardArgv = 'https://shopmember.m.jd.com/shopcard/?shopId=123&venderId=123'
}
//强制开卡 1关闭 2开启
let forceOpen = parseInt(process.env.M_OPEN_CARD_FORCE || "1")
$.version = "v1.0.0";
console.log("当前版本:" + $.version + ",依赖版本:" + $.superVersion);
$.config = async function () {
if ($.openCardArgv.startsWith("http")) {
$.shopId = this.getQueryString($.openCardArgv, "shopId") || "";
$.venderId = this.getQueryString($.openCardArgv, "venderId") || "";
let {
shopId: II1l1l,
venderId: i1Ii11,
shopName: llI1ii
} = await $.getShopBaseInfo();
$.shopId = II1l1l;
$.venderId = i1Ii11;
$.shopName = llI1ii;
} else {
let IllIlIli = $.openCardArgv.split("_");
$.shopId = IllIlIli?.[0];
$.venderId = IllIlIli?.[1];
}
$.activityUrl = "https://shopmember.m.jd.com/shopcard/?shopId=" + $.shopId + "&venderId=" + $.venderId;
};
$.logic = async function () {
if (!$.superVersion) throw new Error("请更新脚本");
if (!$.shopId || !$.venderId) {
$.log("无效的参数" + $.openCardArgv);
$.expire = true;
return;
}
$.UA = $.ua();
let IIl1I11i = await $.openCardInfo();
if (IIl1I11i?.["busiCode"] !== "0") {
$.log(JSON.stringify(IIl1I11i));
return;
}
$.venderCardName = IIl1I11i.result?.["shopMemberCardInfo"]?.["venderCardName"];
let i1lII1l = IIl1I11i.result?.["interestsRuleList"] || [],
Ii11IIIi = i1lII1l.filter(ii11il1i => ii11il1i?.["prizeType"] === 4 || ii11il1i?.["prizeType"] === 14 || ii11il1i?.["prizeName"] === "京豆" || ii11il1i?.["prizeName"] === "红包")?.[0] || "";
$.beanCount = 0;
let llII1l1 = IIl1I11i.result.userInfo.openCardStatus === 1;
if (llII1l1) {
$.putMsg("已开过卡");
let IIllIlIi = await getFansFuseMemberDetail();
if (IIllIlIi.code === "0") {
if (IIllIlIi.data[0]?.["newGiftList"]) {
let i1lIII1I = IIllIlIi.data[0]?.["newGiftList"]?.[0];
if (!i1lIII1I) return;
$.activityId = i1lIII1I.activityId;
$.activityType = i1lIII1I.activityType;
if ($.activityId && $.activityType && i1lIII1I.status * 1 !== 2) {
let il1ll11l = await collectGift();
if (il1ll11l.busiCode === "200") for (let IiiilIll of IIllIlIi.data[0]?.["newGiftList"]) {
$.putMsg("" + IiiilIll.discount + IiiilIll.prizeTypeName);
} else $.putMsg("" + il1ll11l.message);
}
}
}
return;
}
if (llII1l1) {
$.putMsg("已开过卡");
return;
}
if (forceOpen === 2) {
$.putMsg("强制开卡");
await $.openCard();
return;
}
$.beanCount = Ii11IIIi?.["discountString"] * 1 || 0;
$.activityId = Ii11IIIi?.["interestsInfo"]?.["activityId"] || "";
let il1lili = await $.openCard($.venderId, 208, $.activityId);
let lili111i = il1lili.result?.["giftInfo"]?.["giftList"];
if (il1lili.code === 0 && lili111i) {
for (let illiI1l of lili111i) {
$.putMsg("" + illiI1l.discountString + illiI1l.prizeName);
}
return;
} else {
let IIllIlIi = await getFansFuseMemberDetail();
if (IIllIlIi.code === "0") {
if (IIllIlIi.data[0]?.["newGiftList"]) {
let i1lIII1I = IIllIlIi.data[0]?.["newGiftList"]?.[0];
if (!i1lIII1I) return;
$.activityId = i1lIII1I.activityId;
$.activityType = i1lIII1I.activityType;
if ($.activityId && $.activityType && i1lIII1I.status * 1 !== 2) {
let il1ll11l = await collectGift();
if (il1ll11l.busiCode === "200") for (let IiiilIll of IIllIlIi.data[0]?.["newGiftList"]) {
$.putMsg("" + IiiilIll.discount + IiiilIll.prizeTypeName);
} else $.putMsg("" + il1ll11l.message);
}
}
}
return;
}
};
async function getFansFuseMemberDetail() {
let IlillllI = {
"venderId": $.venderId,
"shopId": $.shopId,
"channel":"406",
"queryVersion": "12.1.6"
};
let li1Il1ll = {
"Connection": "keep-alive",
"Accept-Encoding": "gzip, deflate, br",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "api.m.jd.com",
"Referer": "https://shopmember.m.jd.com/",
"Accept-Language": "zh-Hans-CN;q=1, en-CN;q=0.9",
"Accept": "*/*",
"Cookie": $.cookie,
"User-Agent": "JD4iPhone/167841 (iPhone; iOS; Scale/3.00)"
};
let il1IlI1I = `https://api.m.jd.com/client.action?functionId=getFansFuseMemberDetail&body=${encodeURIComponent(JSON.stringify(IlillllI))}&appid=shopmember_m_jd_com&clientVersion=11.0.0&client=wh5&uuid=${$.UUID}&h5st=undefined`,
{
status: lII1IIi1,
data: l1IIIi1
} = await $.request(il1IlI1I, li1Il1ll);
return l1IIIi1;
}
async function collectGift() {
let ilI11i1I = {
"venderId": $.venderId,
"shopId": $.shopId,
"activityType": $.activityType,
"activityId": $.activityId
};
let l1Ii1lI1 = {
"Connection": "keep-alive",
"Accept-Encoding": "gzip, deflate, br",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "api.m.jd.com",
"Referer": "https://shopmember.m.jd.com/",
"Accept-Language": "zh-Hans-CN;q=1, en-CN;q=0.9",
"Accept": "*/*",
"Cookie": $.cookie,
"User-Agent": "JD4iPhone/167841 (iPhone; iOS; Scale/3.00)"
};
let IiIiIill = `https://api.m.jd.com/client.action?functionId=collectGift&body=${encodeURIComponent(JSON.stringify(ilI11i1I))}&appid=shopmember_m_jd_com&clientVersion=11.0.0&client=wh5&uuid=${$.UUID}&h5st=undefined`,
{
status: l1iII1lI,
data: Il1liIli
} = await $.request(IiIiIill, l1Ii1lI1);
return Il1liIli;
}
$.after = async function () {
$.venderCardName && $.msg.push("【" + $.venderCardName + "】入会送(" + $.beanCount + "京豆)");
$.msg.push("export M_OPEN_CARD_ARGV=\"" + $.openCardArgv + "\"");
};
$.run().catch(reason => $.log(reason))