diff --git a/app/config/settings.py b/app/config/settings.py index e71d33e..ba6d9e7 100644 --- a/app/config/settings.py +++ b/app/config/settings.py @@ -104,20 +104,15 @@ class ConfigManager: logger.info(f"已创建默认配置文件: {self.config_file}") def save_config(self) -> None: - """保存配置到文件(敏感字段不写入文件)""" - # 保存前临时清空敏感字段,避免写入文件 + """保存配置到文件(API 密钥不写入文件,Gitea token 需要持久化)""" + # 保存前临时清空 API 密钥,避免写入文件(这些从 .env 读取) saved_keys = {} - sensitive_fields = [ - ('API', 'api_key'), - ('API', 'secret_key'), - ('Gitea', 'token'), - ] - for section, option in sensitive_fields: + for option in ('api_key', 'secret_key'): try: - saved_keys[(section, option)] = self.config.get(section, option, fallback='') + saved_keys[option] = self.config.get('API', option, fallback='') except Exception: - saved_keys[(section, option)] = '' - self.config.set(section, option, '') + saved_keys[option] = '' + self.config.set('API', option, '') try: with open(self.config_file, 'w', encoding='utf-8') as f: @@ -125,9 +120,9 @@ class ConfigManager: logger.info(f"配置已保存到: {self.config_file}") finally: # 恢复内存中的值(即使写入失败也恢复) - for (section, option), val in saved_keys.items(): + for option, val in saved_keys.items(): if val: - self.config.set(section, option, val) + self.config.set('API', option, val) def get(self, section: str, option: str, fallback: Any = None) -> Any: """获取配置值"""