Skip to main content

ncm_api_rs/api/
digital_album_ordering.rs

1use super::Query;
2use crate::error::Result;
3/// 购买数字专辑
4/// 对应 Node.js module/digitalAlbum_ordering.js
5use crate::request::{ApiClient, ApiResponse, CryptoType};
6use serde_json::json;
7
8impl ApiClient {
9    /// 购买数字专辑
10    /// 对应 /digitalAlbum/ordering
11    pub async fn digital_album_ordering(&self, query: &Query) -> Result<ApiResponse> {
12        let data = json!({
13            "business": "Album",
14            "paymentMethod": query.get_or("payment", ""),
15            "digitalResources": serde_json::to_string(&json!([{
16                "business": "Album",
17                "resourceID": query.get_or("id", ""),
18                "quantity": query.get_or("quantity", "1")
19            }])).unwrap_or_default(),
20            "from": "web"
21        });
22        self.request(
23            "/api/ordering/web/digital",
24            data,
25            query.to_option(CryptoType::Weapi),
26        )
27        .await
28    }
29}