rovkit

Crates.iorovkit
lib.rsrovkit
version0.0.6
created_at2025-06-20 07:47:56.410575+00
updated_at2025-07-03 03:04:19.915722+00
descriptionrust kit for my self
homepage
repositoryhttps://github.com/LiushuiXiaoxia/RovKit
max_upload_size
id1719252
size204,489
XiaQiulei (LiushuiXiaoxia)

documentation

README

RovKit


Rust kit for myself.

使用姿势

Crates.io Downloads Docs.rs Rust CI

cargo add rovkit
[dependencies]
rovkit = "0.0"

简介和

  • 项目定位:一个 Rust 语言的全家桶工具库,提供字符串、时间、JSON、HTTP、进程、文件、配置、日志、加密、工具函数等常用功能模块.
  • 愿景使命:参考了 java, go, python 等语言,结合 Rust 特点做定制化设计,方便其他 Java,go,python等开发快速入门。
  • 模块命名:统一用 xxxkit 命名规范,同步模块如 httpkit,异步模块简写为 ahttpkit 等。
  • 异步设计:采用同步优先、异步可选的架构,通过 feature 开关切换,避免异步复杂度传递。
  • 依赖管理:使用 feature 控制依赖,按需编译,减小体积。
  • 代码风格:模块职责清晰,功能单一,易于维护和扩展。
  • 性能优化:建议开启 LTO 和 release 模式优化,利用 Rust 自带的 dead code elimination,控制二进制大小。

ToDo List

基础架构搭建

  • 初始化 GitHub 仓库,添加 LICENSE、README.md、.gitignore
  • 搭建项目基础目录结构(src、examples、tests、benches)
  • 编写 Cargo.toml,配置 feature 开关和依赖

核心模块开发(同步)

#selectedCode:README.md

  • stringkit:字符串处理函数

    • 字符串拼接、分割、替换
    • Base64 编解码
    • 正则匹配与提取
  • filekit:文件读写、目录操作

    • 文件是否存在、创建、删除、重命名
    • 读取和写入文本/二进制文件
    • 遍历目录、创建临时文件/目录
  • timekit:时间日期操作

    • 获取当前时间戳
    • 时间格式化(ISO8601、RFC2822 等)
    • 时间加减、比较、时区转换
  • convkit:类型转换工具

    • 基本类型转换(i32, u64, f32, String 等)
    • Hex、Base64、UTF-8 转换
    • 自定义结构体序列化/反序列化封装
  • jsonkit:JSON 读写与路径访问

    • JSON 序列化/反序列化(基于 serde)
    • 支持通过 JSON Path 提取字段
    • 支持嵌套结构修改与合并
  • httpkit:同步 HTTP 客户端封装

    • GET / POST 请求封装
    • 设置 headers、timeout、代理等
    • 返回状态码、响应内容解析
  • processkit:同步进程命令执行

    • 执行 shell 命令并获取输出
    • 支持管道、标准输入输出重定向
    • 超时控制、错误码捕获
  • configkit:配置文件加载(JSON优先,支持YAML/TOML)

    • 支持多格式配置文件解析(json/yml/toml)
    • 环境变量覆盖机制
    • 默认值设置与校验
  • logkit:日志初始化及打印封装

    • 支持 info、debug、warn、error 等级别
    • 控制台和文件双输出
    • 日志轮转、最大保留数量配置
  • cryptokit:哈希和简单加密

    • MD5、SHA1、SHA256 等摘要算法
    • AES 对称加密(ECB/CBC/GCM 模式)
    • HMAC、签名生成与验证

异步模块开发(可选)

  • ahttpkit:异步 HTTP 客户端(基于 reqwest + tokio)
  • aprocesskit:异步进程调用(如有需求)

测试和示例

  • 编写单元测试,覆盖主要功能点
  • 编写示例代码,展示模块用法
  • 配置 CI/CD 自动化测试和构建

未来扩展(长远计划)

  • 配置热加载、动态配置更新
  • 日志异步写入及文件轮转
  • 支持更多加密算法
  • 集成数据库工具包(dbkit)
  • 支持缓存和消息队列模块
Commit count: 0

cargo fmt