🐛 fix(core): 优化 Iris Cloud 重命名逻辑的排序机制
* 新增 multiplierValueOf 函数用于解析倍率字符串为数值 * 在节点排序逻辑中引入倍率维度的升序排列 * 修复原排序逻辑在相同区域下无法按倍率正确排序的问题 * 调整 cleanCoreName 及相关映射逻辑的结构以支持增强排序 * 确保在计算节点编号前先完成基于倍率的二次排序归一化
This commit is contained in:
@@ -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;
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user