|
|
@@ -29,6 +29,7 @@ const HbcpreConstKey = {
|
|
|
compositeEntryTitleList: 'HbcpreCompositeEntryTitleList',
|
|
|
compositeEntryTitleCustom: 'HbcpreCompositeEntryTitleCustom',
|
|
|
compositeActivityTaskMode: 'HbcpreCompositeActivityTaskMode',
|
|
|
+ compositeRapidFrequencyCount: 'HbcpreCompositeRapidFrequencyCount',
|
|
|
};
|
|
|
|
|
|
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`;
|
|
|
@@ -238,6 +239,11 @@ function getHomeCompositeEntrySelectList(){
|
|
|
return retArr;
|
|
|
}
|
|
|
|
|
|
+function getRapidFrequencyCount(){
|
|
|
+ let num = magicJS.data.read(HbcpreConstKey.compositeRapidFrequencyCount, 1);
|
|
|
+ return Number(num);
|
|
|
+}
|
|
|
+
|
|
|
async function tryAllComposite() {
|
|
|
let taskMode = getCompositeTaskMode();
|
|
|
let idsList = getWillCompositeTaskIds();
|
|
|
@@ -275,14 +281,31 @@ async function tryAllComposite() {
|
|
|
}
|
|
|
|
|
|
async function tryOneComposite(activityId){
|
|
|
- let activityData = getActivitDataCache(1, activityId);
|
|
|
- if(!isCompositeOnlyUseCache()){
|
|
|
- magicJS.logger.info(`请求活动[${activityId}]数据`);
|
|
|
- activityData = await getCompositeList(activityId);
|
|
|
- saveActivitDataCache(1, activityData, false);
|
|
|
+ let fCount = getRapidFrequencyCount();
|
|
|
+ let interval = 1000/fCount;
|
|
|
+ let interval2 = interval/2;
|
|
|
+ let activityData = null;
|
|
|
+ let lastTime = Date.now() - halfInterval;
|
|
|
+ let passTime = 0;
|
|
|
+ for(let i = 0; i < fCount; i++){
|
|
|
+ passTime = Date.now() - lastTime;
|
|
|
+ if(passTime < interval2){
|
|
|
+ await magicJS.utils.sleep(interval2-passTime);
|
|
|
+ }
|
|
|
+ lastTime = Date.now();
|
|
|
+ let activityData = getActivitDataCache(1, activityId);
|
|
|
+ if(!isCompositeOnlyUseCache()){
|
|
|
+ magicJS.logger.info(`请求活动[${activityId}]数据[${i}]`);
|
|
|
+ activityData = await getCompositeList(activityId);
|
|
|
+ saveActivitDataCache(1, activityData, false);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if(!activityData){
|
|
|
+ magicJS.logger.info(`缺少合成活动数据[${i}]`);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
}
|
|
|
if(!activityData){
|
|
|
- magicJS.logger.info(`缺少合成活动数据`);
|
|
|
return;
|
|
|
}
|
|
|
// magicJS.logger.error(JSON.stringify(activityData));
|
|
|
@@ -310,19 +333,31 @@ async function tryOneComposite(activityId){
|
|
|
magicJS.notification.appendNotifyInfo(`❌材料不足`);
|
|
|
return;
|
|
|
}
|
|
|
- let result = await startComposite(activityId, materials);
|
|
|
+ let result = null;
|
|
|
+ for(let i = 0; i < fCount; i++){
|
|
|
+ passTime = Date.now() - lastTime;
|
|
|
+ if(passTime < interval2){
|
|
|
+ await magicJS.utils.sleep(interval2-passTime);
|
|
|
+ }
|
|
|
+ lastTime = Date.now();
|
|
|
+ result = await startComposite(activityId, materials);
|
|
|
+ if(!result){
|
|
|
+ magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>合成失败[${i}]!`);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(result.code == 200){
|
|
|
+ magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>合成成功[${i}],合成品:${result.data?.worksName}#${result.data?.worksNo}!`);
|
|
|
+ // 刷新合成数据
|
|
|
+ activityData = await getCompositeList(activityId);
|
|
|
+ saveActivitDataCache(1, activityData, false);
|
|
|
+ break;
|
|
|
+ } else {
|
|
|
+ magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>${result.message}[${i}]`);
|
|
|
+ }
|
|
|
+ }
|
|
|
if(!result){
|
|
|
- magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>合成失败!`);
|
|
|
return;
|
|
|
}
|
|
|
- if(result.code == 200){
|
|
|
- magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>合成成功,合成品:${result.data?.worksName}#${result.data?.worksNo}!`);
|
|
|
- // 刷新合成数据
|
|
|
- activityData = await getCompositeList(activityId);
|
|
|
- saveActivitDataCache(1, activityData, false);
|
|
|
- } else {
|
|
|
- magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>${result.message}`);
|
|
|
- }
|
|
|
return result;
|
|
|
}
|
|
|
|