Expand description
§mvsep-api-tester
MVSep 后端 API 交互的 Rust 实现。提供算法缓存、任务管理、流式上传下载、断点续传等核心能力。
§三数据库架构
| 数据库 | 位置 | 内容 |
|---|---|---|
mvsep.db | db::Database | 算法缓存(算法、字段、格式、关联) |
tasks.db | db::tasks_db::TasksDatabase | 任务追踪(任务、历史、下载进度) |
user_config.db | db::user_config::UserConfigDB | 用户配置(Token、代理、预设) |
§模块
| 模块 | 说明 |
|---|---|
db | 数据库层,含三个数据库的访问和迁移 |
db::tasks_db | 任务数据库(独立 SQLite) |
db::user_config | 用户配置 KV 存储 |
db::repositories | 数据访问层(行类型 + CRUD) |
file_transfer | 文件传输(流式上传/下载、续传、进度回调) |
utils | 路径、控制台等工具函数 |
§基本用法(非交互式)
use mvsep_api_tester::db;
use mvsep_api_tester::file_transfer;
use std::path::Path;
// 打开数据库
let db = db::Database::new(None).unwrap();
let tasks_db = db::tasks_db::TasksDatabase::new(None).unwrap();
// 读取算法列表
let algos = db.with_conn(|c| {
db::repositories::get_all_algorithms(c)
}).unwrap();
// 流式下载文件
let client = reqwest::blocking::Client::new();
file_transfer::download_file(
&client,
"https://example.com/file.wav",
Path::new("./output.wav"),
0, // resume_from = 0 表示从头下载
|p| println!("{:.1}%", p.percent),
).unwrap();Modules§
- db
- file_
transfer - 文件传输模块。
- utils