From 88c45edb74cc1f74f69b1e8da9b111295e636372 Mon Sep 17 00:00:00 2001 From: lanyeeee Date: Thu, 11 Sep 2025 06:08:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=87=8F=E5=B0=91JSON=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E9=94=99=E8=AF=AF=E5=87=BA=E7=8E=B0=E7=9A=84=E9=A2=91?= =?UTF-8?q?=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src-tauri/src/types/bangumi_follow_info.rs | 2 ++ src-tauri/src/types/bangumi_info.rs | 28 +++++++++++++++++++ src-tauri/src/types/bangumi_media_url.rs | 9 ++++++ src-tauri/src/types/cheese_info.rs | 24 ++++++++++++++++ src-tauri/src/types/cheese_media_url.rs | 10 +++++++ .../src/types/create_download_task_params.rs | 3 ++ src-tauri/src/types/fav_folders.rs | 2 ++ src-tauri/src/types/fav_info.rs | 8 ++++++ src-tauri/src/types/history_info.rs | 4 +++ src-tauri/src/types/normal_info.rs | 23 +++++++++++++++ src-tauri/src/types/normal_media_url.rs | 8 ++++++ src-tauri/src/types/player_info.rs | 15 ++++++++++ src-tauri/src/types/qrcode_data.rs | 1 + src-tauri/src/types/qrcode_status.rs | 1 + src-tauri/src/types/search_result.rs | 5 ++++ src-tauri/src/types/skip_segments.rs | 2 ++ src-tauri/src/types/subtitle.rs | 2 ++ src-tauri/src/types/tags.rs | 1 + src-tauri/src/types/user_info.rs | 11 ++++++++ src-tauri/src/types/user_video_info.rs | 6 ++++ src-tauri/src/types/watch_later_info.rs | 7 +++++ 21 files changed, 172 insertions(+) diff --git a/src-tauri/src/types/bangumi_follow_info.rs b/src-tauri/src/types/bangumi_follow_info.rs index 94580a3..a571b28 100644 --- a/src-tauri/src/types/bangumi_follow_info.rs +++ b/src-tauri/src/types/bangumi_follow_info.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct BangumiFollowInfo { pub list: Vec, pub pn: i64, @@ -10,6 +11,7 @@ pub struct BangumiFollowInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct EpInBangumiFollow { pub season_id: i64, pub media_id: i64, diff --git a/src-tauri/src/types/bangumi_info.rs b/src-tauri/src/types/bangumi_info.rs index abe39c6..31562db 100644 --- a/src-tauri/src/types/bangumi_info.rs +++ b/src-tauri/src/types/bangumi_info.rs @@ -3,6 +3,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct BangumiInfo { pub activity: Activity, pub actors: String, @@ -88,6 +89,7 @@ impl BangumiInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Activity { pub head_bg_url: String, pub id: i64, @@ -95,12 +97,14 @@ pub struct Activity { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct AreaInBangumi { pub id: i64, pub name: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct EpInBangumi { pub aid: i64, @@ -140,6 +144,7 @@ pub struct EpInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct BadgeInfoInBangumi { pub bg_color: String, pub bg_color_night: String, @@ -147,6 +152,7 @@ pub struct BadgeInfoInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct DimensionInBangumi { pub height: i64, pub rotate: i64, @@ -154,6 +160,7 @@ pub struct DimensionInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct RightsInBangumiEp { pub allow_dm: i64, pub allow_download: i64, @@ -161,30 +168,35 @@ pub struct RightsInBangumiEp { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Skip { pub ed: Ed, pub op: Op, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Ed { pub end: i64, pub start: i64, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Op { pub end: i64, pub start: i64, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct IconFont { pub name: String, pub text: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct NewEp { pub desc: String, pub id: i64, @@ -193,6 +205,7 @@ pub struct NewEp { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PaymentInBangumi { pub discount: i64, pub pay_type: PayType, @@ -207,6 +220,7 @@ pub struct PaymentInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PayType { pub allow_discount: i64, pub allow_pack: i64, @@ -217,17 +231,20 @@ pub struct PayType { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PlayStrategy { pub strategies: Vec, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Positive { pub id: i64, pub title: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PublishInBangumi { pub is_finish: i64, pub is_started: i64, @@ -238,12 +255,14 @@ pub struct PublishInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct RatingInBangumi { pub count: i64, pub score: f64, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct RightsInBangumi { pub allow_bp: i64, pub allow_bp_rank: i64, @@ -263,6 +282,7 @@ pub struct RightsInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct Season { pub badge: String, @@ -282,6 +302,7 @@ pub struct Season { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct NewEpInSeason { pub cover: String, pub id: i64, @@ -289,6 +310,7 @@ pub struct NewEpInSeason { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct StatInSeason { pub favorites: i64, pub series_follow: i64, @@ -297,6 +319,7 @@ pub struct StatInSeason { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct SeriesInBangumi { pub display_type: i64, @@ -305,11 +328,13 @@ pub struct SeriesInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Show { pub wide_screen: i64, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct StatInBangumi { pub coins: i64, pub danmakus: i64, @@ -324,6 +349,7 @@ pub struct StatInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UpInfoInBangumi { pub avatar: String, pub mid: i64, @@ -331,6 +357,7 @@ pub struct UpInfoInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UserStatusInBangumi { pub area_limit: i64, pub ban_area_show: i64, @@ -343,6 +370,7 @@ pub struct UserStatusInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SectionInBangumi { pub attr: i64, pub episodes: Vec, diff --git a/src-tauri/src/types/bangumi_media_url.rs b/src-tauri/src/types/bangumi_media_url.rs index b0f8054..ec41891 100644 --- a/src-tauri/src/types/bangumi_media_url.rs +++ b/src-tauri/src/types/bangumi_media_url.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct BangumiMediaUrl { pub accept_format: String, pub code: i64, @@ -38,12 +39,14 @@ pub struct BangumiMediaUrl { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct RecordInfo { pub record_icon: String, pub record: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SupportFormatInBangumi { pub display_desc: String, pub has_preview: bool, @@ -60,6 +63,7 @@ pub struct SupportFormatInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct DashInBangumi { pub duration: u64, pub min_buffer_time: f64, @@ -68,6 +72,7 @@ pub struct DashInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct MediaInBangumi { pub start_with_sap: i64, pub bandwidth: i64, @@ -87,12 +92,14 @@ pub struct MediaInBangumi { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SegmentBaseInBangumi { pub initialization: String, pub index_range: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct ClipInfoList { #[serde(rename = "materialNo")] pub material_no: i64, @@ -105,12 +112,14 @@ pub struct ClipInfoList { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct DurlInBangumi { pub durl: Vec, pub quality: i64, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct DurlDetailInBangumi { pub size: i64, pub ahead: String, diff --git a/src-tauri/src/types/cheese_info.rs b/src-tauri/src/types/cheese_info.rs index 779283d..d8d029d 100644 --- a/src-tauri/src/types/cheese_info.rs +++ b/src-tauri/src/types/cheese_info.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_excessive_bools)] pub struct CheeseInfo { pub abtest_info: AbtestInfo, @@ -54,11 +55,13 @@ pub struct CheeseInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct AbtestInfo { pub style_abtest: i64, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Brief { pub content: String, pub img: Vec, @@ -68,23 +71,27 @@ pub struct Brief { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Img { pub aspect_ratio: f64, pub url: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Consulting { pub consulting_flag: bool, pub consulting_url: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Cooperation { pub link: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct EpPage { pub next: bool, pub num: i64, @@ -93,6 +100,7 @@ pub struct EpPage { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct EpTag { pub part_preview_tag: String, @@ -101,6 +109,7 @@ pub struct EpTag { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_excessive_bools)] #[allow(clippy::struct_field_names)] pub struct EpInCheese { @@ -130,6 +139,7 @@ pub struct EpInCheese { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Faq { pub content: String, pub link: String, @@ -137,24 +147,28 @@ pub struct Faq { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Faq1 { pub items: Vec, pub title: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Faq1Item { pub answer: String, pub question: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PaidJump { pub jump_url_for_app: String, pub url: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Payment { pub bp_enough: i64, pub desc: String, @@ -168,6 +182,7 @@ pub struct Payment { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PreviewedPurchaseNote { pub long_watch_text: String, pub pay_text: String, @@ -177,6 +192,7 @@ pub struct PreviewedPurchaseNote { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PurchaseFormatNote { pub content_list: Vec, pub link: String, @@ -184,6 +200,7 @@ pub struct PurchaseFormatNote { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct ContentList { pub bold: bool, pub content: String, @@ -191,6 +208,7 @@ pub struct ContentList { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PurchaseNote { pub content: String, pub link: String, @@ -198,12 +216,14 @@ pub struct PurchaseNote { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PurchaseProtocol { pub link: String, pub title: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct RecommendSeason { pub cover: String, pub ep_count: String, @@ -215,6 +235,7 @@ pub struct RecommendSeason { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct StatInCheese { pub play: i64, pub play_desc: String, @@ -222,6 +243,7 @@ pub struct StatInCheese { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UpInfoInCheese { pub avatar: String, pub brief: String, @@ -236,6 +258,7 @@ pub struct UpInfoInCheese { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PendantInCheese { pub image: String, pub name: String, @@ -243,6 +266,7 @@ pub struct PendantInCheese { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UserStatusInCheese { pub bp: i64, pub expire_at: i64, diff --git a/src-tauri/src/types/cheese_media_url.rs b/src-tauri/src/types/cheese_media_url.rs index 86648eb..f58666f 100644 --- a/src-tauri/src/types/cheese_media_url.rs +++ b/src-tauri/src/types/cheese_media_url.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct CheeseMediaUrl { pub accept_format: String, pub code: i64, @@ -32,16 +33,19 @@ pub struct CheeseMediaUrl { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PlayViewBusinessInfo { pub user_status: UserStatusInCheeseUrl, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UserStatusInCheeseUrl { pub watch_progress: WatchProgress, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct WatchProgress { pub current_watch_progress: i64, @@ -51,6 +55,7 @@ pub struct WatchProgress { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SupportFormatInCheese { pub display_desc: String, pub superscript: String, @@ -63,6 +68,7 @@ pub struct SupportFormatInCheese { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct DashInCheese { pub duration: u64, pub min_buffer_time: f64, @@ -71,6 +77,7 @@ pub struct DashInCheese { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct MediaInCheese { pub start_with_sap: i64, pub bandwidth: i64, @@ -90,18 +97,21 @@ pub struct MediaInCheese { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SegmentBaseInCheese { pub initialization: String, pub index_range: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct DurlInCheese { pub durl: Vec, pub quality: i64, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct DurlDetailInCheese { pub size: i64, pub ahead: String, diff --git a/src-tauri/src/types/create_download_task_params.rs b/src-tauri/src/types/create_download_task_params.rs index 73aa401..d631ead 100644 --- a/src-tauri/src/types/create_download_task_params.rs +++ b/src-tauri/src/types/create_download_task_params.rs @@ -11,18 +11,21 @@ pub enum CreateDownloadTaskParams { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct CreateNormalDownloadTaskParams { pub info: NormalInfo, pub aid_cid_pairs: Vec<(i64, Option)>, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct CreateBangumiDownloadTaskParams { pub ep_ids: Vec, pub info: BangumiInfo, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct CreateCheeseDownloadTaskParams { pub ep_ids: Vec, pub info: CheeseInfo, diff --git a/src-tauri/src/types/fav_folders.rs b/src-tauri/src/types/fav_folders.rs index 2fe95d8..5d44aac 100644 --- a/src-tauri/src/types/fav_folders.rs +++ b/src-tauri/src/types/fav_folders.rs @@ -2,12 +2,14 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct FavFolders { pub count: i64, pub list: Vec, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Folder { pub id: i64, pub fid: i64, diff --git a/src-tauri/src/types/fav_info.rs b/src-tauri/src/types/fav_info.rs index 7c6413b..10fee25 100644 --- a/src-tauri/src/types/fav_info.rs +++ b/src-tauri/src/types/fav_info.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct FavInfo { pub info: Info, pub medias: Option>, @@ -10,6 +11,7 @@ pub struct FavInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct Info { pub id: i64, @@ -34,6 +36,7 @@ pub struct Info { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Upper { pub mid: i64, pub name: String, @@ -44,6 +47,7 @@ pub struct Upper { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct CntInfo { pub collect: i64, pub play: i64, @@ -52,6 +56,7 @@ pub struct CntInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct MediaInFav { pub id: i64, @@ -76,6 +81,7 @@ pub struct MediaInFav { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UpperInMedia { pub mid: i64, pub name: String, @@ -84,6 +90,7 @@ pub struct UpperInMedia { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct CntInfoInMedia { pub collect: i64, pub play: i64, @@ -95,6 +102,7 @@ pub struct CntInfoInMedia { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Ugc { pub first_cid: i64, } diff --git a/src-tauri/src/types/history_info.rs b/src-tauri/src/types/history_info.rs index c8046a7..aa39a06 100644 --- a/src-tauri/src/types/history_info.rs +++ b/src-tauri/src/types/history_info.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct HistoryInfo { pub has_more: bool, pub page: PageInHistory, @@ -9,12 +10,14 @@ pub struct HistoryInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PageInHistory { pub pn: i64, pub total: i64, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct HistoryDetail { pub title: String, pub long_title: String, @@ -40,6 +43,7 @@ pub struct HistoryDetail { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct History { pub oid: i64, pub epid: i64, diff --git a/src-tauri/src/types/normal_info.rs b/src-tauri/src/types/normal_info.rs index fb42f38..c3a00d6 100644 --- a/src-tauri/src/types/normal_info.rs +++ b/src-tauri/src/types/normal_info.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_excessive_bools)] pub struct NormalInfo { pub bvid: String, @@ -52,6 +53,7 @@ pub struct NormalInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct DescV2 { pub raw_text: String, #[serde(rename = "type")] @@ -60,6 +62,7 @@ pub struct DescV2 { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Rights { pub bp: i64, pub elec: i64, @@ -82,6 +85,7 @@ pub struct Rights { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct OwnerInNormal { pub mid: i64, pub name: String, @@ -89,6 +93,7 @@ pub struct OwnerInNormal { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct StatInNormal { pub aid: i64, pub view: i64, @@ -106,6 +111,7 @@ pub struct StatInNormal { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct ArgueInfo { pub argue_msg: String, @@ -114,6 +120,7 @@ pub struct ArgueInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Dimension { pub width: i64, pub height: i64, @@ -121,6 +128,7 @@ pub struct Dimension { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct PageInNormal { pub cid: i64, @@ -135,12 +143,14 @@ pub struct PageInNormal { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SubtitleInNormal { pub allow_submit: bool, pub list: Vec, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SubtitleDetailInNormal { pub id: i64, pub lan: String, @@ -155,16 +165,19 @@ pub struct SubtitleDetailInNormal { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UserGarb { pub url_image_ani_cut: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct HonorReply { pub honor: Option>, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Honor { pub aid: i64, #[serde(rename = "type")] @@ -174,6 +187,7 @@ pub struct Honor { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UgcSeason { pub id: i64, pub title: String, @@ -191,6 +205,7 @@ pub struct UgcSeason { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SectionInNormal { pub season_id: i64, pub id: i64, @@ -201,6 +216,7 @@ pub struct SectionInNormal { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct EpInNormal { pub season_id: i64, pub section_id: i64, @@ -216,6 +232,7 @@ pub struct EpInNormal { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Arc { pub aid: i64, pub videos: i64, @@ -244,6 +261,7 @@ pub struct Arc { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Author { pub mid: i64, pub name: String, @@ -251,6 +269,7 @@ pub struct Author { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct StatInNormalEp { pub aid: i64, pub view: i64, @@ -270,6 +289,7 @@ pub struct StatInNormalEp { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct StatInNormalSeason { pub season_id: i64, pub view: i64, @@ -286,6 +306,7 @@ pub struct StatInNormalSeason { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PageInNormalEp { pub cid: i64, pub page: i64, @@ -298,6 +319,7 @@ pub struct PageInNormalEp { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct RightsInNormalEp { pub bp: i64, pub elec: i64, @@ -315,6 +337,7 @@ pub struct RightsInNormalEp { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Staff { pub mid: i64, pub title: String, diff --git a/src-tauri/src/types/normal_media_url.rs b/src-tauri/src/types/normal_media_url.rs index 8a80770..530a361 100644 --- a/src-tauri/src/types/normal_media_url.rs +++ b/src-tauri/src/types/normal_media_url.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct NormalMediaUrl { pub from: String, pub result: String, @@ -23,6 +24,7 @@ pub struct NormalMediaUrl { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct DashInNormal { pub duration: u64, pub min_buffer_time: f64, @@ -33,12 +35,14 @@ pub struct DashInNormal { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Flac { pub display: bool, pub audio: Option, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct MediaInNormal { pub id: i64, pub start_with_sap: i64, @@ -56,12 +60,14 @@ pub struct MediaInNormal { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SegmentBaseInNormal { pub initialization: String, pub index_range: String, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Dolby { #[serde(rename = "type")] pub type_field: i64, @@ -69,6 +75,7 @@ pub struct Dolby { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SupportFormatInNormal { pub quality: i64, pub format: String, @@ -79,6 +86,7 @@ pub struct SupportFormatInNormal { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PlayConf { pub is_new_description: bool, } diff --git a/src-tauri/src/types/player_info.rs b/src-tauri/src/types/player_info.rs index 7f76731..40e0902 100644 --- a/src-tauri/src/types/player_info.rs +++ b/src-tauri/src/types/player_info.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_excessive_bools)] pub struct PlayerInfo { pub aid: i64, @@ -45,6 +46,7 @@ pub struct PlayerInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct IpInfo { pub ip: String, pub zone_ip: String, @@ -55,6 +57,7 @@ pub struct IpInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct LevelInfoInPlayerInfo { pub current_level: i64, pub current_min: i64, @@ -64,6 +67,7 @@ pub struct LevelInfoInPlayerInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct VipInPlayerInfo { #[serde(rename = "type")] @@ -84,6 +88,7 @@ pub struct VipInPlayerInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct LabelInPlayerInfo { pub path: String, @@ -101,14 +106,17 @@ pub struct LabelInPlayerInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct AvatarIcon { pub icon_resource: IconResource, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct IconResource {} #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SubtitleInPlayerInfo { pub allow_submit: bool, pub lan: String, @@ -117,6 +125,7 @@ pub struct SubtitleInPlayerInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SubtitleDetailInPlayerInfo { pub id: i64, pub lan: String, @@ -131,6 +140,7 @@ pub struct SubtitleDetailInPlayerInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct ViewPoint { #[serde(rename = "type")] pub type_field: i64, @@ -144,12 +154,14 @@ pub struct ViewPoint { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Options { pub is_360: bool, pub without_vip: bool, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct OnlineSwitch { pub enable_gray_dash_playback: String, pub new_broadcast: String, @@ -158,17 +170,20 @@ pub struct OnlineSwitch { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Fawkes { pub config_version: i64, pub ff_version: i64, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct ShowSwitch { pub long_progress: bool, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct ElecHighLevel { pub privilege_type: i64, pub title: String, diff --git a/src-tauri/src/types/qrcode_data.rs b/src-tauri/src/types/qrcode_data.rs index 08d002a..dc19970 100644 --- a/src-tauri/src/types/qrcode_data.rs +++ b/src-tauri/src/types/qrcode_data.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Deserialize, Serialize, Type)] +#[serde(default)] pub struct QrcodeData { pub url: String, pub qrcode_key: String, diff --git a/src-tauri/src/types/qrcode_status.rs b/src-tauri/src/types/qrcode_status.rs index 5aaa089..1cb2d95 100644 --- a/src-tauri/src/types/qrcode_status.rs +++ b/src-tauri/src/types/qrcode_status.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct QrcodeStatus { pub url: String, pub refresh_token: String, diff --git a/src-tauri/src/types/search_result.rs b/src-tauri/src/types/search_result.rs index ecd5e94..441898d 100644 --- a/src-tauri/src/types/search_result.rs +++ b/src-tauri/src/types/search_result.rs @@ -19,22 +19,27 @@ pub enum SearchResult { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct NormalSearchResult(pub NormalInfo); #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct BangumiSearchResult { pub ep: Option, pub info: BangumiInfo, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct CheeseSearchResult { pub ep: Option, pub info: CheeseInfo, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UserVideoSearchResult(pub UserVideoInfo); #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct FavSearchResult(pub FavInfo); diff --git a/src-tauri/src/types/skip_segments.rs b/src-tauri/src/types/skip_segments.rs index f657e39..71584f8 100644 --- a/src-tauri/src/types/skip_segments.rs +++ b/src-tauri/src/types/skip_segments.rs @@ -4,9 +4,11 @@ use specta::Type; use crate::downloader::chapter_segments::ChapterSegment; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SkipSegments(pub Vec); #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct SkipSegment { pub cid: String, pub category: String, diff --git a/src-tauri/src/types/subtitle.rs b/src-tauri/src/types/subtitle.rs index 8d54dbf..c51755f 100644 --- a/src-tauri/src/types/subtitle.rs +++ b/src-tauri/src/types/subtitle.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Subtitle { pub font_size: f64, pub font_color: String, @@ -13,6 +14,7 @@ pub struct Subtitle { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Body { pub from: f64, pub to: f64, diff --git a/src-tauri/src/types/tags.rs b/src-tauri/src/types/tags.rs index 71011d9..6e831be 100644 --- a/src-tauri/src/types/tags.rs +++ b/src-tauri/src/types/tags.rs @@ -4,6 +4,7 @@ use specta::Type; pub type Tags = Vec; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct Tag { pub tag_id: i64, diff --git a/src-tauri/src/types/user_info.rs b/src-tauri/src/types/user_info.rs index ec2cdcd..1d64496 100644 --- a/src-tauri/src/types/user_info.rs +++ b/src-tauri/src/types/user_info.rs @@ -2,6 +2,7 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UserInfo { #[serde(rename = "isLogin")] pub is_login: bool, @@ -42,6 +43,7 @@ pub struct UserInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct LevelInfoInUserInfo { pub current_level: i64, @@ -50,6 +52,7 @@ pub struct LevelInfoInUserInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Official { pub role: i64, pub title: String, @@ -59,6 +62,7 @@ pub struct Official { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct OfficialVerify { #[serde(rename = "type")] pub type_field: i64, @@ -66,6 +70,7 @@ pub struct OfficialVerify { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PendantInUserInfo { pub pid: i64, pub name: String, @@ -77,6 +82,7 @@ pub struct PendantInUserInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct VipLabel { pub path: String, pub text: String, @@ -93,6 +99,7 @@ pub struct VipLabel { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct VipInUserInfo { #[serde(rename = "type")] @@ -112,6 +119,7 @@ pub struct VipInUserInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] #[allow(clippy::struct_field_names)] pub struct LabelInUserInfo { pub path: String, @@ -129,9 +137,11 @@ pub struct LabelInUserInfo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct IconResource {} #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct Wallet { pub mid: i64, pub bcoin_balance: f64, @@ -140,6 +150,7 @@ pub struct Wallet { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct WbiImg { pub img_url: String, pub sub_url: String, diff --git a/src-tauri/src/types/user_video_info.rs b/src-tauri/src/types/user_video_info.rs index 08f7403..b3831a6 100644 --- a/src-tauri/src/types/user_video_info.rs +++ b/src-tauri/src/types/user_video_info.rs @@ -2,17 +2,20 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UserVideoInfo { pub list: UserVideoList, pub page: PageInUserVideo, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct UserVideoList { pub vlist: Vec, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct EpInUserVideo { pub comment: i64, pub typeid: i64, @@ -54,6 +57,7 @@ pub struct EpInUserVideo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct MetaInUserVideo { pub id: i64, pub title: String, @@ -70,6 +74,7 @@ pub struct MetaInUserVideo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct StatInUserVideo { pub season_id: i64, pub view: i64, @@ -85,6 +90,7 @@ pub struct StatInUserVideo { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PageInUserVideo { pub pn: i64, pub ps: i64, diff --git a/src-tauri/src/types/watch_later_info.rs b/src-tauri/src/types/watch_later_info.rs index 953e36f..7791fa8 100644 --- a/src-tauri/src/types/watch_later_info.rs +++ b/src-tauri/src/types/watch_later_info.rs @@ -2,12 +2,14 @@ use serde::{Deserialize, Serialize}; use specta::Type; #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct WatchLaterInfo { pub count: i64, pub list: Vec, } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct MediaInWatchLater { pub aid: i64, pub videos: i64, @@ -64,6 +66,7 @@ pub struct MediaInWatchLater { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct RightsInWatchLater { pub bp: i64, pub elec: i64, @@ -82,6 +85,7 @@ pub struct RightsInWatchLater { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct OwnerInWatchLater { pub mid: i64, pub name: String, @@ -89,6 +93,7 @@ pub struct OwnerInWatchLater { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct StatInWatchLater { pub aid: i64, pub view: i64, @@ -106,6 +111,7 @@ pub struct StatInWatchLater { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct DimensionInWatchLater { pub width: i64, pub height: i64, @@ -113,6 +119,7 @@ pub struct DimensionInWatchLater { } #[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)] +#[serde(default)] pub struct PageInWatchLater { pub cid: i64, pub page: i64,