feat: 减少JSON解析错误出现的频率

This commit is contained in:
lanyeeee
2025-09-11 06:08:22 +08:00
parent 07f6e18719
commit 88c45edb74
21 changed files with 172 additions and 0 deletions
@@ -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<EpInBangumiFollow>,
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,
+28
View File
@@ -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<String>,
}
#[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<EpInBangumi>,
+9
View File
@@ -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<DurlDetailInBangumi>,
pub quality: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)]
#[serde(default)]
pub struct DurlDetailInBangumi {
pub size: i64,
pub ahead: String,
+24
View File
@@ -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<Img>,
@@ -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<Faq1Item>,
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<ContentList>,
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,
+10
View File
@@ -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<DurlDetailInCheese>,
pub quality: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)]
#[serde(default)]
pub struct DurlDetailInCheese {
pub size: i64,
pub ahead: String,
@@ -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<i64>)>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)]
#[serde(default)]
pub struct CreateBangumiDownloadTaskParams {
pub ep_ids: Vec<i64>,
pub info: BangumiInfo,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)]
#[serde(default)]
pub struct CreateCheeseDownloadTaskParams {
pub ep_ids: Vec<i64>,
pub info: CheeseInfo,
+2
View File
@@ -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<Folder>,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)]
#[serde(default)]
pub struct Folder {
pub id: i64,
pub fid: i64,
+8
View File
@@ -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<Vec<MediaInFav>>,
@@ -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,
}
+4
View File
@@ -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,
+23
View File
@@ -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<SubtitleDetailInNormal>,
}
#[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<Vec<Honor>>,
}
#[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,
+8
View File
@@ -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<MediaInNormal>,
}
#[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,
}
+15
View File
@@ -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,
+1
View File
@@ -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,
+1
View File
@@ -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,
+5
View File
@@ -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<bangumi_info::EpInBangumi>,
pub info: BangumiInfo,
}
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)]
#[serde(default)]
pub struct CheeseSearchResult {
pub ep: Option<cheese_info::EpInCheese>,
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);
+2
View File
@@ -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<SkipSegment>);
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)]
#[serde(default)]
pub struct SkipSegment {
pub cid: String,
pub category: String,
+2
View File
@@ -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,
+1
View File
@@ -4,6 +4,7 @@ use specta::Type;
pub type Tags = Vec<Tag>;
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize, Type)]
#[serde(default)]
#[allow(clippy::struct_field_names)]
pub struct Tag {
pub tag_id: i64,
+11
View File
@@ -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,
+6
View File
@@ -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<EpInUserVideo>,
}
#[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,
+7
View File
@@ -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<MediaInWatchLater>,
}
#[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,