pub struct ConfigManager {
pub active_provider: String,
pub providers: HashMap<String, ProviderConfig>,
pub settings: GlobalSettings,
pub extra: HashMap<String, String>,
}Expand description
配置管理器
Fields§
§active_provider: String当前激活的提供商
providers: HashMap<String, ProviderConfig>提供商注册表
settings: GlobalSettings全局设置
extra: HashMap<String, String>其他配置项
Implementations§
Source§impl ConfigManager
impl ConfigManager
Sourcepub async fn load_from_file(&mut self, path: &Path) -> Result<()>
pub async fn load_from_file(&mut self, path: &Path) -> Result<()>
从文件加载配置
Sourcepub fn load_from_file_sync(&mut self, path: &Path) -> Result<()>
pub fn load_from_file_sync(&mut self, path: &Path) -> Result<()>
从文件同步加载(用于非 async 环境)
Sourcepub fn merge(&mut self, other: ConfigManager)
pub fn merge(&mut self, other: ConfigManager)
合并配置 (优先级: env > file > default,所以 file 合入 self)
Sourcepub fn default_config_path() -> PathBuf
pub fn default_config_path() -> PathBuf
获取默认配置路径
Sourcepub fn project_config_path() -> PathBuf
pub fn project_config_path() -> PathBuf
获取项目级配置路径
Sourcepub fn use_provider(&mut self, name: &str) -> Result<()>
pub fn use_provider(&mut self, name: &str) -> Result<()>
切换提供商
Sourcepub fn current(&self) -> Result<&ProviderConfig>
pub fn current(&self) -> Result<&ProviderConfig>
获取当前提供商配置
Sourcepub fn add_provider(&mut self, name: &str, config: ProviderConfig)
pub fn add_provider(&mut self, name: &str, config: ProviderConfig)
添加提供商
Sourcepub fn list_providers(&self) -> Vec<&String>
pub fn list_providers(&self) -> Vec<&String>
列出所有提供商
Sourcepub fn resolve_env_refs(&mut self)
pub fn resolve_env_refs(&mut self)
解析环境变量引用 ${VAR_NAME}
Sourcepub fn init_default_config(&self) -> Result<PathBuf>
pub fn init_default_config(&self) -> Result<PathBuf>
初始化默认配置文件
Trait Implementations§
Source§impl Clone for ConfigManager
impl Clone for ConfigManager
Source§fn clone(&self) -> ConfigManager
fn clone(&self) -> ConfigManager
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConfigManager
impl Debug for ConfigManager
Source§impl Default for ConfigManager
impl Default for ConfigManager
Source§impl<'de> Deserialize<'de> for ConfigManager
impl<'de> Deserialize<'de> for ConfigManager
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ConfigManager
impl RefUnwindSafe for ConfigManager
impl Send for ConfigManager
impl Sync for ConfigManager
impl Unpin for ConfigManager
impl UnsafeUnpin for ConfigManager
impl UnwindSafe for ConfigManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more