|
|
@@ -22,6 +22,8 @@ const WuBianConstKey = {
|
|
|
SynthesisCompositeGoodsListReqTime: 'WubianSynthesisCompositeGoodsListReqTime',
|
|
|
SynthesisConvertGoodsListReqTime: 'WubianSynthesisConvertGoodsListReqTime',
|
|
|
SynthesisActivityDisabled: 'WubianSynthesisActivityDisabled',
|
|
|
+ SynthesisAllowAdvanceTime: 'WubianSynthesisAllowAdvanceTime',
|
|
|
+ SynthesisUseCacheEnabled: 'WubianSynthesisUseCacheEnabled',
|
|
|
};
|
|
|
|
|
|
const gUserAgent = `Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Html5Plus/1.0 (Immersed/20) uni-app`;
|
|
|
@@ -287,6 +289,14 @@ function checkActivityAutoDisable(activityId) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+function getAllowAdvanceTime() {
|
|
|
+ return magicJS.data.read(WuBianConstKey.SynthesisAllowAdvanceTime, 5);
|
|
|
+}
|
|
|
+
|
|
|
+function isSynthesisUseCacheEnabled() {
|
|
|
+ return magicJS.data.read(WuBianConstKey.SynthesisUseCacheEnabled, false);
|
|
|
+}
|
|
|
+
|
|
|
async function trySynthesize() {
|
|
|
magicJS.logger.info(`[0]活动任务开始执行...`);
|
|
|
let activityData = await getWillActivityData();
|
|
|
@@ -295,18 +305,24 @@ async function trySynthesize() {
|
|
|
return;
|
|
|
}
|
|
|
let nowTime = Date.now() / 1000;
|
|
|
- let diffTimeSec = 5;
|
|
|
+ let diffTimeSec = getAllowAdvanceTime();
|
|
|
if (nowTime < activityData.startTime - diffTimeSec) {
|
|
|
- magicJS.notification.appendNotifyInfo(`活动[${activityData.name}]未开始,距离开始时间${activityData.startTime - nowTime}秒,请在活动开始前${diffTimeSec}秒内执行!`);
|
|
|
+ magicJS.notification.appendNotifyInfo(`活动[${activityData.name}]未开始,距离开始时间${Math.floor(activityData.startTime - nowTime)}秒,请在活动开始前${diffTimeSec}秒内执行!`);
|
|
|
return;
|
|
|
}
|
|
|
magicJS.logger.info(`[2]活动任务开始执行...`);
|
|
|
let activityId = activityData.hashId || activityData.activityId;
|
|
|
let retCvtData = null;
|
|
|
- if (activityData.type == 0) {
|
|
|
- retCvtData = await doGetCompositeGoodsList(activityId, checkCompositeGoodsListReqForceNeed());
|
|
|
- } else if (activityData.type == 1) {
|
|
|
- retCvtData = await doGetConvertGoodsList(activityId, checkConvertGoodsListReqForceNeed());
|
|
|
+ if (isSynthesisUseCacheEnabled()) {
|
|
|
+ let key = `${WuBianConstKey.ActivityGoodsList}#${activityId}`;
|
|
|
+ retCvtData = magicJS.data.read(key, null);
|
|
|
+ }
|
|
|
+ if (!retCvtData) {
|
|
|
+ if (activityData.type == 0) {
|
|
|
+ retCvtData = await doGetCompositeGoodsList(activityId, checkCompositeGoodsListReqForceNeed());
|
|
|
+ } else if (activityData.type == 1) {
|
|
|
+ retCvtData = await doGetConvertGoodsList(activityId, checkConvertGoodsListReqForceNeed());
|
|
|
+ }
|
|
|
}
|
|
|
magicJS.logger.info(`[3]活动任务开始执行...`);
|
|
|
// magicJS.logger.info(`retCvtData=${JSON.stringify(retCvtData)}`);
|
|
|
@@ -334,7 +350,7 @@ async function trySynthesize() {
|
|
|
} else {
|
|
|
if (isConcurrentExcute) {
|
|
|
nowTime = Date.now() / 1000;
|
|
|
- let waittingMSec = (activityData.startTime - nowTime) * 1000;
|
|
|
+ let waittingMSec = Math.floor((activityData.startTime - nowTime) * 1000);
|
|
|
if (waittingMSec > 0) {
|
|
|
magicJS.logger.info(`等待${waittingMSec}毫秒后开始执行...`);
|
|
|
await magicJS.utils.sleep(waittingMSec - 80);
|
|
|
@@ -383,7 +399,7 @@ async function trySynthesize() {
|
|
|
}
|
|
|
} else {
|
|
|
nowTime = Date.now() / 1000;
|
|
|
- let waittingMSec = (activityData.startTime - nowTime) * 1000;
|
|
|
+ let waittingMSec = Math.floor((activityData.startTime - nowTime) * 1000);
|
|
|
if (waittingMSec > 0) {
|
|
|
magicJS.logger.info(`等待${waittingMSec}毫秒后开始执行...`);
|
|
|
await magicJS.utils.sleep(waittingMSec - 80);
|