diff --git a/src/bilibili/client.rs b/src/bilibili/client.rs index 954ad45..cb80152 100644 --- a/src/bilibili/client.rs +++ b/src/bilibili/client.rs @@ -7,6 +7,7 @@ use crate::bilibili::Credential; use crate::config::CONFIG; // 一个对 reqwest::Client 的简单封装,用于 Bilibili 请求 +#[derive(Clone)] pub struct Client(reqwest::Client); impl Client { @@ -56,7 +57,7 @@ impl Default for Client { } pub struct BiliClient { - client: Client, + pub client: Client, } impl BiliClient { diff --git a/src/core/command.rs b/src/core/command.rs index c39e946..a7de541 100644 --- a/src/core/command.rs +++ b/src/core/command.rs @@ -153,7 +153,7 @@ pub async fn download_unprocessed_videos( let unhandled_videos_pages = unhandled_videos_pages(&favorite_model, connection).await?; // 对于视频,允许五个同时下载(视频内还有分页、不同分页还有多种下载任务) let semaphore = Semaphore::new(5); - let downloader = Downloader::default(); + let downloader = Downloader::new(bili_client.client.clone()); let mut uppers_mutex: HashMap, Mutex<()>)> = HashMap::new(); for (video_model, _) in &unhandled_videos_pages { uppers_mutex.insert(video_model.upper_id, (Mutex::new(()), Mutex::new(()))); diff --git a/src/downloader.rs b/src/downloader.rs index 6622be2..5632265 100644 --- a/src/downloader.rs +++ b/src/downloader.rs @@ -55,9 +55,3 @@ impl Downloader { Ok(()) } } - -impl Default for Downloader { - fn default() -> Self { - Self::new(Client::new()) - } -}