"""BGM配置相关的领域工具函数。""" from __future__ import annotations def merge_bgm_config(template_bgm: dict, user_bgm: dict) -> dict: """合并模板BGM配置与用户自定义BGM配置。 用户配置优先级高于模板配置: - 用户显式指定的字段覆盖模板对应字段 - 用户未指定的字段保留模板值 - enabled 特殊处理:只有用户显式传了才覆盖,否则保留模板状态 Args: template_bgm: 模板BGM配置 user_bgm: 用户自定义BGM配置 Returns: 合并后的BGM配置字典 """ if not user_bgm: return dict(template_bgm) if not template_bgm: return dict(user_bgm) merged = {**template_bgm, **user_bgm} # enabled 特殊处理:用户没传就保留模板的 if "enabled" not in user_bgm and "enabled" in template_bgm: merged["enabled"] = template_bgm["enabled"] return merged