Skip to main content

ncm_api_rs/api/
cloudsearch.rs

1use super::Query;
2use crate::error::Result;
3/// 搜索
4/// 对应 Node.js module/cloudsearch.js
5use crate::request::{ApiClient, ApiResponse, CryptoType};
6use serde_json::json;
7
8impl ApiClient {
9    /// 搜索(云搜索)
10    /// 对应 /cloudsearch
11    pub async fn cloudsearch(&self, query: &Query) -> Result<ApiResponse> {
12        let data = json!({
13            "s": query.get_or("keywords", ""),
14            "type": query.get_or("type", "1").parse::<i64>().unwrap_or(1),
15            "limit": query.get_or("limit", "30").parse::<i64>().unwrap_or(30),
16            "offset": query.get_or("offset", "0").parse::<i64>().unwrap_or(0),
17            "total": true
18        });
19        self.request(
20            "/api/cloudsearch/pc",
21            data,
22            query.to_option(CryptoType::default()),
23        )
24        .await
25    }
26}