|
|
@@ -26,6 +26,8 @@ const HbcpreConstKey = {
|
|
|
compositeActivityData: 'HbcpreCompositeActivityData',
|
|
|
compositeActivityId: 'HbcpreCompositeActivityId',
|
|
|
compositeActivityName: 'HbcpreCompositeActivityName',
|
|
|
+ compositeEntryTitleList: 'HbcpreCompositeEntryTitleList',
|
|
|
+ compositeEntryTitleCustom: 'HbcpreCompositeEntryTitleCustom',
|
|
|
};
|
|
|
|
|
|
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`;
|
|
|
@@ -176,7 +178,7 @@ function getWillCompositeTaskIds() {
|
|
|
}
|
|
|
|
|
|
function getWillCompositeTaskSearchKeys() {
|
|
|
- let keyArr = magicJS.data.read(HbcpreConstKey.compositeActivityName)
|
|
|
+ let keyArr = magicJS.data.read(HbcpreConstKey.compositeActivityName);
|
|
|
if (keyArr && keyArr.length > 0) {
|
|
|
let segments = keyArr.split('|');
|
|
|
keyArr = [];
|
|
|
@@ -203,9 +205,29 @@ function getActivityIdByName(activityName){
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+function getHomeCompositeEntrySelectList(){
|
|
|
+ let retArr = magicJS.data.read(HbcpreConstKey.compositeEntryTitleList, []);
|
|
|
+ if (retArr && retArr.length > 0) {
|
|
|
+ let segments = retArr.split(',');
|
|
|
+ retArr = [];
|
|
|
+ for (let vstr of segments) {
|
|
|
+ retArr.push(vstr.trim());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let customStr = magicJS.data.read(HbcpreConstKey.compositeEntryTitleCustom, null);
|
|
|
+ if(customStr && customStr.length > 0){
|
|
|
+ customStr = customStr.trim();
|
|
|
+ if(customStr.length > 0){
|
|
|
+ retArr.push(customStr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return retArr;
|
|
|
+}
|
|
|
+
|
|
|
async function tryAllComposite() {
|
|
|
let idsList = getWillCompositeTaskIds();
|
|
|
if(idsList.length == 0){
|
|
|
+ magicJS.logger.info(`尝试通过活动名称匹配对应活动ID`);
|
|
|
let namesList = getWillCompositeTaskSearchKeys();
|
|
|
for(let name of namesList){
|
|
|
let actId = getActivityIdByName(name);
|
|
|
@@ -215,8 +237,12 @@ async function tryAllComposite() {
|
|
|
}
|
|
|
}
|
|
|
if(idsList.length == 0){
|
|
|
- magicJS.logger.info(`缺少兑换活动ID`);
|
|
|
- magicJS.notification.appendNotifyInfo(`❌兑换活动缺少相关参数!`);
|
|
|
+ magicJS.logger.info(`尝试通过入口名称匹配对应活动ID`);
|
|
|
+ idsList = await getActivityIdsByEntryTile();
|
|
|
+ }
|
|
|
+ if(idsList.length == 0){
|
|
|
+ magicJS.logger.info(`缺少合成活动ID`);
|
|
|
+ // magicJS.notification.appendNotifyInfo(`❌合成活动缺少相关参数!`);
|
|
|
return;
|
|
|
}
|
|
|
for(let activityId of idsList){
|
|
|
@@ -276,6 +302,43 @@ async function tryOneComposite(activityId){
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+async function getActivityIdsByEntryTile(){
|
|
|
+ let titleList = getHomeCompositeEntrySelectList();
|
|
|
+ if(titleList.length == 0){
|
|
|
+ return [];
|
|
|
+ }
|
|
|
+ let reqData = {};
|
|
|
+ let result = await hbRequest({API: '/mall/homepage/info', METHOD: 'get'}, reqData);
|
|
|
+ if (result.code != 200) {
|
|
|
+ return [];
|
|
|
+ }
|
|
|
+ let infoList = [];
|
|
|
+ let idsList = [];
|
|
|
+ let bannerList = result.data.bannerList || [];
|
|
|
+ for(let i=0; i < bannerList.length; i++){
|
|
|
+ const item = bannerList[i];
|
|
|
+ if(item.url.indexOf('http') == -1){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(checkKeysInText(titleList, item.name)){
|
|
|
+ const params = magicJS.parseQueryStr(item.url);
|
|
|
+ params.name = item.name;
|
|
|
+ infoList.push(params);
|
|
|
+ idsList.push(params.id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return idsList;
|
|
|
+}
|
|
|
+
|
|
|
+function checkKeysInText(keyList, text){
|
|
|
+ for(let key of keyList){
|
|
|
+ if(text.indexOf(key) > -1){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+}
|
|
|
+
|
|
|
function readMySeriesOwnCntFakeData() {
|
|
|
gItemCntRwDict = {};
|
|
|
let text = magicJS.data.read(HbcpreConstKey.myOwnSeriesCntFakeData, null);
|
|
|
@@ -444,7 +507,7 @@ async function getCompositeList(id){
|
|
|
|
|
|
async function startComposite(id, materials){
|
|
|
let reqData = {eventsId: `${id}`, materials: materials};
|
|
|
- magicJS.logger.error(JSON.stringify(reqData));
|
|
|
+ // magicJS.logger.error(JSON.stringify(reqData));
|
|
|
let result = await hbRequest({API: '/mall/works/composite', METHOD: 'post'}, reqData);
|
|
|
return result;
|
|
|
}
|