mvsep_api_tester/lib.rs
1//! # mvsep-api-tester
2//!
3//! MVSep 后端 API 交互的 Rust 实现。提供算法缓存、任务管理、流式上传下载、断点续传等核心能力。
4//!
5//! ## 三数据库架构
6//!
7//! | 数据库 | 位置 | 内容 |
8//! |--------|------|------|
9//! | `mvsep.db` | [`db::Database`] | 算法缓存(算法、字段、格式、关联) |
10//! | `tasks.db` | [`db::tasks_db::TasksDatabase`] | 任务追踪(任务、历史、下载进度) |
11//! | `user_config.db` | [`db::user_config::UserConfigDB`] | 用户配置(Token、代理、预设) |
12//!
13//! ## 模块
14//!
15//! | 模块 | 说明 |
16//! |------|------|
17//! | [`db`] | 数据库层,含三个数据库的访问和迁移 |
18//! | [`db::tasks_db`] | 任务数据库(独立 SQLite) |
19//! | [`db::user_config`] | 用户配置 KV 存储 |
20//! | [`db::repositories`] | 数据访问层(行类型 + CRUD) |
21//! | [`file_transfer`] | 文件传输(流式上传/下载、续传、进度回调) |
22//! | [`utils`] | 路径、控制台等工具函数 |
23//!
24//! ## 基本用法(非交互式)
25//!
26//! ```rust,no_run
27//! use mvsep_api_tester::db;
28//! use mvsep_api_tester::file_transfer;
29//! use std::path::Path;
30//!
31//! // 打开数据库
32//! let db = db::Database::new(None).unwrap();
33//! let tasks_db = db::tasks_db::TasksDatabase::new(None).unwrap();
34//!
35//! // 读取算法列表
36//! let algos = db.with_conn(|c| {
37//! db::repositories::get_all_algorithms(c)
38//! }).unwrap();
39//!
40//! // 流式下载文件
41//! let client = reqwest::blocking::Client::new();
42//! file_transfer::download_file(
43//! &client,
44//! "https://example.com/file.wav",
45//! Path::new("./output.wav"),
46//! 0, // resume_from = 0 表示从头下载
47//! |p| println!("{:.1}%", p.percent),
48//! ).unwrap();
49//! ```
50
51pub mod db;
52pub mod file_transfer;
53pub mod utils;