From 9756ff388cf9aac5dc47624989f1d3c88f42fe0a Mon Sep 17 00:00:00 2001 From: Orion Date: Mon, 15 Jun 2026 00:56:16 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(core):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=20Iris=20Cloud=20=E9=87=8D=E5=91=BD=E5=90=8D=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E7=9A=84=E6=8E=92=E5=BA=8F=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 新增 multiplierValueOf 函数用于解析倍率字符串为数值 * 在节点排序逻辑中引入倍率维度的升序排列 * 修复原排序逻辑在相同区域下无法按倍率正确排序的问题 * 调整 cleanCoreName 及相关映射逻辑的结构以支持增强排序 * 确保在计算节点编号前先完成基于倍率的二次排序归一化 --- substore/iriscloud-rename.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/substore/iriscloud-rename.js b/substore/iriscloud-rename.js index 7786d57..7d4c169 100644 --- a/substore/iriscloud-rename.js +++ b/substore/iriscloud-rename.js @@ -49,6 +49,10 @@ async function operator(proxies) { return match ? `${match[1]}X` : ''; }; + const multiplierValueOf = multiplier => ( + multiplier ? Number(multiplier.replace(/X$/i, '')) : Number.NEGATIVE_INFINITY + ); + const cleanCoreName = name => { const { text } = utils.splitLeadingOrInlineFlag(name); return text @@ -104,6 +108,11 @@ async function operator(proxies) { const firstRegionOrder = regionOrder[firstItem.regionPrefix]; const secondRegionOrder = regionOrder[secondItem.regionPrefix]; if (firstRegionOrder !== secondRegionOrder) return firstRegionOrder - secondRegionOrder; + const firstMultiplierValue = multiplierValueOf(firstItem.multiplier); + const secondMultiplierValue = multiplierValueOf(secondItem.multiplier); + if (firstMultiplierValue !== secondMultiplierValue) { + return firstMultiplierValue - secondMultiplierValue; + } return firstItem.originalIndex - secondItem.originalIndex; });