mirror of
https://github.com/babalae/bettergi-scripts-list.git
synced 2026-03-26 05:09:52 +08:00
feat(AutoPlanDomain): 支持多日期执行配置
- 将单日期执行配置改为多日期数组配置,支持多个执行日期 - 修改数据结构从 day 字段改为 days 数组字段存储执行日期 - 更新日期解析逻辑,支持通过 "/" 分割符配置多个执行日期 - 调整过滤条件以匹配新的多日期数组格式 - 更新 README 文档说明多日期配置的使用方法 - 修改示例配置展示多日期功能的使用场景
This commit is contained in:
@@ -41,19 +41,19 @@
|
||||
|
||||
**字段详解**
|
||||
|
||||
| 位置 | 字段 | 是否必填 | 说明 | 示例 |
|
||||
|:---:|:---:|:---:|:---:|:---:|
|
||||
| 1 | 队伍名称 | 可选 | BetterGI 中已保存的队伍名称(用于切换队伍) | 速刷 / 雷国 / 国家队 |
|
||||
| 2 | 秘境名称/刷取物品名称 | **必填** | 与 BetterGI 自动秘境识别的名称保持一致 | 苍白的遗荣 / 炽烈的炎之魔女 / 辰砂往生录 |
|
||||
| 3 | 刷几轮 | 可选 | 整数,执行几轮(每轮 = 1次完整秘境) | 3 / 5 / 10 |
|
||||
| 4 | 限时/周日 | 可选 | 1=周一~周六可用、2=周日可用、3=仅周日、留空=不限制 | 1 / 2 / 3 |
|
||||
| 5 | 周几执行(0-6) | 可选 | 0=周日,1=周一,...,6=周六;不填=每天都可执行 | 0 / 3 |
|
||||
| 6 | 执行顺序 | 可选 | 数字越大越优先执行(同时间点先跑优先级高的) | 9 / 5 / 1 |
|
||||
| 位置 | 字段 | 是否必填 | 说明 | 示例 |
|
||||
|:---:|:---:|:---:|:--------------------------------------:|:-----------------------:|
|
||||
| 1 | 队伍名称 | 可选 | BetterGI 中已保存的队伍名称(用于切换队伍) | 速刷 / 雷国 / 国家队 |
|
||||
| 2 | 秘境名称/刷取物品名称 | **必填** | 与 BetterGI 自动秘境识别的名称保持一致 | 苍白的遗荣 / 炽烈的炎之魔女 / 辰砂往生录 |
|
||||
| 3 | 刷几轮 | 可选 | 整数,执行几轮(每轮 = 1次完整秘境) | 3 / 5 / 10 |
|
||||
| 4 | 限时/周日 | 可选 | 1=周一~周六可用、2=周日可用、3=仅周日、留空=不限制 | 1 / 2 / 3 |
|
||||
| 5 | 周几执行(0-6) | 可选 | 0=周日,1=周一,...,6=周六;可多选按`/`分割,不填=每天都可执行 | 0/3,3 |
|
||||
| 6 | 执行顺序 | 可选 | 数字越大越优先执行(同时间点先跑优先级高的) | 9 / 5 / 1 |
|
||||
|
||||
**配置示例**
|
||||
|
||||
```
|
||||
速刷|苍白的遗荣|3|1||9, # 优先级最高,每天刷3轮遗荣
|
||||
速刷|苍白的遗荣|3|1|0/3|9, # 优先级最高,周日,周三刷3轮遗荣
|
||||
国家队|炽烈的炎之魔女|5|||5, # 优先级次之,每天刷5轮魔女
|
||||
雷国|无想之刃狭间|2|2|0|2 # 只在周日刷,优先级较低
|
||||
```
|
||||
@@ -63,7 +63,7 @@
|
||||
[
|
||||
{
|
||||
"order": 1, // 顺序值
|
||||
"day": 0,// 执行日期
|
||||
"days": [0],// 执行日期
|
||||
"autoFight": {
|
||||
"domainName": undefined,//秘境名称
|
||||
"partyName": undefined,//队伍名称
|
||||
|
||||
@@ -61,8 +61,12 @@ async function loadMode(Load, autoFightOrderSet, domainConfig) {
|
||||
uidConfigList.forEach(item => {
|
||||
// 将秘境顺序对象添加到列表中
|
||||
// 主逻辑优化
|
||||
if (item.day !== undefined) {
|
||||
item.day = parseDay(item.day);
|
||||
// if (item.day !== undefined) {
|
||||
// item.day = parseDay(item.day);
|
||||
// }
|
||||
if (item.days && item.days.length > 0) {
|
||||
item.days = item.days.map(day => parseDay(day)).filter(day => day !== undefined)
|
||||
// item.day = parseDay(item.day);
|
||||
}
|
||||
autoFightOrderSet.add(item)
|
||||
})
|
||||
@@ -87,7 +91,10 @@ async function loadMode(Load, autoFightOrderSet, domainConfig) {
|
||||
let domainName = arr[1]; // 解析秘境名称
|
||||
let domainRoundNum = arr[2]; // 解析副本轮数
|
||||
let sundaySelectedValue = arr[3]; // 解析周日|限时选择的值
|
||||
let day = arr[4].trim() != "" ? parseInt(arr[4]) : undefined;
|
||||
// let day = arr[4].trim() != "" ? parseInt(arr[4]) : undefined;
|
||||
let days = arr[4].trim() !== ""
|
||||
? arr[4].split('/').map(d => parseInt(d.trim())).filter(d => !isNaN(d))
|
||||
: [];
|
||||
// 解析顺序值,处理可能的无效值
|
||||
let order = (() => {
|
||||
const rawOrder = arr[5]; // 获取原始值
|
||||
@@ -123,7 +130,8 @@ async function loadMode(Load, autoFightOrderSet, domainConfig) {
|
||||
// 创建秘境顺序对象
|
||||
let autoFightOrder = {
|
||||
order: order, // 顺序值
|
||||
day: day,// 执行日期
|
||||
// day: day,// 执行日期
|
||||
days: days, // 执行日期(数组)
|
||||
autoFight: autoFight // 秘境信息对象
|
||||
}
|
||||
// 将秘境顺序对象添加到列表中
|
||||
@@ -136,14 +144,15 @@ async function loadMode(Load, autoFightOrderSet, domainConfig) {
|
||||
case LoadType.bgi_tools:
|
||||
// 通过bgi_tools方式加载配置
|
||||
log.info(`开始拉取bgi_tools配置`)
|
||||
const uidConfigListBgiTools = await pullJsonConfig(config.user.uid + '',config.bgi_tools.api.httpPullJsonConfig) || []
|
||||
const uidConfigListBgiTools = await pullJsonConfig(config.user.uid + '', config.bgi_tools.api.httpPullJsonConfig) || []
|
||||
if (uidConfigListBgiTools?.length > 0) {
|
||||
// 如果配置列表不为空,遍历并添加到结果集合中
|
||||
uidConfigListBgiTools.forEach(item => {
|
||||
// 将秘境顺序对象添加到列表中
|
||||
// 主逻辑优化
|
||||
if (item.day !== undefined) {
|
||||
item.day = parseDay(item.day);
|
||||
if (item.days && item.days.length > 0) {
|
||||
item.days = item.days.map(day => parseDay(day)).filter(day => day !== undefined)
|
||||
// item.day = parseDay(item.day);
|
||||
}
|
||||
autoFightOrderSet.add(item)
|
||||
})
|
||||
@@ -186,8 +195,11 @@ async function initDomainOrderList(domainConfig) {
|
||||
let from = Array.from(autoFightOrderSet);
|
||||
let dayOfWeek = getDayOfWeek();
|
||||
from = from.filter(item => {
|
||||
if (item.day) {
|
||||
return item.day === dayOfWeek.day
|
||||
// if (item.day) {
|
||||
// return item.day === dayOfWeek.day
|
||||
// }
|
||||
if (item.days && item.days.length > 0) {
|
||||
return item.days.includes(dayOfWeek.day);
|
||||
}
|
||||
return true
|
||||
})
|
||||
@@ -214,7 +226,7 @@ async function main() {
|
||||
await init();
|
||||
if (config.bgi_tools.open.open_push) {
|
||||
log.info(`开始推送bgi_tools配置`)
|
||||
await pushAllJsonConfig(JSON.parse(file.readTextSync(config.path.domain)),config.bgi_tools.api.httpPushAllJsonConfig)
|
||||
await pushAllJsonConfig(JSON.parse(file.readTextSync(config.path.domain)), config.bgi_tools.api.httpPushAllJsonConfig)
|
||||
}
|
||||
// 获取秘境配置
|
||||
let domainConfig = config.domain.config;
|
||||
@@ -225,6 +237,7 @@ async function main() {
|
||||
}
|
||||
|
||||
await main()
|
||||
|
||||
async function test() {
|
||||
await init();
|
||||
const text = file.readTextSync(config.path.domain);
|
||||
@@ -232,9 +245,9 @@ async function test() {
|
||||
// log.info("text:{1}",text)
|
||||
const list = JSON.parse(text);
|
||||
// log.info("list:{1}",list)
|
||||
log.info("httpPullJsonConfig:{1}",JSON.parse(JSON.stringify(config.bgi_tools)).api.httpPushAllJsonConfig)
|
||||
log.info("|test==>config.bgi_tools:{1}",JSON.stringify(config.bgi_tools))
|
||||
await pushAllJsonConfig(list,config.bgi_tools.api.httpPushAllJsonConfig)
|
||||
log.info("httpPullJsonConfig:{1}", JSON.parse(JSON.stringify(config.bgi_tools)).api.httpPushAllJsonConfig)
|
||||
log.info("|test==>config.bgi_tools:{1}", JSON.stringify(config.bgi_tools))
|
||||
await pushAllJsonConfig(list, config.bgi_tools.api.httpPushAllJsonConfig)
|
||||
}
|
||||
|
||||
// await test()
|
||||
Reference in New Issue
Block a user