ncm_api_rs/api/
top_album.rs1use super::Query;
2use crate::error::Result;
3use crate::request::{ApiClient, ApiResponse, CryptoType};
6use serde_json::json;
7
8impl ApiClient {
9 pub async fn top_album(&self, query: &Query) -> Result<ApiResponse> {
12 let now = chrono::Utc::now();
13 let data = json!({
14 "area": query.get_or("area", "ALL"),
15 "limit": query.get_or("limit", "50").parse::<i64>().unwrap_or(50),
16 "offset": query.get_or("offset", "0").parse::<i64>().unwrap_or(0),
17 "type": query.get_or("type", "new"),
18 "year": query.get_or("year", &now.format("%Y").to_string()),
19 "month": query.get_or("month", &now.format("%-m").to_string()),
20 "total": false,
21 "rcmd": true
22 });
23 self.request(
24 "/api/discovery/new/albums/area",
25 data,
26 query.to_option(CryptoType::Weapi),
27 )
28 .await
29 }
30}