From 964071510310e134c1b8b2f13e06b083592c0a6c Mon Sep 17 00:00:00 2001 From: yan Date: Sun, 8 Feb 2026 12:42:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(domain):=20=E6=B7=BB=E5=8A=A0=E5=8E=9F?= =?UTF-8?q?=E7=A5=9E=E7=A7=98=E5=A2=83=E8=87=AA=E5=8A=A8=E8=A7=84=E5=88=92?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增配置文件config.js用于管理秘境数据结构 - 实现秘境配置初始化和数据映射功能 - 添加domain.json配置文件包含所有秘境信息 - 实现秘境自动执行核心逻辑 - 添加秘境顺序列表初始化和排序功能 - 实现秘境批量执行处理机制 - 添加错误处理和配置验证机制 --- repo/js/AutoPlanDomain/config/config.js | 305 ++++++++++++ repo/js/AutoPlanDomain/config/domain.json | 563 +++++++++++++--------- repo/js/AutoPlanDomain/main.js | 371 +++++--------- 3 files changed, 738 insertions(+), 501 deletions(-) create mode 100644 repo/js/AutoPlanDomain/config/config.js diff --git a/repo/js/AutoPlanDomain/config/config.js b/repo/js/AutoPlanDomain/config/config.js new file mode 100644 index 000000000..a03ebe34b --- /dev/null +++ b/repo/js/AutoPlanDomain/config/config.js @@ -0,0 +1,305 @@ +const config = { + //setting设置放在这个json + domain: { + config: '' + }, + // + path: { + domain: `./config/domain.json` + }, + //所有秘境信息 + domainList: [], + //所有秘境名称 + domainNames: new Set(), + //物品名称(只记录顶级的名称->金色物品名称) + itemNames: new Set(), + //秘境名称映射物品列表 + domainMap: new Map(), + //秘境名称映射秘境列表顺序 + domainOrderMap: new Map(), + //物品名称映射秘境名称 + domainItemsMap: new Map(), +} + +async function initConfig() { + /* const domainList = [ + { + name: "无光的深都", + type: "天赋", + hasOrder: true,//存在排序(限时/周日) + list: ["「月光」的哲学", "「乐园」的哲学", "「浪迹」的哲学"] + }, + { + name: "蕴火的幽墟", + type: "天赋", + hasOrder: true,//存在排序(限时/周日) + list: ["「角逐」的哲学", "「焚燔」的哲学", "「纷争」的哲学"] + } + , + { + name: "苍白的遗荣", + type: "天赋", + hasOrder: true,//存在排序(限时/周日) + list: ["「公平」的哲学", "「正义」的哲学", "「秩序」的哲学"] + } + , + { + name: "昏识塔", + type: "天赋", + hasOrder: true,//存在排序(限时/周日) + list: ["「诤言」的哲学", "「巧思」的哲学", "「笃行」的哲学"] + } + , + { + name: "董色之庭", + type: "天赋", + hasOrder: true,//存在排序(限时/周日) + list: ["「浮世」的哲学", "「风雅」的哲学", "「天光」的哲学"] + } + , + { + name: "太山府", + type: "天赋", + hasOrder: true,//存在排序(限时/周日) + list: ["「繁荣」的哲学", "「勤劳」的哲学", "「黄金」的哲学"] + } + , + { + name: "忘却之峡", + type: "天赋", + hasOrder: true,//存在排序(限时/周日) + list: ["「自由」的哲学", "「抗争」的哲学", "「纷争」的哲学"] + } + //================================ + , + { + name: "失落的月庭", + type: "武器", + hasOrder: true,//存在排序(限时/周日) + list: ["奇巧秘器的真愿", "长夜火的烈辉", "终北遗嗣的煌熠"] + } + , + { + name: "深古瞭望所", + type: "武器", + hasOrder: true,//存在排序(限时/周日) + list: ["神合秘烟的启示", "谚妄圣主的神面", "贡祭炽心的荣膺"] + } + , + { + name: "深潮的余响", + type: "武器", + hasOrder: true,//存在排序(限时/周日) + list: ["悠古弦音的回响", "纯圣露滴的真粹", "无垢之海的金杯"] + } + , + { + name: "有顶塔", + type: "武器", + hasOrder: true,//存在排序(限时/周日) + list: ["谧林涓露的金符", "绿洲花园的真谛", "烈日威权的旧日"] + } + , + { + name: "砂流之庭", + type: "武器", + hasOrder: true,//存在排序(限时/周日) + list: ["远海夷地的金枝", "鸣神御灵的勇武", "今昔剧画之鬼人"] + } + , + { + name: "震雷连山密宫", + type: "武器", + hasOrder: true,//存在排序(限时/周日) + list: ["孤云寒林的神体", "雾海云间的转还", "漆黑陨铁的一块"] + } + , + { + name: "塞西莉亚苗圃", + type: "武器", + hasOrder: true,//存在排序(限时/周日) + list: ["高塔孤王的碎梦", "凛风奔狼的怀乡", "狮牙斗士的理想"] + } + //================================ + , + { + name: "月童的库藏", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["风起之日", "晨星与月的晓歌"] + } + , + { + name: "霜凝的机枢", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["纺月的夜歌", "穹境示现之夜"] + } + , + { + name: "荒废砌造坞", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["深廊终曲", "长夜之誓"] + } + , + { + name: "虹灵的净土", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["黑曜秘典", "城勇者绘卷"] + } + , + { + name: "褪色的剧场", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["未竟的遐思", "谐律异想断章"] + } + , + { + name: "临瀑之城", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["回声之林夜话", "昔时之歌"] + } + , + { + name: "罪祸的终末", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["黄金剧团", "逐影猎人"] + } + , + { + name: "熔铁的孤塞", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["花海甘露之光", "水仙之梦"] + } + , + { + name: "赤金的城墟", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["乐园遗落之花", "沙上楼阁史话"] + } + , + { + name: "赤金的城墟", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["乐园遗落之花", "沙上楼阁史话"] + } + , + { + name: "缘觉塔", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["饰金之梦", "深林的记忆"] + } + , + { + name: "沉眠之庭", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["海染砗磲", "华馆梦醒形骸记"] + } + , + { + name: "花染之庭", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["绝缘之旗印", "追忆之注连"] + } + , + { + name: "岩中幽谷", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["辰砂往生录", "来歆余响"] + } + , + { + name: "华池岩柚", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["染血的骑士道", "昔日宗室之仪"] + } + , + { + name: "无妄引答密宫", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["炽烈的炎之魔女", "渡过烈火的贤人"] + } + , + { + name: "孤云凌霄之处", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["悠古的磐岩", "逆飞的流星"] + } + , + { + name: "山脊守望", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["千岩牢固", "苍白之火"] + } + , + { + name: "芬德尼尔之顶", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["冰风迷途的勇士", "沉沦之心"] + } + , + { + name: "铭记之谷", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["翠绿之影", "被怜爱的少女"] + } + , + { + name: "仲夏庭园", + type: "圣遗物", + hasOrder: false,//存在排序(限时/周日) + list: ["如雷的盛怒", "平息鸣雷的尊者"] + } + ]*/ + + const domainList = JSON.parse(file.readTextSync(config.path.domain)) || [] + + config.domainList.push(...domainList) + + config.domainList.forEach(item => { + if (!config.domainNames.has(item.name)) { + config.domainNames.add(item.name) + } + config.domainMap.set(item.name, item.list); + if (item?.hasOrder) { + let index = 1 + //设置顺序 + item.list.forEach(item2 => { + if (!config.itemNames.has(item2)) { + config.itemNames.add(item2) + } + config.domainOrderMap.set(item2, index) + config.domainItemsMap.set(item2, item.name) + index++ + }) + } + + }) + config.domain.config = settings.domain_config || config.domain.config + if (config.domainList.length <= 0) { + throw new Error("配置文件缺失或读取异常!") + } +} + +export { + config, + initConfig +} \ No newline at end of file diff --git a/repo/js/AutoPlanDomain/config/domain.json b/repo/js/AutoPlanDomain/config/domain.json index 51659c754..6b53669fa 100644 --- a/repo/js/AutoPlanDomain/config/domain.json +++ b/repo/js/AutoPlanDomain/config/domain.json @@ -1,241 +1,326 @@ [ -{ -"name":"无光的深都", -"type":"天赋", -"hasOrder": true,//存在排序(限时/周日) -"list": ["「月光」的哲学", "「乐园」的哲学", "「浪迹」的哲学"] -}, -{ -"name":"蕴火的幽墟", -"type":"天赋", -"hasOrder": true,//存在排序(限时/周日) -"list": ["「角逐」的哲学", "「焚燔」的哲学", "「纷争」的哲学"] -} -, -{ -"name":"苍白的遗荣", -"type":"天赋", -"hasOrder": true,//存在排序(限时/周日) -"list": ["「公平」的哲学", "「正义」的哲学", "「秩序」的哲学"] -} -, -{ -"name":"昏识塔", -"type":"天赋", -"hasOrder": true,//存在排序(限时/周日) -"list": ["「诤言」的哲学", "「巧思」的哲学", "「笃行」的哲学"] -} -, -{ -"name":"董色之庭", -"type":"天赋", -"hasOrder": true,//存在排序(限时/周日) -"list": ["「浮世」的哲学", "「风雅」的哲学", "「天光」的哲学"] -} -, -{ -"name":"太山府", -"type":"天赋", -"hasOrder": true,//存在排序(限时/周日) -"list": ["「繁荣」的哲学", "「勤劳」的哲学", "「黄金」的哲学"] -} -, -{ -"name":"忘却之峡", -"type":"天赋", -"hasOrder": true,//存在排序(限时/周日) -"list": ["「自由」的哲学", "「抗争」的哲学", "「纷争」的哲学"] -} -//================================ -, -{ -"name":"失落的月庭", -"type":"武器", -"hasOrder": true,//存在排序(限时/周日) -"list": ["奇巧秘器的真愿", "长夜火的烈辉", "终北遗嗣的煌熠"] -} -, -{ -"name":"深古瞭望所", -"type":"武器", -"hasOrder": true,//存在排序(限时/周日) -"list": ["神合秘烟的启示", "谚妄圣主的神面", "贡祭炽心的荣膺"] -} -, -{ -"name":"深潮的余响", -"type":"武器", -"hasOrder": true,//存在排序(限时/周日) -"list": ["悠古弦音的回响", "纯圣露滴的真粹", "无垢之海的金杯"] -} -, -{ -"name":"有顶塔", -"type":"武器", -"hasOrder": true,//存在排序(限时/周日) -"list": ["谧林涓露的金符", "绿洲花园的真谛", "烈日威权的旧日"] -} -, -{ -"name":"砂流之庭", -"type":"武器", -"hasOrder": true,//存在排序(限时/周日) -"list": ["远海夷地的金枝", "鸣神御灵的勇武", "今昔剧画之鬼人"] -} -, -{ -"name":"震雷连山密宫", -"type":"武器", -"hasOrder": true,//存在排序(限时/周日) -"list": ["孤云寒林的神体", "雾海云间的转还", "漆黑陨铁的一块"] -} -, -{ -"name":"塞西莉亚苗圃", -"type":"武器", -"hasOrder": true,//存在排序(限时/周日) -"list": ["高塔孤王的碎梦", "凛风奔狼的怀乡", "狮牙斗士的理想"] -} -//================================ -, -{ -"name":"月童的库藏", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["风起之日", "晨星与月的晓歌"] -} -, -{ -"name":"霜凝的机枢", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["纺月的夜歌", "穹境示现之夜"] -} -, -{ -"name":"荒废砌造坞", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["深廊终曲", "长夜之誓"] -} -, -{ -"name":"虹灵的净土", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["黑曜秘典", "城勇者绘卷"] -} -, -{ -"name":"褪色的剧场", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["未竟的遐思", "谐律异想断章"] -} -, -{ -"name":"临瀑之城", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["回声之林夜话", "昔时之歌"] -} -, -{ -"name":"罪祸的终末", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["黄金剧团", "逐影猎人"] -} -, -{ -"name":"熔铁的孤塞", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["花海甘露之光", "水仙之梦"] -} -, -{ -"name":"赤金的城墟", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["乐园遗落之花", "沙上楼阁史话"] -} -, -{ -"name":"缘觉塔", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["饰金之梦", "深林的记忆"] -} -, -{ -"name":"沉眠之庭", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["海染砗磲", "华馆梦醒形骸记"] -} -, -{ -"name":"花染之庭", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["绝缘之旗印", "追忆之注连"] -} -, -{ -"name":"岩中幽谷", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["辰砂往生录", "来歆余响"] -} -, -{ -"name":"华池岩柚", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["染血的骑士道", "昔日宗室之仪"] -} -, -{ -"name":"无妄引答密宫", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["炽烈的炎之魔女", "渡过烈火的贤人"] -} -, -{ -"name":"孤云凌霄之处", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["悠古的磐岩", "逆飞的流星"] -} -, -{ -"name":"山脊守望", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["千岩牢固", "苍白之火"] -} -, -{ -"name":"芬德尼尔之顶", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["冰风迷途的勇士", "沉沦之心"] -} -, -{ -"name":"铭记之谷", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["翠绿之影", "被怜爱的少女"] -} -, -{ -"name":"仲夏庭园", -"type":"圣遗物", -"hasOrder": false,//存在排序(限时/周日) -"list": ["如雷的盛怒", "平息鸣雷的尊者"] -} - + { + "name": "无光的深都", + "type": "天赋", + "hasOrder": true, + "list": [ + "「月光」的哲学", + "「乐园」的哲学", + "「浪迹」的哲学" + ] + }, + { + "name": "蕴火的幽墟", + "type": "天赋", + "hasOrder": true, + "list": [ + "「角逐」的哲学", + "「焚燔」的哲学", + "「纷争」的哲学" + ] + }, + { + "name": "苍白的遗荣", + "type": "天赋", + "hasOrder": true, + "list": [ + "「公平」的哲学", + "「正义」的哲学", + "「秩序」的哲学" + ] + }, + { + "name": "昏识塔", + "type": "天赋", + "hasOrder": true, + "list": [ + "「诤言」的哲学", + "「巧思」的哲学", + "「笃行」的哲学" + ] + }, + { + "name": "董色之庭", + "type": "天赋", + "hasOrder": true, + "list": [ + "「浮世」的哲学", + "「风雅」的哲学", + "「天光」的哲学" + ] + }, + { + "name": "太山府", + "type": "天赋", + "hasOrder": true, + "list": [ + "「繁荣」的哲学", + "「勤劳」的哲学", + "「黄金」的哲学" + ] + }, + { + "name": "忘却之峡", + "type": "天赋", + "hasOrder": true, + "list": [ + "「自由」的哲学", + "「抗争」的哲学", + "「纷争」的哲学" + ] + } + //================================ + , + { + "name": "失落的月庭", + "type": "武器", + "hasOrder": true, + "list": [ + "奇巧秘器的真愿", + "长夜火的烈辉", + "终北遗嗣的煌熠" + ] + }, + { + "name": "深古瞭望所", + "type": "武器", + "hasOrder": true, + "list": [ + "神合秘烟的启示", + "谚妄圣主的神面", + "贡祭炽心的荣膺" + ] + }, + { + "name": "深潮的余响", + "type": "武器", + "hasOrder": true, + "list": [ + "悠古弦音的回响", + "纯圣露滴的真粹", + "无垢之海的金杯" + ] + }, + { + "name": "有顶塔", + "type": "武器", + "hasOrder": true, + "list": [ + "谧林涓露的金符", + "绿洲花园的真谛", + "烈日威权的旧日" + ] + }, + { + "name": "砂流之庭", + "type": "武器", + "hasOrder": true, + "list": [ + "远海夷地的金枝", + "鸣神御灵的勇武", + "今昔剧画之鬼人" + ] + }, + { + "name": "震雷连山密宫", + "type": "武器", + "hasOrder": true, + "list": [ + "孤云寒林的神体", + "雾海云间的转还", + "漆黑陨铁的一块" + ] + }, + { + "name": "塞西莉亚苗圃", + "type": "武器", + "hasOrder": true, + "list": [ + "高塔孤王的碎梦", + "凛风奔狼的怀乡", + "狮牙斗士的理想" + ] + } + //================================ + , + { + "name": "月童的库藏", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "风起之日", + "晨星与月的晓歌" + ] + }, + { + "name": "霜凝的机枢", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "纺月的夜歌", + "穹境示现之夜" + ] + }, + { + "name": "荒废砌造坞", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "深廊终曲", + "长夜之誓" + ] + }, + { + "name": "虹灵的净土", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "黑曜秘典", + "城勇者绘卷" + ] + }, + { + "name": "褪色的剧场", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "未竟的遐思", + "谐律异想断章" + ] + }, + { + "name": "临瀑之城", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "回声之林夜话", + "昔时之歌" + ] + }, + { + "name": "罪祸的终末", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "黄金剧团", + "逐影猎人" + ] + }, + { + "name": "熔铁的孤塞", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "花海甘露之光", + "水仙之梦" + ] + }, + { + "name": "赤金的城墟", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "乐园遗落之花", + "沙上楼阁史话" + ] + }, + { + "name": "缘觉塔", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "饰金之梦", + "深林的记忆" + ] + }, + { + "name": "沉眠之庭", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "海染砗磲", + "华馆梦醒形骸记" + ] + }, + { + "name": "花染之庭", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "绝缘之旗印", + "追忆之注连" + ] + }, + { + "name": "岩中幽谷", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "辰砂往生录", + "来歆余响" + ] + }, + { + "name": "华池岩柚", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "染血的骑士道", + "昔日宗室之仪" + ] + }, + { + "name": "无妄引答密宫", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "炽烈的炎之魔女", + "渡过烈火的贤人" + ] + }, + { + "name": "孤云凌霄之处", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "悠古的磐岩", + "逆飞的流星" + ] + }, + { + "name": "山脊守望", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "千岩牢固", + "苍白之火" + ] + }, + { + "name": "芬德尼尔之顶", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "冰风迷途的勇士", + "沉沦之心" + ] + }, + { + "name": "铭记之谷", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "翠绿之影", + "被怜爱的少女" + ] + }, + { + "name": "仲夏庭园", + "type": "圣遗物", + "hasOrder": false, + "list": [ + "如雷的盛怒", + "平息鸣雷的尊者" + ] + } ] \ No newline at end of file diff --git a/repo/js/AutoPlanDomain/main.js b/repo/js/AutoPlanDomain/main.js index fe9b26eb8..ad31a82aa 100644 --- a/repo/js/AutoPlanDomain/main.js +++ b/repo/js/AutoPlanDomain/main.js @@ -1,270 +1,117 @@ -async function main() -{ - const domainList = [ - { - name: "无光的深都", - type: "天赋", - hasOrder: true,//存在排序(限时/周日) - list: ["「月光」的哲学", "「乐园」的哲学", "「浪迹」的哲学"] - }, - { - name: "蕴火的幽墟", - type: "天赋", - hasOrder: true,//存在排序(限时/周日) - list: ["「角逐」的哲学", "「焚燔」的哲学", "「纷争」的哲学"] - } - , - { - name: "苍白的遗荣", - type: "天赋", - hasOrder: true,//存在排序(限时/周日) - list: ["「公平」的哲学", "「正义」的哲学", "「秩序」的哲学"] - } - , - { - name: "昏识塔", - type: "天赋", - hasOrder: true,//存在排序(限时/周日) - list: ["「诤言」的哲学", "「巧思」的哲学", "「笃行」的哲学"] - } - , - { - name: "董色之庭", - type: "天赋", - hasOrder: true,//存在排序(限时/周日) - list: ["「浮世」的哲学", "「风雅」的哲学", "「天光」的哲学"] - } - , - { - name: "太山府", - type: "天赋", - hasOrder: true,//存在排序(限时/周日) - list: ["「繁荣」的哲学", "「勤劳」的哲学", "「黄金」的哲学"] - } - , - { - name: "忘却之峡", - type: "天赋", - hasOrder: true,//存在排序(限时/周日) - list: ["「自由」的哲学", "「抗争」的哲学", "「纷争」的哲学"] - } -//================================ - , - { - name: "失落的月庭", - type: "武器", - hasOrder: true,//存在排序(限时/周日) - list: ["奇巧秘器的真愿", "长夜火的烈辉", "终北遗嗣的煌熠"] - } - , - { - name: "深古瞭望所", - type: "武器", - hasOrder: true,//存在排序(限时/周日) - list: ["神合秘烟的启示", "谚妄圣主的神面", "贡祭炽心的荣膺"] - } - , - { - name: "深潮的余响", - type: "武器", - hasOrder: true,//存在排序(限时/周日) - list: ["悠古弦音的回响", "纯圣露滴的真粹", "无垢之海的金杯"] - } - , - { - name: "有顶塔", - type: "武器", - hasOrder: true,//存在排序(限时/周日) - list: ["谧林涓露的金符", "绿洲花园的真谛", "烈日威权的旧日"] - } - , - { - name: "砂流之庭", - type: "武器", - hasOrder: true,//存在排序(限时/周日) - list: ["远海夷地的金枝", "鸣神御灵的勇武", "今昔剧画之鬼人"] - } - , - { - name: "震雷连山密宫", - type: "武器", - hasOrder: true,//存在排序(限时/周日) - list: ["孤云寒林的神体", "雾海云间的转还", "漆黑陨铁的一块"] - } - , - { - name: "塞西莉亚苗圃", - type: "武器", - hasOrder: true,//存在排序(限时/周日) - list: ["高塔孤王的碎梦", "凛风奔狼的怀乡", "狮牙斗士的理想"] - } -//================================ - , - { - name: "月童的库藏", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["风起之日", "晨星与月的晓歌"] - } - , - { - name: "霜凝的机枢", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["纺月的夜歌", "穹境示现之夜"] - } - , - { - name: "荒废砌造坞", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["深廊终曲", "长夜之誓"] - } - , - { - name: "虹灵的净土", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["黑曜秘典", "城勇者绘卷"] - } - , - { - name: "褪色的剧场", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["未竟的遐思", "谐律异想断章"] - } - , - { - name: "临瀑之城", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["回声之林夜话", "昔时之歌"] - } - , - { - name: "罪祸的终末", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["黄金剧团", "逐影猎人"] - } - , - { - name: "熔铁的孤塞", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["花海甘露之光", "水仙之梦"] - } - , - { - name: "赤金的城墟", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["乐园遗落之花", "沙上楼阁史话"] - } - , - { - name: "赤金的城墟", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["乐园遗落之花", "沙上楼阁史话"] - } - , - { - name: "缘觉塔", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["饰金之梦", "深林的记忆"] - } - , - { - name: "沉眠之庭", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["海染砗磲", "华馆梦醒形骸记"] - } - , - { - name: "花染之庭", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["绝缘之旗印", "追忆之注连"] - } - , - { - name: "岩中幽谷", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["辰砂往生录", "来歆余响"] - } - , - { - name: "华池岩柚", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["染血的骑士道", "昔日宗室之仪"] - } - , - { - name: "无妄引答密宫", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["炽烈的炎之魔女", "渡过烈火的贤人"] - } - , - { - name: "孤云凌霄之处", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["悠古的磐岩", "逆飞的流星"] - } - , - { - name: "山脊守望", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["千岩牢固", "苍白之火"] - } - , - { - name: "芬德尼尔之顶", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["冰风迷途的勇士", "沉沦之心"] - } - , - { - name: "铭记之谷", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["翠绿之影", "被怜爱的少女"] - } - , - { - name: "仲夏庭园", - type: "圣遗物", - hasOrder: false,//存在排序(限时/周日) - list: ["如雷的盛怒", "平息鸣雷的尊者"] - } - ] +import {config, initConfig} from './config/config'; - const domainMap = new Map(); - const domainOrderMap = new Map(); - const domainNameMap = new Map(); +/** + * 自动执行秘境任务的异步函数 + * @param {Object} autoFight - 包含秘境自动配置参数的对象 + * @returns {Promise} - 执行完成后返回的Promise + */ +async function autoDomain(autoFight) { + // 创建秘境参数对象,初始化值为0 + let domainParam = new AutoDomainParam(0); + //秘境名称 + domainParam.DomainName = autoFight.domainName || domainParam.DomainName; + //队伍名称 + domainParam.PartyName = autoFight.partyName || domainParam.PartyName; + //周日|限时选择的值 + domainParam.SundaySelectedValue = autoFight.sundaySelectedValue || domainParam.SundaySelectedValue; + //副本轮数 + domainParam.DomainRoundNum = autoFight.DomainRoundNum || domainParam.DomainRoundNum; + await dispatcher.RunAutoDomainTask(domainParam); +} - domainList.forEach(item => { - domainMap.set(item.name, item.list); - if (item?.hasOrder) { - let index = 1 -//设置顺序 - item.list.forEach(item2 => { - domainOrderMap.set(item2, index) - index++ - }) +/** + * 自动执行秘境任务列表处理函数 + * @param {Array} autoDomainOrderList - 包含秘境自动配置的数组 + */ +async function autoDomainList(autoDomainOrderList) { + //计划执行 + for (const item of autoDomainOrderList) { + await autoDomain(item.autoFight); + } +} + +/** + * 初始化秘境顺序列表 + * @param {string} domainConfig - 输入的字符串,包含秘境顺序信息 + * @returns {Array} 返回处理后的秘境顺序列表 + */ +function initDomainOrderList(domainConfig) { + const autoFightOrderList = [] // 存储秘境顺序列表的数组 + // 处理输入字符串:去除首尾空格,将中文逗号替换为英文逗号,然后按逗号分割 + domainConfig.trim().replaceAll(',', ',').split(",").forEach( + item => { + // 将当前项按"|"分割成数组 + let arr = item.split("|") + // 创建秘境信息对象 + let autoFight = { + domainName: undefined,//秘境名称 + partyName: undefined,//队伍名称 + sundaySelectedValue: undefined,//周日|限时选择的值 + DomainRoundNum: undefined,//副本轮数 + } + let partyName = arr[0]; + let domainName = arr[1]; + let DomainRoundNum = arr[2]; + let sundaySelectedValue = arr[3]; + let order = parseInt(arr[4]); + + if (!config.domainNames.has(domainName)) { + //秘境名称没有记录 查询是否是物品名称 + if (config.itemNames.has(domainName)) { + + }else { + throw new Error(`${domainName} 输入错误`); + } + } + + // 设置秘境信息的各个属性 + autoFight.partyName = partyName // 队伍名称 + autoFight.domainName = domainName // 秘境名称 + autoFight.DomainRoundNum = DomainRoundNum // 副本轮数 + autoFight.sundaySelectedValue = sundaySelectedValue // 周日|限时选择的值 + // 创建秘境顺序对象 + let autoFightOrder = { + order: order, // 顺序值 + autoFight: autoFight // 秘境信息对象 + } + // 将秘境顺序对象添加到列表中 + autoFightOrderList.push(autoFightOrder) } + ) + // 返回处理后的秘境顺序列表 + return autoFightOrderList; +} - }) +/** + * 初始化函数 + * 该函数用于执行初始化操作,使用async/await处理异步操作 + */ +async function init() { + // 调用initConfig函数并等待其完成 + // 这是一个异步初始化配置的步骤 + await initConfig(); +} +/** + * 主函数,用于执行秘境自动刷取任务 + * @async + */ +async function main() { + // 初始化配置 + await init(); + + + // 获取秘境配置 + let domainConfig = config.domain.config; + // 检查是否已配置秘境 + if (!domainConfig) { + throw new Error("请先配置秘境配置"); + } + //"队伍名称|秘境名称/刷取物品名称|刷几轮|限时/周日|执行顺序,..." + const autoFightOrderList = initDomainOrderList(domainConfig); + + autoFightOrderList.sort((a, b) => b.order - a.order) + await autoDomainList(autoFightOrderList); } await main()