| Crates.io | dart_pub_sdk |
| lib.rs | dart_pub_sdk |
| version | 0.1.1 |
| created_at | 2025-09-12 09:40:11.621685+00 |
| updated_at | 2025-09-12 09:51:40.063718+00 |
| description | Dart pub rust api package |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1835458 |
| size | 52,265 |
一个用于与 Dart Pub 服务交互的 Rust SDK。
在你的 Cargo.toml 文件中添加依赖:
[dependencies]
dart_pub_sdk = { path = "path/to/dart_pub_sdk" }
注意:目前这个库还未发布到 crates.io,需要通过本地路径引用。
use dart_pub_sdk::{DartPubClient, DartPubService};
#[tokio::main]
async fn main() {
// 创建默认客户端(使用官方源)
let client = DartPubClient::default();
// 搜索包
match client.search("flutter_lints".to_string()).await {
Ok(package) => {
println!("包名: {}", package.name);
println!("最新版本: {}", package.latest.version);
}
Err(e) => {
eprintln!("搜索失败: {}", e);
}
}
}
use dart_pub_sdk::{DartPubClient, DartPubMirror};
#[tokio::main]
async fn main() {
// 使用中国区镜像
let client = DartPubClient::with_mirror(DartPubMirror::flutter_io_cn());
// 或者使用清华大学镜像
// let client = DartPubClient::with_mirror(DartPubMirror::tsing_hua());
// 或者使用上海交通大学镜像
// let client = DartPubClient::with_mirror(DartPubMirror::shang_hai_jiao_tong());
match client.search("http".to_string()).await {
Ok(package) => {
println!("包名: {}", package.name);
println!("版本数量: {}", package.versions.len());
}
Err(e) => {
eprintln!("搜索失败: {}", e);
}
}
}
主要的客户端结构,用于与 Dart Pub 服务交互。
DartPubClient::default() - 使用官方源创建客户端DartPubClient::with_mirror(mirror: DartPubMirror) - 使用指定镜像源创建客户端DartPubClient::new(host: String) - 使用自定义主机地址创建客户端search(&self, query: String) -> Result<DartPackage, Box<dyn std::error::Error>> - 搜索指定名称的包预定义的镜像源。
DartPubMirror::tsing_hua() - 清华大学镜像DartPubMirror::flutter_io_cn() - 中国区镜像DartPubMirror::shang_hai_jiao_tong() - 上海交通大学镜像表示一个 Dart 包的完整信息。
name: String - 包名称latest: VersionInfo - 最新版本信息versions: Vec<Version> - 所有版本信息版本信息结构。
version: String - 版本号pubspec: Pubspec - 包的元数据archive_url: String - 包归档文件的 URLarchive_sha256: String - 归档文件的 SHA256 校验和published: String - 发布时间包的元数据信息。
name: String - 包名称description: String - 包描述repository: Option<String> - 仓库地址issue_tracker: Option<String> - 问题跟踪地址homepage: Option<String> - 主页地址version: String - 版本号environment: Environment - 环境要求dependencies: Option<HashMap<String, Dependency>> - 依赖信息topics: Option<Vec<String>> - 主题标签本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。