fix(physical): 修复物理域过滤逻辑和求和计算问题

- 修改了物理域为空或无开启项目时的判断条件
- 优化了非原粹树脂项目的求和计算方式
- 修正了原粹树脂项目的求和计算方法
- 移除了冗余的 map 和 reduce 操作,改用 filter.length 计算
This commit is contained in:
yan
2026-02-13 13:07:45 +08:00
parent bcd7ef83aa
commit 5404a6341f
2 changed files with 4 additions and 4 deletions

View File

@@ -32,7 +32,7 @@
### 计划配置语法domain_config 字段)
```
队伍名称|秘境名称/刷取物品名称|刷几轮|限时/周日(1-3和本体的一致)|周几执行(0-6)不填默认执行|执行顺序(越大越先执行)
队伍名称|秘境名称/刷取物品名称|刷几轮|限时/周日(1-3和本体的一致)|周几执行(0-6)不填默认执行|树脂使用顺序|执行顺序(越大越先执行)
```
- 多条计划用 **英文半角逗号 ,** 分隔

View File

@@ -19,7 +19,7 @@ async function autoDomain(autoFight) {
// {order: 3, name: "脆弱树脂", count: 0, open: false},
// ]
if (!physical_domain) {
if ((!physical_domain) || physical_domain.filter(item => item.open).length === 0) {
const names = config.user.physical.names;
physical_domain = []
names.forEach((name, index) => {
@@ -30,10 +30,10 @@ async function autoDomain(autoFight) {
physical_domain.sort((a, b) => a.order - b.order)
// 不包含原粹树脂的和
const noOriginalSum = physical_domain.filter(item => item.name.trim() !== "原粹树脂")
.map(item => item.open ? 1 : 0).reduce((acc, curr) => acc + curr, 0);//求和
.filter(item => item.open ).length;//求和
// 只包含原粹树脂的和
const originalSum = physical_domain.find(item => item.name?.trim() === "原粹树脂")
.map(item => item.open ? 1 : 0).reduce((acc, curr) => acc + curr, 0);
.filter(item => item.open ).length;
const resinPriorityList = physical_domain.filter(item => item.open).map(item => item.name?.trim())
// /** 树脂使用优先级列表 */
// resinPriorityList: string[];