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

454 lines
19 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

let mode = __dirname.includes('magic')
const {Env, cheerio} = mode ? require('../magic') : require('./magic')
const $ = new Env('M通用开卡');
$.activityUrl = decodeURIComponent(process.argv.splice(2)?.[0] || process.env.M_WX_OPENCARD_M_URL)
if (mode) {
$.activityUrl = 'https://lzdz1-isv.isvjcloud.com/m/1000006644/dz288f6a084de7ba829963a36bc4ff'
$.activityUrl = "https://lzdz1-isv.isvjd.com/m/1000003571/dz70bf6a3a481a93b6f993b474shop"
$.activityUrl = "https://lzdz1-isv.isvjd.com/dingzhi/joinCommon/activity/5929859?activityId=683b57c668cf4df09854a6caad3660df"
$.activityUrl = "https://lzdz1-isv.isvjcloud.com/m/unite/dzlh0001?activityId=3334ac58ef344431a624932ab0b185b9&venderId=1000000725&adSource=LifeSpaceHW4"
$.activityUrl = 'https://lzdz1-isv.isvjcloud.com/m/1000376290/dzdc0e8a1e42fc877dfb4de8961650'
$.activityUrl = 'https://lzdz1-isv.isvjcloud.com/m/1000001285/dz9f923270d7fd4d199e672f531813/'
$.activityUrl = 'https://lzdz1-isv.isvjcloud.com/m/1000003005/8735837/dz98d6d00d9093435380b02a0fc668/?adsource=null'
$.activityUrl = 'https://jinggengjcq-isv.isvjcloud.com/jdbeverage/pages/oC20230627def/oC20230627def?actId=226ea09788b44abc919942e21_230627'
$.activityUrl = 'https://lzdz1-isv.isvjcloud.com/m/unite/dzlh0001?activityId=6ec36e7d11c9477a9439e8bd23f60bde&venderId=1000104146&adSource=JKQS'
$.activityUrl = 'https://lzdz1-isv.isvjcloud.com/m/1000431041/dz3104b0f44090a7b850ed2ab36d4d'
$.activityUrl = 'https://jinggengjcq-isv.isvjcloud.com/jdbeverage/pages/oC20230816def/oC20230816def?actId=edb27bbb5b7544a5_230816'
$.activityUrl = 'https://jinggengjcq-isv.isvjcloud.com/jdbeverage/pages/oC202308020dda/oC202308020dda?actId=1802015a6a374ce186ea9a4_230820'
}
//前n个号有机会成为队长
let leaderNumber = parseInt(process.env.M_WX_OPENCARD_M_LEADER_NUM || 4)
//每开4个卡等待时长
let min = parseInt(process.env.M_WX_OPENCARD_M_MIN_WAIT || 0);
let max = parseInt(process.env.M_WX_OPENCARD_M_MAX_WAIT || 0);
let open = process.env.M_WX_OPENCARD_OPEN || "on";
let type = "",
init,
labName = "",
shareCodes = [];
$.version = "v1.2.0";
let drawCount = 0;
$.logic = async function () {
if (!$.superVersion) throw new Error("请更新脚本");
if (!$.activityId || !$.activityUrl) {
$.expire = true;
$.putMsg("activityId|activityUrl不存在");
return;
}
$.UA = $.ua();
let Ii1Ii1I = await $.isvObfuscator();
if (Ii1Ii1I.code !== "0") {
$.putMsg("获取Token失败");
return;
}
$.Token = Ii1Ii1I?.["token"];
$.shareUuid = $.randomArray(shareCodes, 1)[0]?.["shareUuid"] || $.ownerUuid || "";
if (this.domain.includes("jinggengjcq")) {
$.userId = "10299171";
let I1iliii1 = await retryApi(getLoad);
$.buyerNick = I1iliii1.data.data.missionCustomer.buyerNick;
$.index <= leaderNumber && shareCodes.push({
"index": $.index,
"cookie": $.cookie,
"username": $.username,
"count": 0,
"shareUuid": $.buyerNick
});
if ($.shareUuid) {
let Ill11l1l = await retryApi(getInviteRelation);
$.log(Ill11l1l.errorMessage);
Ill11l1l.errorMessage.includes("关系绑定成功") && shareCodes.filter(ll1I1l1I => ll1I1l1I.shareUuid === $.shareUuid).forEach(IIII1lii => {
IIII1lii.count++;
});
} else {
if (!$.shareUuid && $.index > leaderNumber) {
$.expire = true;
$.putMsg("未找到车头退出");
return;
}
}
if (!I1iliii1.data.data.missionCustomer.hasAddCart) {
let iIliii1 = await retryApi(getUniteAddCart);
$.log(iIliii1.data?.["data"]?.["remark"] || iIliii1.errorMessage);
}
if (!I1iliii1.data.data.missionCustomer.hasCollectShop) {
let iIIli1I = await retryApi(getHasCollectShop);
$.log(iIIli1I.data?.["data"]?.["remark"] || iIIli1I.errorMessage);
}
I1iliii1 = await retryApi(getLoad);
for (let iI1I1ii1 = 0; iI1I1ii1 < I1iliii1.data.data?.["missionCustomer"]?.["remainPoint"] / 100 && drawCount < 10; iI1I1ii1++) {
let IIIIi1II = await retryApi(getDraw);
$.log(IIIIi1II);
$.log(IIIIi1II.data?.["data"]?.["remark"] || IIIIi1II?.["errorMessage"]);
if (IIIIi1II.errorMessage?.["includes"]("您的积分不足啦")) {
break;
}
IIIIi1II.success && IIIIi1II.success === true && IIIIi1II.data && IIIIi1II.data.status && IIIIi1II.data.status == 200 && (IIIIi1II.data.data.sendResult ? (drawCount = 0, $.putMsg($.prizeName), $.prizeName = IIIIi1II.data.data.awardSetting.awardName, IIIIi1II.data.data.awardSetting.awardType == "goods" && ($.addressId = IIIIi1II.data.data.awardSendLog.id, await $.saveAddress())) : ($.log("空气"), drawCount++));
}
if (open === "off") {
return;
}
let iiiI1l1I = await retryApi(getShopList),
IiiI1lIl = iiiI1l1I.data.data.filter(IIl11ll => !IIl11ll.open);
for (let I11iIil1 = 0; I11iIil1 < IiiI1lIl.length; I11iIil1++) {
let Il1IIili = IiiI1lIl[I11iIil1];
$.shopId = Il1IIili.shopId;
$.venderId = Il1IIili.userId;
let IIi1lIl = await retryApi(getCompleteMission);
$.log(IIi1lIl.data?.["data"]?.["remark"] || IIi1lIl.errorMessage);
await $.openCard($.venderId);
let Ii1ili = await retryApi(load2);
$.log(Ii1ili.data?.["data"]?.["openCardMsg"] || Ii1ili.errorMessage);
I11iIil1 > 0 && I11iIil1 % 4 === 0 && (await $.wait(min, max));
await $.wait(3000, 5000);
}
return;
} else {
if ($.activityUrl.includes("joinCommon")) {
let Iiil1II = await $.api("dingzhi/joinCommon/activity/5929859", "activityId=" + $.activityId);
const lIIil1I = cheerio.load(cheerio.load(Iiil1II).html());
$.venderId = lIIil1I("#userId", "body").attr("value");
await $.getMyPing();
} else await $.getMyPing("customer/getMyCidPing");
}
if (!$.Pin) return;
await $.getSimpleActInfoVo("dz/common/getSimpleActInfoVo");
if ($.expire) {
return;
}
$.attrTouXiang = "https://img10.360buyimg.com/imgzone/jfs/t1/21383/2/6633/3879/5c5138d8E0967ccf2/91da57c5e2166005.jpg";
await $.api("common/" + ($.domain.includes("cjhy") ? "accessLog" : "accessLogWithAD"), "venderId=" + $.venderId + "&code=99&pin=" + $.Pin + "&activityId=" + $.activityId + "&pageUrl=" + encodeURIComponent($.activityUrl) + "&subType=app&adSource=");
let ii1iIIII,
l1ilIl11 = encodeURIComponent($.nickname);
if ($.activityUrl.includes("/m/unite/") || $.activityUrl.includes("joinCommon")) {
if (!init && $.index < leaderNumber) {
init = await $.api("dingzhi/taskact/common/init", "activityId=" + $.activityId + "&dzActivityType=1&pin=");
$.actStartTime = init.data.startTime;
$.actEndTime = init.data.endTime;
if (init.data.startTime && init.data.startTime > $.timestamp()) {
$.putMsg("活动还未开始");
$.expire = true;
return;
}
if (init.data.endTime && init.data.endTime < $.timestamp()) {
$.putMsg("活动已结束");
$.expire = true;
return;
}
}
ii1iIIII = await $.api("dingzhi/joinCommon/activityContent", "activityId=" + $.activityId + "&pin=" + $.Pin + "&pinImg=" + $.attrTouXiang + "&nick=" + l1ilIl11 + "&shareUuid=" + ($.shareUuid || ""));
} else $.activityId.includes("shop") ? ii1iIIII = await $.api("dingzhi/shop/league/activityContent", "activityId=" + $.activityId + "&pin=" + $.Pin + "&pinImg=" + $.attrTouXiang + "&nick=" + l1ilIl11 + "&shareUuid=" + ($.shareUuid || "")) : ($.index <= leaderNumber && !type && (type = await $.getOpenCardPath()), ii1iIIII = await $.api("dingzhi/" + type + "/union/activityContent", "activityId=" + $.activityId + "&pin=" + $.Pin + "&pinImg=" + $.attrTouXiang + "&nick=" + l1ilIl11 + "&shareUuid=" + ($.shareUuid || "")));
if (ii1iIIII.errorMessage) {
$.putMsg(ii1iIIII.errorMessage);
await $.wxStop(ii1iIIII.errorMessage);
return;
}
ii1iIIII = ii1iIIII.data;
$.actStartTime = init?.["data"]?.["startTime"] || ii1iIIII.startTime;
$.actEndTime = init?.["data"]?.["endTime"] || ii1iIIII.endTime;
if (ii1iIIII.startTime && ii1iIIII.startTime > $.timestamp()) {
$.putMsg("活动还未开始");
$.expire = true;
return;
}
if (ii1iIIII.hasEnd) {
$.putMsg("活动已结束");
$.expire = true;
return;
}
$.actorUuid = ii1iIIII.actorUuid || ii1iIIII.actorInfo.uuid;
$.index <= leaderNumber && ($.log(ii1iIIII.shareContent || ii1iIIII.activityName), labName = ii1iIIII.shareContent || ii1iIIII.activityName, shareCodes.push({
"index": $.index,
"cookie": $.cookie,
"token": $.Token,
"pin": $.Pin,
"username": $.username,
"count": 0,
"shareUuid": $.actorUuid
}));
if ($.activityId.includes("shop")) {
$.shareUuid = $.randomArray(shareCodes.filter(IlliIil1 => IlliIil1.count < 20), 1)[0]?.["shareUuid"] || "";
if ($.index > leaderNumber && !$.shareUuid) {
$.putMsg("已无车头");
this.expire = true;
return;
}
} else $.shareUuid = $.randomArray(shareCodes, 1)[0]?.["shareUuid"] || "";
if ($.activityUrl.includes("/m/unite/") || $.activityUrl.includes("joinCommon")) {
await $.api("dingzhi/joinCommon/doTask", "activityId=" + $.activityId + "&pin=" + $.Pin + "&uuid=" + $.actorUuid + "&shareUuid=" + $.shareUuid + "&taskType=20&taskValue=");
let Il11IiIl = await $.api("dingzhi/joinCommon/taskInfo", "activityId=" + $.activityId + "&pin=" + $.Pin + "&uuid=" + $.actorUuid + "&shareUuid=" + $.shareUuid),
i1I1illI = Il11IiIl.data["1"].settingInfo.map(l1III1lI => l1III1lI.value),
iiI1IIli = await assist(1),
lll11I1i = $.different(i1I1illI, iiI1IIli);
for (let I1i1I1I1 = 0; I1i1I1I1 < lll11I1i.length; I1i1I1I1++) {
$.venderId = lll11I1i[I1i1I1I1];
await $.openCard($.venderId);
if (I1i1I1I1 > 0 && I1i1I1I1 % 4 === 0) {
await $.wait(min, max);
}
}
if (lll11I1i.length > 0) {
await assist(2);
}
} else {
if ($.activityId.includes("shop")) {
await $.api("dingzhi/shop/league/saveTask", "activityId=" + $.activityId + "&pin=" + $.Pin + "&actorUuid=" + $.actorUuid + "&shareUuid=" + ($.shareUuid || "") + "&taskType=1&taskValue=1");
let l111I1Ii = await initOpenCard1(1);
for (let II1llI11 = 0; II1llI11 < l111I1Ii.length; II1llI11++) {
$.shopId = l111I1Ii[II1llI11].value2;
$.venderId = l111I1Ii[II1llI11].value;
await $.openCard($.venderId);
II1llI11 > 0 && II1llI11 % 4 === 0 && (await $.wait(min, max));
}
l111I1Ii.length > 0 && (await initOpenCard1(2));
} else {
await $.api("dingzhi/" + type + "/union/saveTask", "activityId=" + $.activityId + "&pin=" + $.Pin + "&actorUuid=" + $.actorUuid + "&shareUuid=" + ($.shareUuid || "") + "&taskType=23&taskValue=23");
let iI1liIIi = await initOpenCard2(1);
for (let I1iI1lII = 0; I1iI1lII < iI1liIIi.length; I1iI1lII++) {
$.shopId = iI1liIIi[I1iI1lII].shopId;
$.venderId = iI1liIIi[I1iI1lII].venderId;
await $.openCard($.venderId);
I1iI1lII > 0 && I1iI1lII % 4 === 0 && (await $.wait(min, max));
}
if (iI1liIIi.length > 0) {
await initOpenCard2(2);
}
}
}
};
$.after = async function () {
$.msg.push(labName);
$.msg.push("export M_WX_OPENCARD_M_URL=\"" + $.activityUrl + "\"");
};
async function assist(i11Ilii1) {
let {
data: IIIIl111
} = await $.api("dingzhi/joinCommon/assist", "activityId=" + $.activityId + "&pin=" + $.Pin + "&uuid=" + $.actorUuid + "&shareUuid=" + $.shareUuid),
IiIIlIll = IIIIl111.assistState,
li11I1lI = IIIIl111.openCardInfo.openAll;
li11I1lI && $.log("已完成全部开卡");
let III1iIl = IIIIl111.openCardInfo.sendStatus;
if (i11Ilii1 === 2) {
let Iiiill1 = shareCodes.filter(iIIiIi11 => iIIiIi11.shareUuid === $.shareUuid)[0];
console.log("助力状态-->" + IiIIlIll + "," + li11I1lI + "," + III1iIl);
switch (IiIIlIll) {
case 0:
$.log("无法助力自己");
break;
case 1:
Iiiill1.count++, $.log("助力[" + Iiiill1.username + "]成功,已邀请" + Iiiill1.count + "人");
break;
case 2:
$.log("已经助力过了");
break;
case 3:
$.log("没有助力次数了");
break;
case 10:
$.log("您已为好友助力过了哦");
break;
case 11:
$.log("您已成功为好友助力了,不能再为其他好友助力了");
break;
case 20:
$.log("您需注册会员,才能为好友助力!");
break;
case 21:
$.log("您需注册会员并关注店铺,才能为好友助力!");
break;
case 22:
$.log("您需注关注店铺,才能为好友助力!");
break;
case 77:
$.log("未全部开卡和关注,不能助力");
break;
case 78:
$.log("已经是老会员,不能助力");
break;
default:
$.log("未知状态");
break;
}
}
return IIIIl111.openCardInfo.openVenderId;
}
async function initOpenCard1(IIiIIlli) {
let {
data: IiII1lll
} = await $.api("dingzhi/shop/league/checkOpenCard", "activityId=" + $.activityId + "&pin=" + $.Pin + "&actorUuid=" + $.actorUuid + "&shareUuid=" + ($.shareUuid || "")),
Ii1iiliI = IiII1lll.allOpenCard,
Il1illiI = IiII1lll.assistStatus,
ili1i11I = IiII1lll.sendBeanNum;
if (ili1i11I > 0) {
$.log("开卡获得" + ili1i11I + "豆");
}
$.log("助力状态-->" + Il1illiI);
if (Ii1iiliI) {
$.log("已完成全部开卡");
}
if (IIiIIlli === 2) {
let lilliil1 = shareCodes.filter(l11lIiil => l11lIiil.shareUuid === $.shareUuid)[0];
switch (Il1illiI) {
case 0:
break;
case 1:
lilliil1.count++, $.log("助力[" + lilliil1.username + "]成功,已邀请" + lilliil1.count + "人"), $.log("恭喜您为好友助力成功!");
break;
case 2:
$.log("您已经为该好友助力过了!");
break;
case 3:
$.log("您已经为其他好友助力过了!");
break;
case 11:
$.log("今日助力次数已达上限,无法继续为他助力!");
break;
case 12:
$.log("您活动期间助力次数已达上限,无法继续助力!");
break;
case 21:
$.log("您还不是会员,无法为好友助力!");
break;
case 22:
$.log("需要关注店铺及成为全部品牌会员并且有新会员,才能助力成功哦~");
break;
case 88:
$.log("需要关注店铺及成为全部品牌会员并且有新会员,才能助力成功哦~");
break;
case 66:
break;
case 99:
switch (IiII1lll.shareType) {
case 2:
$.log("您需要完成全部开卡才能为好友助力");
break;
case 5:
$.log("您需要完成任意一组开卡,并关注店铺才能为好友助力");
break;
case 6:
$.log("您的好友邀请您为TA助力您关注店铺和品牌全部开卡后即为好友助力成功");
break;
default:
break;
}
break;
}
}
return IiII1lll.cardList.filter(il1illli => !il1illli.status);
}
async function initOpenCard2(iii111Il) {
let {
data: I1Iiil11
} = await $.api("dingzhi/" + type + "/union/initOpenCard", "activityId=" + $.activityId + "&pin=" + $.Pin + "&actorUuid=" + $.actorUuid + "&shareUuid=" + ($.shareUuid || "")),
iI1i11i = I1Iiil11.allOpenCard,
Ili1ill = I1Iiil11.openCardAndSendJd,
II1ll = I1Iiil11.assistStatus,
I1iIIlii = I1Iiil11.openCardBeans;
I1iIIlii > 0 && $.log("开卡获得" + I1iIIlii + "豆");
$.log("助力状态-->" + Ili1ill + "," + II1ll);
iI1i11i && $.log("已完成全部开卡");
if (iii111Il === 2) {
let l11IIll = shareCodes.filter(I1Iiil1 => I1Iiil1.shareUuid === $.shareUuid)[0];
switch (II1ll) {
case 0:
$.log("无法助力自己");
break;
case 1:
l11IIll.count++, $.log("助力[" + l11IIll.username + "]成功,已邀请" + l11IIll.count + "人");
break;
case 2:
$.log("已经助力过了");
break;
case 3:
$.log("没有助力次数了");
break;
case 10:
$.log("您已为好友助力过了哦");
break;
case 11:
$.log("您已成功为好友助力了,不能再为其他好友助力了");
break;
case 20:
$.log("您需注册会员,才能为好友助力!");
break;
case 21:
$.log("您需注册会员并关注店铺,才能为好友助力!");
break;
case 22:
$.log("您需注关注店铺,才能为好友助力!");
break;
case 77:
$.log("未全部开卡和关注,不能助力");
break;
case 78:
$.log("已经是老会员,不能助力");
break;
default:
$.log("未知状态");
break;
}
}
return I1Iiil11.openInfo.filter(I111Ii1I => !I111Ii1I.openStatus);
}
async function retryApi(l1lll1il, lI1lllI1 = 0) {
if (lI1lllI1 > 10) throw new Error("重试次数过多,放弃重试");
let il1ilI11 = await l1lll1il();
return JSON.stringify(il1ilI11).includes("请稍后重试") && (await $.wait(3000, 5000), await retryApi(l1lll1il, ++lI1lllI1)), il1ilI11;
}
function getLoad() {
return $.api("dm/front/jdJoinCardtf/activity/load?open_id=&mix_nick=" + $.Token + "&user_id=10299171", {
"jdToken": $.Token,
"source": "01",
"inviteNick": $.shareUuid || ""
});
}
function getInviteRelation() {
return $.api("/dm/front/jdJoinCardtf/customer/inviteRelation?open_id=&mix_nick=" + ($.buyerNick || "") + "&user_id=10299171", {
"method": "/jdJoinCardtf/customer/inviteRelation",
"inviterNick": $.shareUuid || ""
});
}
function getUniteAddCart() {
return $.api("/dm/front/jdJoinCardtf/mission/completeMission?open_id=&mix_nick=" + ($.buyerNick || "") + "&user_id=10299171", {
"method": "/jdJoinCardtf/mission/completeMission",
"missionType": "uniteAddCart"
});
}
function getHasCollectShop() {
return $.api("/dm/front/jdJoinCardtf/mission/completeMission?open_id=&mix_nick=" + ($.buyerNick || "") + "&user_id=10299171", {
"method": "/jdJoinCardtf/mission/completeMission",
"missionType": "uniteCollectShop"
});
}
function getDraw() {
return $.api("/dm/front/jdJoinCardtf/interactive/drawPost?open_id=&mix_nick=" + ($.buyerNick || "") + "&user_id=10299171", {
"method": "/jdJoinCardtf/interactive/drawPost",
"dataType": "draw",
"usedGameNum": "2"
});
}
function getShopList() {
return $.api("dm/front/jdJoinCardtf/shop/shopList?open_id=&mix_nick=" + ($.buyerNick || "") + "&user_id=10299171", {
"method": "/jdJoinCardtf/shop/shopList"
});
}
function getCompleteMission() {
return $.api("/dm/front/jdJoinCardtf/mission/completeMission?open_id=&mix_nick=" + ($.buyerNick || "") + "&user_id=10299171", {
"method": "/jdJoinCardtf/mission/completeMission",
"missionType": "openCard",
"shopId": $.venderId
});
}
function load2() {
return $.api("dm/front/jdJoinCardtf/activity/load?open_id=&mix_nick=" + $.Token + "&user_id=10299171", {
"jdToken": $.Token,
"source": "01",
"inviteNick": $.shareUuid || "",
"shopId": $.venderId
});
}
$.run({
whitelist: ["1-9999"]
}).catch(reason => $.log(reason));