add banbanmini backend
This commit is contained in:
21
talkingq-url/implementations/base_service.py
Normal file
21
talkingq-url/implementations/base_service.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from typing import Any, Dict, Optional
|
||||
from services.config_manager import config_manager
|
||||
|
||||
class BaseService:
|
||||
"""所有服务实现的基类,提供统一的配置处理功能"""
|
||||
|
||||
def __init__(self, service_type: str, selected_role: Optional[Dict[str, Any]] = None):
|
||||
self.selected_role = selected_role
|
||||
self.service_type = service_type
|
||||
self.config = config_manager.get_service_config(service_type, selected_role)
|
||||
|
||||
def get_config(self, key: str, default_value: Any = None) -> Any:
|
||||
"""获取配置值,按照优先级规则"""
|
||||
if key in self.config:
|
||||
return self.config[key]
|
||||
return config_manager.get_config_value(key, self.selected_role, default_value)
|
||||
|
||||
def update_config(self, new_role_config: Dict[str, Any] = None) -> None:
|
||||
"""更新服务配置,用于动态切换角色时"""
|
||||
self.selected_role = new_role_config if new_role_config else self.selected_role
|
||||
self.config = config_manager.get_service_config(self.service_type, self.selected_role)
|
||||
Reference in New Issue
Block a user