🐛 fix(core): 支持按倍率数值对节点进行排序
- 新增 multiplierValueOf 函数,将倍率字符串(如带有X的后缀)转换为数值 - 在节点排序逻辑中,当区域排序相同时,优先按倍率数值升序排列 - 修正了由于大段代码结构调整和闭合括号错位引起的作用域结构
This commit is contained in:
@@ -50,6 +50,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
|
||||
@@ -105,6 +109,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