| Crates.io | ostring_base |
| lib.rs | ostring_base |
| version | 2.1.0 |
| created_at | 2024-11-12 13:08:18.055479+00 |
| updated_at | 2025-06-10 03:04:33.344183+00 |
| description | ostring base crate include some basic function |
| homepage | |
| repository | https://github.com/Weakcat/ostring_base.git |
| max_upload_size | |
| id | 1444911 |
| size | 39,430 |
一个用 Rust 编写的系统工具集合,提供系统信息获取、文件路径管理、串口管理和自动启动配置等功能。
📊 系统信息监控
📁 路径管理
🔌 串口管理
🚀 自动启动配置
克隆仓库:
git clone https://github.com/Weakcat/ostring_base.git
构建项目:
cargo build --release
use ostring_base::os_sysinfo::OsSysInfo;
let info = OsSysInfo::get_info();
println!("{:?}", info);
use ostring_base::os_path::{PathManager, app_file_path};
// 获取并确保应用配置文件存在
let config_path = app_file_path("myapp", "config.json")?;
// 自定义路径操作
let mut log_manager = PathManager::get_data_dir()?;
log_manager.join_dir("myapp")?
.join_dir("logs")?
.ensure()?;
let log_dir = log_manager.path();
// 文件路径(注意:文件路径后不能再join)
let mut file_manager = PathManager::get_data_dir()?;
file_manager.join_dir("myapp")?
.join_file("data.log")?; // 此时path_type为File
// 以下操作会返回错误
// file_manager.join_dir("logs")?; // 错误:无法在文件路径上进行join操作
// 创建并获取文件路径
file_manager.ensure()?;
let file_path = file_manager.string()?;
use ostring_base::os_serialport::serial_port_list;
let ports = serial_port_list();
println!("{:?}", ports);
use ostring_base::os_autolaunch::AutoLaunchManager;
// 检查是否启用了自动启动
let is_enabled = AutoLaunchManager::is_enabled()?;
println!("自动启动状态: {}", is_enabled);
// 启用自动启动
AutoLaunchManager::update_launch(true)?;
// 禁用自动启动
AutoLaunchManager::update_launch(false)?;
serde: 序列化/反序列化支持sysinfo: 系统信息获取serialport: 串口通信auto-launch: 自动启动配置dirs: 系统目录路径获取anyhow: 错误处理cargo test