refactor(substore): 将通用工具函数迁移至公共库

- 从各个重命名脚本中移除重复的工具函数实现
- 将 multiplierOf、multiplierValueOf、stripSubscriptionSuffix 等函数统一到 common.js
- 使用 utils.multiplierOf、utils.multiplierValueOf 替代本地实现
- 引入 utils.createSequenceCounter 替代手动计数逻辑
- 更新版本号从 20260608-1 到 20260702-1
- 移除重复的正则表达式匹配逻辑
- 标准化序列计数器实现方式
- 优化 yinyun-rename.js 中的信息节点过滤逻辑
This commit is contained in:
2026-07-02 23:40:05 +08:00
parent 45a1b883a6
commit 7a62f839f1
10 changed files with 86 additions and 74 deletions
+3 -4
View File
@@ -4,7 +4,7 @@
* 按地区稳定归并后重新连续编号,避免专属/普通节点撞号。
*/
// noinspection JSUnusedGlobalSymbols
const COMMON_SCRIPT_VERSION = '20260608-1';
const COMMON_SCRIPT_VERSION = '20260702-1';
const COMMON_SCRIPT_URL = `https://git.orionc.me/orion/script/raw/branch/main/substore/common.js?v=${COMMON_SCRIPT_VERSION}`;
const hasCurrentRenameUtils = utils => Boolean(
utils && utils.version === COMMON_SCRIPT_VERSION
@@ -141,12 +141,11 @@ async function operator(proxies) {
return firstItem.originalIndex - secondItem.originalIndex;
});
const regionCount = Object.create(null);
const nextSequence = utils.createSequenceCounter();
return normalizedItems.map(item => {
if (!item.regionCode) return item.proxy;
regionCount[item.regionCode] = (regionCount[item.regionCode] || 0) + 1;
item.proxy.name = withFreshRegionSequence(item.proxy.name, regionCount[item.regionCode]);
item.proxy.name = withFreshRegionSequence(item.proxy.name, nextSequence(item.regionCode));
return item.proxy;
});
}