Skip to main content

ncm_api_rs/api/
mv_all.rs

1use super::Query;
2use crate::error::Result;
3/// MV 全部
4/// 对应 Node.js module/mv_all.js
5use crate::request::{ApiClient, ApiResponse, CryptoType};
6use serde_json::json;
7
8impl ApiClient {
9    /// 全部 MV
10    /// 对应 /mv/all
11    pub async fn mv_all(&self, query: &Query) -> Result<ApiResponse> {
12        let tags = json!({
13            "地区": query.get_or("area", "全部"),
14            "类型": query.get_or("type", "全部"),
15            "排序": query.get_or("order", "上升最快")
16        });
17        let data = json!({
18            "tags": serde_json::to_string(&tags).unwrap_or_default(),
19            "offset": query.get_or("offset", "0").parse::<i64>().unwrap_or(0),
20            "total": "true",
21            "limit": query.get_or("limit", "30").parse::<i64>().unwrap_or(30)
22        });
23        self.request("/api/mv/all", data, query.to_option(CryptoType::default()))
24            .await
25    }
26}