Skip to main content

ncm_api_rs/api/
playlist_update.rs

1use super::Query;
2use crate::error::Result;
3/// 编辑歌单
4/// 对应 Node.js module/playlist_update.js
5use crate::request::{ApiClient, ApiResponse, CryptoType};
6use serde_json::json;
7
8impl ApiClient {
9    /// 编辑歌单(批量更新名称、描述、标签)
10    /// 对应 /playlist/update
11    pub async fn playlist_update(&self, query: &Query) -> Result<ApiResponse> {
12        let id = query.get_or("id", "0");
13        let name = query.get_or("name", "");
14        let desc = query.get_or("desc", "");
15        let tags = query.get_or("tags", "");
16        let data = json!({
17            "/api/playlist/desc/update": format!(r#"{{"id":{},"desc":"{}"}}"#, id, desc),
18            "/api/playlist/tags/update": format!(r#"{{"id":{},"tags":"{}"}}"#, id, tags),
19            "/api/playlist/update/name": format!(r#"{{"id":{},"name":"{}"}}"#, id, name)
20        });
21        self.request("/api/batch", data, query.to_option(CryptoType::default()))
22            .await
23    }
24}