♻️ refactor(substore): 重构节点重命名脚本以支持更稳定的线路标识过滤与地区归并

This commit is contained in:
Orion
2026-06-03 11:58:20 +08:00
parent 00d3080f91
commit 37d257af6d
2 changed files with 134 additions and 5 deletions
+20 -1
View File
@@ -716,6 +716,25 @@ function operator(proxies) {
.trim();
};
const withInferredRegionSequence = sequenceInfo => {
const featureSequenceMatch = sequenceInfo.rest.match(/^\s+(专属|家宽|AI|高速|专线)\s+(\d{1,2})(?!\d)(?!\s*(?:[xX倍]|\.\d))(.*)$/i);
if (!featureSequenceMatch) return withRegionSequence(sequenceInfo, '01');
const featureName = featureSequenceMatch[1].toUpperCase() === 'AI'
? 'AI'
: featureSequenceMatch[1];
const inferredSequence = featureSequenceMatch[2].padStart(2, '0');
const remainingRest = featureSequenceMatch[3] || '';
return withRegionSequence(
{
...sequenceInfo,
rest: ` ${featureName}${remainingRest}`
},
inferredSequence
);
};
const normalizeBilingualName = name => {
const bilingualMatch = name.match(/^(.+?)\s*\s*(.+)$/);
if (!bilingualMatch) return name;
@@ -802,7 +821,7 @@ function operator(proxies) {
const sequenceInfo = sequenceInfos[proxyIndex];
const needsLeadingSequence = sequenceInfo && !sequenceInfo.sequenceNumber;
const coreName = needsLeadingSequence
? withRegionSequence(sequenceInfo, '01')
? withInferredRegionSequence(sequenceInfo)
: normalizedCoreName;
const baseName = subName ? `${coreName} - ${subName}` : coreName;