✨ feat: 统一活动BOSS主题入口与武将包合并流程 ✨ feat: 补充十二生肖及捉鬼驱邪武将、技能和配音资源 ✨ feat: 支持更新时安全清理废弃文件与目录
23 lines
918 B
JavaScript
23 lines
918 B
JavaScript
// 合并各主题的同类数据;重复 ID 保留先加载项,跳过后加载项,避免中断整个 BOSS 包。
|
|
const mergeBossModules = (dataType, modules) => {
|
|
const result = {};
|
|
for (const [moduleName, data] of modules) {
|
|
for (const [id, value] of Object.entries(data || {})) {
|
|
if (Object.prototype.hasOwnProperty.call(result, id)) {
|
|
console.warn(`术樱包活动BOSS:跳过${moduleName}中重复的${dataType}ID“${id}”`);
|
|
continue;
|
|
}
|
|
result[id] = value;
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
|
|
// 从标准主题入口中提取指定字段,再复用统一的重复 ID 处理规则。
|
|
const mergeBossSection = (dataType, modules, section) => {
|
|
return mergeBossModules(dataType, modules.map(([moduleName, data]) => [moduleName, data?.[section]]));
|
|
};
|
|
|
|
export { mergeBossSection };
|
|
export default mergeBossModules;
|