Expand description
Clamber Core 是一个面向 Rust 项目的通用核心工具库,提供:
- 配置管理(YAML/TOML/JSON + 环境变量覆盖 + 多文件合并)
- JWT 令牌生成与校验
- 分布式唯一 ID(Snowflake)
- 基于 tracing 的结构化日志初始化
- 统一错误处理(thiserror)
快速开始示例:
use serde::{Serialize, Deserialize};
use clamber_core::token::{JwtConfig, generate_token, verify_token};
#[derive(Serialize, Deserialize, Debug, PartialEq)]
struct User { id: String, username: String, role: String }
fn main() -> clamber_core::Result<()> {
let user = User { id: "1".into(), username: "alice".into(), role: "admin".into() };
let token = generate_token(&user, JwtConfig::default())?;
let decoded: User = verify_token(&token)?;
assert_eq!(user, decoded);
Ok(())
}更多示例请查看项目 README 以及 examples 目录。
Re-exports§
pub use error::ClamberError;pub use error::Result;pub use tracing_logs::LogConfig;pub use tracing_logs::logger_start_with_config;pub use token::JwtConfig;pub use token::JwtManager;pub use token::generate_token;pub use token::is_valid_token;pub use token::verify_token;pub use snowflake::SnowflakeConfig;pub use snowflake::SnowflakeIdInfo;pub use snowflake::SnowflakeManager;pub use config::ConfigBuilder;pub use config::ConfigFormat;pub use config::ConfigManager;pub use config::auto_load_config;pub use config::get_config_paths;pub use config::load_config;pub use config::load_config_with_env;
Modules§
- config
- 配置管理模块:支持多格式配置文件(YAML/TOML/JSON)、环境变量覆盖(可自定义前缀与分隔符)、多文件合并与默认值。 参见项目根目录的 CONFIG.md 获取更完整的使用指南与示例。
- error
- 错误类型模块:对库内各子模块的错误进行统一建模,向外暴露 ClamberError 与 Result。
- snowflake
- Snowflake 模块:线程安全的分布式唯一 ID 生成与解析,支持自定义纪元与批量生成。 详见根目录 SNOWFLAKE.md 获取更完整说明与示例。
- snowflake_
utils - snowflake 便利函数(使用前缀避免命名冲突) 便利函数:Snowflake ID 相关的快捷 API。
- token
- JWT 模块:提供令牌生成、验证和便捷函数;支持自定义密钥与过期时间。 详见根目录 JWT_README.md 获取更丰富的示例与 API 说明。
- tracing_
logs - tracing 日志模块:提供控制台+文件输出、按日滚动、可配置格式/级别的初始化函数。 参见 README 以及 examples/beautiful_logs_custom.rs。