An open API service indexing awesome lists of open source software.

https://github.com/noble-gase/kr

[氪-Kr] Rust开发工具包
https://github.com/noble-gase/kr

aes hash redlock redlock-redis time

Last synced: 5 months ago
JSON representation

[氪-Kr] Rust开发工具包

Awesome Lists containing this project

README

          

# 氪-Kr

[crates.io](https://crates.io/crates/kr)
[MIT](http://opensource.org/licenses/MIT)

[氪-Kr] Rust开发工具包

## 安装

```shell
cargo add kr --features macros
```

## kr-core

#### 功能

- AES
- CBC
- ECB
- GCM
- Hash
- 时间格式化
- 基于Redis的分布式锁
- 基于 `bb8` 的Redis异步Manager

⚠️ `aes` 相关功能依赖 `openssl`

## kr-macros

#### 派生宏:Model

- 使用

```rust
#[derive(Model)]
#[partial(UserLite !(email, phone))] // 排除字段
#[partial(UserBrief (id, name), derive(Copy, Debug))] // 包含字段
pub struct User {
pub id: i64,

#[sqlx(rename = "username")]
pub name: String,

pub email: String,
pub phone: String,
pub created_at: String,
pub updated_at: String,
}
```

- 生成代码

```rust
#[derive(sqlx::FromRow)]
pub struct UserLite {
pub id: i64,

#[sqlx(rename = "username")]
pub name: String,

pub created_at: String,
pub updated_at: String,
}

#[derive(sqlx::FromRow, Copy, Debug)]
pub struct UserBrief {
pub id: i64,

#[sqlx(rename = "username")]
pub name: String,
}
```

👉 具体使用可以参考 [rnx](https://crates.io/crates/rnx)

**Enjoy 😊**