shawenguan 1 an în urmă
părinte
comite
ed1581f17e

+ 53 - 0
Scripts/hbcpre/hbcpreCompound.js

@@ -20,6 +20,9 @@ const HbcpreConstKey = {
     floatPriceIntaval: 'HbcpreFloatPriceIntaval',
     itemCntRwData: 'HbcpreItemCntRwData',
     walletPayPassword: 'HbcpreWalletPayPassword',
+
+    compoundActivityData: 'HbcpreCompoundActivityData',
+    compoundActivityId: 'HbcpreCompoundActivityId',
 };
 
 const gUserAgent = `Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1`;
@@ -52,7 +55,57 @@ async function Main() {
 
 
 async function tryCompound() {
+    let activityId = magicJS.data.read(HbcpreConstKey.compoundActivityId, null);
+    if(!activityId){
+        magicJS.logger.info(`缺少合成活动ID`);
+        magicJS.notification.appendNotifyInfo(`❌合成活动缺少相关参数!`);
+        return;
+    }
+    let activityData = getActivitDataCache(activityId);
+    if(!activityData){
+        activityData = await getCompoundData(activityId);
+        cacheActivitData(activityId, activityData);
+    }
+    if(activityData){
+        let randomList = data.activityData;
+        let randomJson = [];
+        let randomId = [];
+        if(randomList.length > 0){
+
+        }
+        let result = await startCompound(activityId, '', JSON.stringify(randomJson), randomId);
+        if(result){
+            magicJS.notification.appendNotifyInfo(`🎉合成活动[${activityId}]合成成功!`);
+        } else {
 
+        }
+    }
+}
+
+function getActivitDataCache(id){
+    return magicJS.data.read(HbcpreConstKey.compoundActivityData, null);
+}
+
+function cacheActivitData(id, data){
+    return magicJS.data.write(HbcpreConstKey.compoundActivityData, data);
+}
+
+async function getCompoundData(id){
+    let reqData = {id: `${id}`};
+    let result = await hbRequest({API: '/api/randomcompound/indexdetail', METHOD: 'post'}, reqData);
+    if(result.code != 1000){
+        return null;
+    }
+    return result.data;
+}
+
+async function startCompound(id, token, randomJson, randomId){
+    let reqData = {id: `${id}`, token: token, random_json: randomJson, random_id: randomId};
+    let result = await hbRequest({API: '/api/randomcompound/compound', METHOD: 'post'}, reqData);
+    if(result.code != 1000){
+        return null;
+    }
+    return result.data;
 }
 
 function transformKeys(keyStr) {

+ 7 - 6
Scripts/hbcpre/hbcpreDraw.js

@@ -58,7 +58,8 @@ async function tryLotteryDraw() {
     let activityId = magicJS.data.read(HbcpreConstKey.drawActivityId, null);
     let drawCount = magicJS.data.read(HbcpreConstKey.drawActivityRunCount, 1);
     if(!activityId || !drawCount){
-        magicJS.logger.info(`缺少抽奖参数`);
+        magicJS.logger.info(`缺少限时抽奖活动相关参数`);
+        magicJS.notification.appendNotifyInfo(`❌限时抽奖活动缺少相关参数!`);
         return;
     }
     let activityData = getActivitDataCache(activityId);
@@ -68,16 +69,16 @@ async function tryLotteryDraw() {
     }
     if(activityData){
         if(activityData.user_award_num > 0){
-            magicJS.logger.info(`活动[${activityId}]开始抽奖,当前剩余次数:${activityData.user_award_num}!`);
+            magicJS.logger.info(`限时抽奖活动[${activityId}]开始抽奖,当前剩余次数:${activityData.user_award_num}!`);
             if(drawCount > activityData.user_award_num){
                 drawCount = 1;
             }
             await startLotteryDraw(activityId, drawCount);
         } else {
-            magicJS.notification.appendNotifyInfo(`❌活动[${activityId}]可抽奖次数不足!`);
+            magicJS.notification.appendNotifyInfo(`❌限时抽奖活动[${activityId}]可抽奖次数不足!`);
         }
     } else {
-        magicJS.logger.info(`活动[${activityId}]主要数据不存在,不判断抽奖次数是否足够!`);
+        magicJS.logger.info(`限时抽奖活动[${activityId}]主要数据不存在,不判断抽奖次数是否足够!`);
         await startLotteryDraw(activityId, drawCount);
     }
 }
@@ -98,10 +99,10 @@ async function startLotteryDraw(activityId, drawCount){
     };
     let result = await hbRequest({API: '/api/award/run', METHOD: 'post'}, reqData);
     if(result.code != 1000){
-        magicJS.logger.info(`活动[${activityId}]${result.message}!`);
+        magicJS.logger.info(`限时抽奖活动[${activityId}]${result.message}!`);
         // magicJS.notification.appendNotifyInfo(`❌活动[${activityId}]${result.message}!`);
     } else {
-        magicJS.notification.appendNotifyInfo(`🎉活动[${activityId}]抽奖成功!`);
+        magicJS.notification.appendNotifyInfo(`🎉限时抽奖活动[${activityId}]抽奖成功!`);
     }
     return result;
 }

+ 8 - 1
Scripts/hbcpre/hbcpreHelper.js

@@ -33,6 +33,9 @@ const HbcpreConstKey = {
     drawActivityData: 'HbcpreDrawActivityData',
     drawActivityId: 'HbcpreDrawActivityId',
     drawActivityRunCount: 'HbcpreDrawActivityRunCount',
+
+    compoundActivityData: 'HbcpreCompoundActivityData',
+    compoundActivityId: 'HbcpreCompoundActivityId',
 };
 
 const gUserAgent = `Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1`;
@@ -524,6 +527,10 @@ function handleCompoundIndex(){
     }
     let data = rspData.data;
     let collection = data.collection;
+
+    magicJS.data.write(HbcpreConstKey.compoundActivityData, data);
+    magicJS.data.write(HbcpreConstKey.compoundActivityId, collection.id);
+
     // id 活动id
     // random_num
     // content 内容html格式
@@ -588,8 +595,8 @@ function handleAwardIndex(){
     if (rspData.code != 1000) {
         return;
     }
-    magicJS.data.write(HbcpreConstKey.drawActivityId, rspData.data.activity_id);
     magicJS.data.write(HbcpreConstKey.drawActivityData, rspData.data);
+    magicJS.data.write(HbcpreConstKey.drawActivityId, rspData.data.activity_id);
 }
 
 function handleAwardRun(){