admin_config/lib.rs
1//! 统一配置管理库
2//!
3//! 提供应用程序所需的各类配置管理功能,支持:
4//! - 多数据库配置(MongoDB、MySQL、PostgreSQL、SQLite、Redis、Neo4j、Qdrant、SeekDB)
5//! - 认证与安全配置(JWT、Session、CORS、加密)
6//! - 第三方服务配置(邮件、短信、对象存储)
7//! - 环境变量覆盖
8//! - 配置文件自动查找
9//!
10//! # 功能特性
11//!
12//! - 支持从 config.toml 加载配置
13//! - 支持环境变量覆盖配置项
14//! - 自动查找配置文件(多路径策略)
15//! - 配置验证与默认值
16//! - 敏感信息自动生成(密钥、盐值等)
17//!
18//! # 使用示例
19//!
20//! ```rust,ignore
21//! use admin_config::AppConfig;
22//!
23//! let config = AppConfig::load()?;
24//!
25//! println!("Server running on {}:{}", config.server.host, config.server.port);
26//! println!("MongoDB connection: {}", config.database.mongodb.to_connection_url());
27//! println!("Redis connection: {}", config.redis.connection_string());
28//! ```
29//!
30//! # 配置文件示例
31//!
32//! ```toml
33//! [server]
34//! name = "actix-admin-server"
35//! version = "0.1.0"
36//! port = 3400
37//! host = "0.0.0.0"
38//! log_level = "info"
39//!
40//! [database.mongodb]
41//! host = "localhost"
42//! port = 27017
43//! database = "admin"
44//! username = "admin"
45//! password = "password"
46//!
47//! [redis]
48//! host = "localhost"
49//! port = 6379
50//! database = 0
51//! ```
52
53mod app_config;
54mod auth_config;
55mod cos_config;
56mod database_config;
57mod email_config;
58mod redis_config;
59mod security_config;
60mod server_config;
61mod session_config;
62mod sms_config;
63mod verification_config;
64
65pub use app_config::AppConfig;
66pub use auth_config::AuthConfig;
67pub use cos_config::CosConfig;
68pub use database_config::{
69 MongoDbConfig, MySqlConfig, PostgreSqlConfig, QdrantConfig, SeekDbConfig, SqliteConfig, ToConnectionUrl,
70};
71pub use email_config::EmailConfig;
72pub use redis_config::RedisConfig;
73pub use security_config::SecurityConfig;
74pub use server_config::ServerConfig;
75pub use session_config::SessionConfig;
76pub use sms_config::{AliyunSmsConfig, SmsConfig, TencentSmsConfig};
77pub use verification_config::VerificationCodeConfig;