feat: scrape user regions

This commit is contained in:
mokurin000
2025-08-03 19:04:16 +08:00
parent 56a36933e1
commit a1b3a8ef0e
6 changed files with 69 additions and 0 deletions

View File

@@ -23,4 +23,5 @@ api_implement!([
"GetUserPreviewApi",
"GetUserRatingApi",
"GetUserMusicApi",
"GetUserRegionApi",
]);

View File

@@ -0,0 +1,30 @@
use bincode::{Decode, Encode};
use serde::{Deserialize, Serialize};
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetUserRegionApi {
pub user_id: u32,
}
impl From<u32> for GetUserRegionApi {
fn from(user_id: u32) -> Self {
Self { user_id }
}
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Encode, Decode)]
#[serde(rename_all = "camelCase")]
pub struct GetUserRegionApiResp {
pub user_id: i64,
pub length: i64,
pub user_region_list: Vec<UserRegion>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Encode, Decode)]
#[serde(rename_all = "camelCase")]
pub struct UserRegion {
pub region_id: i64,
pub play_count: i64,
pub created: String,
}

View File

@@ -25,6 +25,9 @@ pub use get_user_rating_api::{
mod get_user_music_api;
pub use get_user_music_api::{GetUserMusicApi, GetUserMusicApiResp, UserMusic, UserMusicDetail};
mod get_user_region_api;
pub use get_user_region_api::{GetUserRegionApi, GetUserRegionApiResp, UserRegion};
mod dxrating;
pub use dxrating::{
DataVersion,