idea_common/
utils.rs

1// 定义全局 Snowflake 变量
2use rustflake::Snowflake;
3use lazy_static::lazy_static;
4lazy_static! {
5    static ref GLOBAL_SNOWFLAKE: std::sync::Mutex<Snowflake> = std::sync::Mutex::new(Snowflake::new(1420070400000, 1, 1));
6}
7
8/// 生成一个全局唯一的ID (基于Snowflake算法)
9///
10/// # 返回
11/// 返回一个u64类型的唯一ID
12pub fn get_next_id() -> i64 {
13    GLOBAL_SNOWFLAKE.lock().unwrap().generate()
14}
15
16
17/// 将字节向量编码为Base64字符串
18///
19/// # 参数
20/// * `bytes` - 需要编码的字节向量
21///
22/// # 返回
23/// 返回Base64编码后的字符串
24use base64::{Engine as _, engine::general_purpose};
25pub fn base64_encode(bytes: Vec<u8>) -> String {
26    general_purpose::STANDARD.encode(bytes)
27}