1#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct AdInfo {
5 #[prost(string, tag = "1")]
7 pub nation_code: ::prost::alloc::string::String,
8 #[prost(string, tag = "2")]
10 pub adcode: ::prost::alloc::string::String,
11 #[prost(string, tag = "3")]
13 pub city_code: ::prost::alloc::string::String,
14 #[prost(string, tag = "4")]
16 pub name: ::prost::alloc::string::String,
17 #[prost(message, optional, tag = "5")]
19 pub gps: ::core::option::Option<Gps>,
20}
21#[derive(Clone, PartialEq, ::prost::Message)]
23pub struct AddressComponent {
24 #[prost(string, tag = "1")]
26 pub nation: ::prost::alloc::string::String,
27 #[prost(string, tag = "2")]
29 pub province: ::prost::alloc::string::String,
30 #[prost(string, tag = "3")]
32 pub city: ::prost::alloc::string::String,
33 #[prost(string, tag = "4")]
35 pub district: ::prost::alloc::string::String,
36 #[prost(string, tag = "5")]
38 pub street: ::prost::alloc::string::String,
39 #[prost(string, tag = "6")]
41 pub street_number: ::prost::alloc::string::String,
42}
43#[derive(Clone, PartialEq, ::prost::Message)]
45pub struct BubbleInfo {
46 #[prost(message, repeated, tag = "1")]
48 pub modules: ::prost::alloc::vec::Vec<BubbleModule>,
49 #[prost(string, tag = "2")]
51 pub track_id: ::prost::alloc::string::String,
52 #[prost(string, tag = "3")]
54 pub bubble_recall_extra_when_show: ::prost::alloc::string::String,
55}
56#[derive(Clone, PartialEq, ::prost::Message)]
58pub struct BubbleModule {
59 #[prost(enumeration = "BubbleModuleType", tag = "1")]
61 pub module_type: i32,
62 #[prost(oneof = "bubble_module::Module", tags = "2, 3, 4, 5")]
64 pub module: ::core::option::Option<bubble_module::Module>,
65}
66pub mod bubble_module {
68 #[derive(Clone, PartialEq, ::prost::Oneof)]
70 pub enum Module {
71 #[prost(message, tag = "2")]
73 User(super::BubbleModuleUser),
74 #[prost(message, tag = "3")]
76 Text(super::BubbleModuleText),
77 #[prost(message, tag = "4")]
79 ColoredTip(super::BubbleModuleColoredTip),
80 #[prost(message, tag = "5")]
82 Pic(super::BubbleModulePic),
83 }
84}
85#[derive(Clone, PartialEq, ::prost::Message)]
87pub struct BubbleModuleColoredTip {
88 #[prost(string, tag = "1")]
90 pub prefix_icon: ::prost::alloc::string::String,
91 #[prost(bool, tag = "2")]
93 pub is_svga_prefix_icon: bool,
94 #[prost(string, tag = "3")]
96 pub text: ::prost::alloc::string::String,
97 #[prost(message, optional, tag = "4")]
99 pub text_color: ::core::option::Option<Color>,
100}
101#[derive(Clone, PartialEq, ::prost::Message)]
103pub struct BubbleModulePic {
104 #[prost(string, tag = "1")]
106 pub pic_day: ::prost::alloc::string::String,
107 #[prost(string, tag = "2")]
109 pub pic_night: ::prost::alloc::string::String,
110 #[prost(int64, tag = "3")]
112 pub pic_width: i64,
113 #[prost(int64, tag = "4")]
115 pub pic_height: i64,
116 #[prost(bool, tag = "5")]
118 pub rounded_corner: bool,
119 #[prost(int64, tag = "6")]
121 pub rounded_corner_radius: i64,
122}
123#[derive(Clone, PartialEq, ::prost::Message)]
125pub struct BubbleModuleText {
126 #[prost(string, tag = "1")]
128 pub content: ::prost::alloc::string::String,
129}
130#[derive(Clone, PartialEq, ::prost::Message)]
132pub struct BubbleModuleUser {
133 #[prost(message, repeated, tag = "1")]
135 pub users: ::prost::alloc::vec::Vec<UserInfo>,
136}
137#[derive(Clone, PartialEq, ::prost::Message)]
139pub struct CardCurrBatch {
140 #[prost(string, tag = "1")]
142 pub title: ::prost::alloc::string::String,
143 #[prost(string, tag = "2")]
145 pub cover: ::prost::alloc::string::String,
146 #[prost(string, tag = "3")]
148 pub uri: ::prost::alloc::string::String,
149 #[prost(string, tag = "4")]
151 pub text1: ::prost::alloc::string::String,
152 #[prost(string, tag = "5")]
154 pub text2: ::prost::alloc::string::String,
155 #[prost(message, optional, tag = "6")]
157 pub badge: ::core::option::Option<VideoBadge>,
158}
159#[derive(Clone, PartialEq, ::prost::Message)]
161pub struct CardCurrSeason {
162 #[prost(string, tag = "1")]
164 pub title: ::prost::alloc::string::String,
165 #[prost(string, tag = "2")]
167 pub cover: ::prost::alloc::string::String,
168 #[prost(string, tag = "3")]
170 pub uri: ::prost::alloc::string::String,
171 #[prost(string, tag = "4")]
173 pub text1: ::prost::alloc::string::String,
174 #[prost(string, tag = "5")]
176 pub desc: ::prost::alloc::string::String,
177 #[prost(message, optional, tag = "6")]
179 pub badge: ::core::option::Option<VideoBadge>,
180}
181#[derive(Clone, PartialEq, ::prost::Message)]
183pub struct CardPgc {
184 #[prost(string, tag = "1")]
186 pub title: ::prost::alloc::string::String,
187 #[prost(string, tag = "2")]
189 pub cover: ::prost::alloc::string::String,
190 #[prost(string, tag = "3")]
192 pub uri: ::prost::alloc::string::String,
193 #[prost(string, tag = "4")]
195 pub cover_left_text1: ::prost::alloc::string::String,
196 #[prost(string, tag = "5")]
198 pub cover_left_text2: ::prost::alloc::string::String,
199 #[prost(string, tag = "6")]
201 pub cover_left_text3: ::prost::alloc::string::String,
202 #[prost(int64, tag = "7")]
204 pub cid: i64,
205 #[prost(int64, tag = "8")]
207 pub season_id: i64,
208 #[prost(int64, tag = "9")]
210 pub epid: i64,
211 #[prost(int64, tag = "10")]
213 pub aid: i64,
214 #[prost(enumeration = "MediaType", tag = "11")]
216 pub media_type: i32,
217 #[prost(enumeration = "VideoSubType", tag = "12")]
219 pub sub_type: i32,
220 #[prost(int32, tag = "13")]
222 pub is_preview: i32,
223 #[prost(message, optional, tag = "14")]
225 pub dimension: ::core::option::Option<Dimension>,
226 #[prost(message, repeated, tag = "15")]
228 pub badge: ::prost::alloc::vec::Vec<VideoBadge>,
229 #[prost(int32, tag = "16")]
231 pub can_play: i32,
232 #[prost(message, optional, tag = "17")]
234 pub season: ::core::option::Option<PgcSeason>,
235}
236#[derive(Clone, PartialEq, ::prost::Message)]
238pub struct CardUgc {
239 #[prost(string, tag = "1")]
241 pub title: ::prost::alloc::string::String,
242 #[prost(string, tag = "2")]
244 pub cover: ::prost::alloc::string::String,
245 #[prost(string, tag = "3")]
247 pub uri: ::prost::alloc::string::String,
248 #[prost(string, tag = "4")]
250 pub cover_left_text1: ::prost::alloc::string::String,
251 #[prost(string, tag = "5")]
253 pub cover_left_text2: ::prost::alloc::string::String,
254 #[prost(string, tag = "6")]
256 pub cover_left_text3: ::prost::alloc::string::String,
257 #[prost(int64, tag = "7")]
259 pub avid: i64,
260 #[prost(int64, tag = "8")]
262 pub cid: i64,
263 #[prost(enumeration = "MediaType", tag = "9")]
265 pub media_type: i32,
266 #[prost(message, optional, tag = "10")]
268 pub dimension: ::core::option::Option<Dimension>,
269 #[prost(message, repeated, tag = "11")]
271 pub badge: ::prost::alloc::vec::Vec<VideoBadge>,
272 #[prost(int32, tag = "12")]
274 pub can_play: i32,
275}
276#[derive(Clone, PartialEq, ::prost::Message)]
278pub struct Color {
279 #[prost(string, tag = "1")]
281 pub color_day: ::prost::alloc::string::String,
282 #[prost(string, tag = "2")]
284 pub color_night: ::prost::alloc::string::String,
285}
286#[derive(Clone, PartialEq, ::prost::Message)]
288pub struct CornerInfo {
289 #[prost(enumeration = "CornerType", tag = "1")]
291 pub corner_type: i32,
292 #[prost(string, tag = "2")]
294 pub corner_text: ::prost::alloc::string::String,
295 #[prost(message, optional, tag = "3")]
297 pub corner_text_color: ::core::option::Option<Color>,
298 #[prost(message, optional, tag = "4")]
300 pub corner_text_bg_color: ::core::option::Option<Color>,
301 #[prost(string, tag = "5")]
303 pub corner_icon: ::prost::alloc::string::String,
304 #[prost(int64, tag = "6")]
306 pub corner_number: i64,
307}
308#[derive(Clone, PartialEq, ::prost::Message)]
310pub struct DecoCardFan {
311 #[prost(int32, tag = "1")]
313 pub is_fan: i32,
314 #[prost(int32, tag = "2")]
316 pub number: i32,
317 #[prost(string, tag = "3")]
319 pub color: ::prost::alloc::string::String,
320}
321#[derive(Clone, PartialEq, ::prost::Message)]
323pub struct DecorateCard {
324 #[prost(int64, tag = "1")]
326 pub id: i64,
327 #[prost(string, tag = "2")]
329 pub card_url: ::prost::alloc::string::String,
330 #[prost(string, tag = "3")]
332 pub jump_url: ::prost::alloc::string::String,
333 #[prost(message, optional, tag = "4")]
335 pub fan: ::core::option::Option<DecoCardFan>,
336}
337#[derive(Clone, PartialEq, ::prost::Message)]
339pub struct Description {
340 #[prost(string, tag = "1")]
342 pub text: ::prost::alloc::string::String,
343 #[prost(string, tag = "2")]
345 pub r#type: ::prost::alloc::string::String,
346 #[prost(string, tag = "3")]
348 pub uri: ::prost::alloc::string::String,
349 #[prost(string, tag = "4")]
351 pub emoji_type: ::prost::alloc::string::String,
352 #[prost(string, tag = "5")]
354 pub goods_type: ::prost::alloc::string::String,
355}
356#[derive(Clone, Copy, PartialEq, ::prost::Message)]
358pub struct Dimension {
359 #[prost(int64, tag = "1")]
361 pub height: i64,
362 #[prost(int64, tag = "2")]
364 pub width: i64,
365 #[prost(int64, tag = "3")]
367 pub rotate: i64,
368}
369#[derive(Clone, PartialEq, ::prost::Message)]
371pub struct DynDetailsReply {
372 #[prost(message, repeated, tag = "1")]
374 pub list: ::prost::alloc::vec::Vec<DynamicItem>,
375}
376#[derive(Clone, PartialEq, ::prost::Message)]
378pub struct DynDetailsReq {
379 #[prost(int32, tag = "1")]
381 pub teenagers_mode: i32,
382 #[prost(string, tag = "2")]
384 pub dynamic_ids: ::prost::alloc::string::String,
385 #[prost(int32, tag = "3")]
387 pub qn: i32,
388 #[prost(int32, tag = "4")]
390 pub fnver: i32,
391 #[prost(int32, tag = "5")]
393 pub fnval: i32,
394 #[prost(int32, tag = "6")]
396 pub force_host: i32,
397 #[prost(int32, tag = "7")]
399 pub fourk: i32,
400}
401#[derive(Clone, PartialEq, ::prost::Message)]
403pub struct DynMixUpListSearchReply {
404 #[prost(message, repeated, tag = "1")]
406 pub items: ::prost::alloc::vec::Vec<MixUpListItem>,
407}
408#[derive(Clone, PartialEq, ::prost::Message)]
410pub struct DynMixUpListSearchReq {
411 #[prost(string, tag = "1")]
413 pub name: ::prost::alloc::string::String,
414}
415#[derive(Clone, PartialEq, ::prost::Message)]
417pub struct DynMixUpListViewMoreReply {
418 #[prost(message, repeated, tag = "1")]
420 pub items: ::prost::alloc::vec::Vec<MixUpListItem>,
421 #[prost(string, tag = "2")]
423 pub search_default_text: ::prost::alloc::string::String,
424}
425#[derive(Clone, PartialEq, ::prost::Message)]
427pub struct DynOurCityItem {
428 #[prost(string, tag = "1")]
430 pub card_type: ::prost::alloc::string::String,
431 #[prost(int64, tag = "2")]
433 pub dyn_id: i64,
434 #[prost(string, tag = "3")]
436 pub uri: ::prost::alloc::string::String,
437 #[prost(message, repeated, tag = "4")]
439 pub modules: ::prost::alloc::vec::Vec<DynOurCityModule>,
440 #[prost(int64, tag = "5")]
442 pub rid: i64,
443 #[prost(string, tag = "6")]
445 pub debug_info: ::prost::alloc::string::String,
446}
447#[derive(Clone, PartialEq, ::prost::Message)]
449pub struct DynOurCityModule {
450 #[prost(string, tag = "1")]
452 pub module_type: ::prost::alloc::string::String,
453 #[prost(oneof = "dyn_our_city_module::ModuleItem", tags = "2, 3, 4, 5")]
455 pub module_item: ::core::option::Option<dyn_our_city_module::ModuleItem>,
456}
457pub mod dyn_our_city_module {
459 #[derive(Clone, PartialEq, ::prost::Oneof)]
461 pub enum ModuleItem {
462 #[prost(message, tag = "2")]
464 ModuleCover(super::DynOurCityModuleCover),
465 #[prost(message, tag = "3")]
467 ModuleDesc(super::DynOurCityModuleDesc),
468 #[prost(message, tag = "4")]
470 ModuleAuthor(super::DynOurCityModuleAuthor),
471 #[prost(message, tag = "5")]
473 ModuleExtend(super::DynOurCityModuleExtend),
474 }
475}
476#[derive(Clone, PartialEq, ::prost::Message)]
478pub struct DynOurCityModuleAuthor {
479 #[prost(int64, tag = "1")]
481 pub mid: i64,
482 #[prost(string, tag = "2")]
484 pub name: ::prost::alloc::string::String,
485 #[prost(string, tag = "3")]
487 pub face: ::prost::alloc::string::String,
488 #[prost(string, tag = "4")]
490 pub uri: ::prost::alloc::string::String,
491}
492#[derive(Clone, PartialEq, ::prost::Message)]
494pub struct DynOurCityModuleCover {
495 #[prost(string, repeated, tag = "1")]
497 pub covers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
498 #[prost(int32, tag = "2")]
500 pub style: i32,
501 #[prost(int32, tag = "3")]
503 pub cover_left_icon1: i32,
504 #[prost(string, tag = "4")]
506 pub cover_left_text1: ::prost::alloc::string::String,
507 #[prost(int32, tag = "5")]
509 pub cover_left_icon2: i32,
510 #[prost(string, tag = "6")]
512 pub cover_left_text2: ::prost::alloc::string::String,
513 #[prost(string, tag = "7")]
515 pub cover_left_text3: ::prost::alloc::string::String,
516 #[prost(message, repeated, tag = "8")]
518 pub badge: ::prost::alloc::vec::Vec<VideoBadge>,
519}
520#[derive(Clone, PartialEq, ::prost::Message)]
522pub struct DynOurCityModuleDesc {
523 #[prost(string, tag = "1")]
525 pub desc: ::prost::alloc::string::String,
526}
527#[derive(Clone, PartialEq, ::prost::Message)]
529pub struct DynOurCityModuleExtend {
530 #[prost(string, tag = "1")]
532 pub r#type: ::prost::alloc::string::String,
533 #[prost(oneof = "dyn_our_city_module_extend::Extend", tags = "2")]
535 pub extend: ::core::option::Option<dyn_our_city_module_extend::Extend>,
536}
537pub mod dyn_our_city_module_extend {
539 #[derive(Clone, PartialEq, ::prost::Oneof)]
541 pub enum Extend {
542 #[prost(message, tag = "2")]
544 ExtendLbs(super::DynOurCityModuleExtendLbs),
545 }
546}
547#[derive(Clone, PartialEq, ::prost::Message)]
549pub struct DynOurCityModuleExtendLbs {
550 #[prost(string, tag = "1")]
552 pub title: ::prost::alloc::string::String,
553 #[prost(string, tag = "2")]
555 pub uri: ::prost::alloc::string::String,
556 #[prost(string, tag = "3")]
558 pub icon: ::prost::alloc::string::String,
559 #[prost(int32, tag = "4")]
561 pub poi_type: i32,
562}
563#[derive(Clone, PartialEq, ::prost::Message)]
565pub struct DynOurCityReply {
566 #[prost(string, tag = "1")]
568 pub offset: ::prost::alloc::string::String,
569 #[prost(int32, tag = "2")]
571 pub has_more: i32,
572 #[prost(int32, tag = "3")]
574 pub style: i32,
575 #[prost(string, tag = "4")]
577 pub top_label: ::prost::alloc::string::String,
578 #[prost(message, repeated, tag = "5")]
580 pub list: ::prost::alloc::vec::Vec<DynOurCityItem>,
581 #[prost(string, tag = "6")]
583 pub top_button_label: ::prost::alloc::string::String,
584 #[prost(int32, tag = "7")]
586 pub city_id: i32,
587 #[prost(string, tag = "8")]
589 pub city_name: ::prost::alloc::string::String,
590}
591#[derive(Clone, PartialEq, ::prost::Message)]
593pub struct DynOurCityReq {
594 #[prost(int64, tag = "1")]
596 pub city_id: i64,
597 #[prost(double, tag = "2")]
599 pub lat: f64,
600 #[prost(double, tag = "3")]
602 pub lng: f64,
603 #[prost(string, tag = "4")]
605 pub offset: ::prost::alloc::string::String,
606 #[prost(int32, tag = "5")]
608 pub page_size: i32,
609 #[prost(int32, tag = "6")]
611 pub teenagers_mode: i32,
612 #[prost(int32, tag = "7")]
614 pub qn: i32,
615 #[prost(int32, tag = "8")]
617 pub fnver: i32,
618 #[prost(int32, tag = "9")]
620 pub fnval: i32,
621 #[prost(int32, tag = "10")]
623 pub force_host: i32,
624 #[prost(int32, tag = "11")]
626 pub fourk: i32,
627 #[prost(int32, tag = "12")]
629 pub lbs_state: i32,
630 #[prost(int32, tag = "13")]
632 pub refresh_city: i32,
633 #[prost(message, optional, tag = "14")]
635 pub exp_conf: ::core::option::Option<ExpConf>,
636 #[prost(message, optional, tag = "15")]
638 pub player_args: ::core::option::Option<
639 super::super::archive::middleware::v1::PlayerArgs,
640 >,
641 #[prost(int64, tag = "16")]
643 pub city_code: i64,
644 #[prost(int64, tag = "17")]
646 pub build_time: i64,
647}
648#[derive(Clone, Copy, PartialEq, ::prost::Message)]
650pub struct DynOurCitySwitchReq {
651 #[prost(int32, tag = "1")]
653 pub switch: i32,
654}
655#[derive(Clone, Copy, PartialEq, ::prost::Message)]
657pub struct DynRedItem {
658 #[prost(int64, tag = "1")]
660 pub count: i64,
661}
662#[derive(Clone, PartialEq, ::prost::Message)]
664pub struct DynRedReply {
665 #[prost(string, tag = "1")]
667 pub red_type: ::prost::alloc::string::String,
668 #[prost(message, optional, tag = "2")]
670 pub dyn_red_item: ::core::option::Option<DynRedItem>,
671 #[prost(string, tag = "3")]
673 pub default_tab: ::prost::alloc::string::String,
674 #[prost(message, optional, tag = "4")]
676 pub red_style: ::core::option::Option<DynRedStyle>,
677 #[prost(string, tag = "5")]
679 pub tab_recall_extra: ::prost::alloc::string::String,
680 #[prost(message, optional, tag = "6")]
682 pub bubble_info: ::core::option::Option<BubbleInfo>,
683}
684#[derive(Clone, PartialEq, ::prost::Message)]
686pub struct DynRedReq {
687 #[prost(message, repeated, tag = "1")]
689 pub tab_offset: ::prost::alloc::vec::Vec<TabOffset>,
690 #[prost(bool, tag = "2")]
692 pub is_new_install: bool,
693 #[prost(bool, tag = "3")]
695 pub is_code_start: bool,
696 #[prost(int64, repeated, tag = "4")]
698 pub new_follow_up_mids: ::prost::alloc::vec::Vec<i64>,
699 #[prost(enumeration = "dyn_red_req::DynRedReqScene", tag = "5")]
701 pub req_scene: i32,
702}
703pub mod dyn_red_req {
705 #[derive(
707 Clone,
708 Copy,
709 Debug,
710 PartialEq,
711 Eq,
712 Hash,
713 PartialOrd,
714 Ord,
715 ::prost::Enumeration
716 )]
717 #[repr(i32)]
718 pub enum DynRedReqScene {
719 RedReqNone = 0,
721 RedReqReturnToTab1 = 1,
723 RedReqPeriodicallyAwake = 2,
725 RedReqSwitchAccount = 3,
727 }
728 impl DynRedReqScene {
729 pub fn as_str_name(&self) -> &'static str {
734 match self {
735 Self::RedReqNone => "RED_REQ_NONE",
736 Self::RedReqReturnToTab1 => "RED_REQ_RETURN_TO_TAB_1",
737 Self::RedReqPeriodicallyAwake => "RED_REQ_PERIODICALLY_AWAKE",
738 Self::RedReqSwitchAccount => "RED_REQ_SWITCH_ACCOUNT",
739 }
740 }
741 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
743 match value {
744 "RED_REQ_NONE" => Some(Self::RedReqNone),
745 "RED_REQ_RETURN_TO_TAB_1" => Some(Self::RedReqReturnToTab1),
746 "RED_REQ_PERIODICALLY_AWAKE" => Some(Self::RedReqPeriodicallyAwake),
747 "RED_REQ_SWITCH_ACCOUNT" => Some(Self::RedReqSwitchAccount),
748 _ => None,
749 }
750 }
751 }
752}
753#[derive(Clone, PartialEq, ::prost::Message)]
755pub struct DynRedStyle {
756 #[prost(enumeration = "BgType", tag = "1")]
758 pub bg_type: i32,
759 #[prost(enumeration = "CornerType", tag = "2")]
761 pub corner_type: i32,
762 #[prost(int32, tag = "3")]
764 pub display_time: i32,
765 #[prost(string, tag = "4")]
767 pub corner_mark: ::prost::alloc::string::String,
768 #[prost(message, optional, tag = "5")]
770 pub up: ::core::option::Option<DynRedStyleUp>,
771 #[prost(enumeration = "StyleType", tag = "6")]
773 pub r#type: i32,
774 #[prost(message, optional, tag = "7")]
776 pub corner_info: ::core::option::Option<CornerInfo>,
777}
778#[derive(Clone, PartialEq, ::prost::Message)]
780pub struct DynRedStyleUp {
781 #[prost(int64, tag = "1")]
783 pub uid: i64,
784 #[prost(string, tag = "2")]
786 pub face: ::prost::alloc::string::String,
787 #[prost(enumeration = "StyleType", tag = "3")]
789 pub face_type: i32,
790 #[prost(message, optional, tag = "4")]
792 pub border_color: ::core::option::Option<Color>,
793}
794#[derive(Clone, PartialEq, ::prost::Message)]
796pub struct DynTab {
797 #[prost(string, tag = "1")]
799 pub title: ::prost::alloc::string::String,
800 #[prost(string, tag = "2")]
802 pub uri: ::prost::alloc::string::String,
803 #[prost(string, tag = "3")]
805 pub bubble: ::prost::alloc::string::String,
806 #[prost(int32, tag = "4")]
808 pub red_point: i32,
809 #[prost(int64, tag = "5")]
811 pub city_id: i64,
812 #[prost(int32, tag = "6")]
814 pub is_popup: i32,
815 #[prost(message, optional, tag = "7")]
817 pub popup: ::core::option::Option<Popup>,
818 #[prost(bool, tag = "8")]
820 pub default_tab: bool,
821 #[prost(string, tag = "9")]
823 pub sub_title: ::prost::alloc::string::String,
824 #[prost(string, tag = "10")]
826 pub anchor: ::prost::alloc::string::String,
827 #[prost(string, tag = "11")]
829 pub internal_test: ::prost::alloc::string::String,
830}
831#[derive(Clone, PartialEq, ::prost::Message)]
833pub struct DynTabReply {
834 #[prost(message, repeated, tag = "1")]
836 pub dyn_tab: ::prost::alloc::vec::Vec<DynTab>,
837}
838#[derive(Clone, Copy, PartialEq, ::prost::Message)]
840pub struct DynTabReq {
841 #[prost(int32, tag = "1")]
843 pub teenagers_mode: i32,
844}
845#[derive(Clone, PartialEq, ::prost::Message)]
847pub struct DynUpdOffsetReq {
848 #[prost(int64, tag = "1")]
850 pub host_uid: i64,
851 #[prost(string, tag = "2")]
853 pub read_offset: ::prost::alloc::string::String,
854}
855#[derive(Clone, PartialEq, ::prost::Message)]
857pub struct DynVideoPersonalReply {
858 #[prost(message, repeated, tag = "1")]
860 pub list: ::prost::alloc::vec::Vec<DynamicItem>,
861 #[prost(string, tag = "2")]
863 pub offset: ::prost::alloc::string::String,
864 #[prost(int32, tag = "3")]
866 pub has_more: i32,
867 #[prost(string, tag = "4")]
869 pub read_offset: ::prost::alloc::string::String,
870}
871#[derive(Clone, PartialEq, ::prost::Message)]
873pub struct DynVideoPersonalReq {
874 #[prost(int32, tag = "1")]
876 pub teenagers_mode: i32,
877 #[prost(int64, tag = "2")]
879 pub host_uid: i64,
880 #[prost(string, tag = "3")]
882 pub offset: ::prost::alloc::string::String,
883 #[prost(int32, tag = "4")]
885 pub page: i32,
886 #[prost(int32, tag = "5")]
888 pub is_preload: i32,
889 #[prost(int32, tag = "6")]
891 pub qn: i32,
892 #[prost(int32, tag = "7")]
894 pub fnver: i32,
895 #[prost(int32, tag = "8")]
897 pub fnval: i32,
898 #[prost(int32, tag = "9")]
900 pub force_host: i32,
901 #[prost(int32, tag = "10")]
903 pub fourk: i32,
904}
905#[derive(Clone, PartialEq, ::prost::Message)]
907pub struct DynVideoReq {
908 #[prost(int32, tag = "1")]
910 pub teenagers_mode: i32,
911 #[prost(string, tag = "2")]
913 pub update_baseline: ::prost::alloc::string::String,
914 #[prost(string, tag = "3")]
916 pub offset: ::prost::alloc::string::String,
917 #[prost(int32, tag = "4")]
919 pub page: i32,
920 #[prost(int32, tag = "5")]
922 pub refresh_type: i32,
923 #[prost(int32, tag = "6")]
925 pub qn: i32,
926 #[prost(int32, tag = "7")]
928 pub fnver: i32,
929 #[prost(int32, tag = "8")]
931 pub fnval: i32,
932 #[prost(int32, tag = "9")]
934 pub force_host: i32,
935 #[prost(int32, tag = "10")]
937 pub fourk: i32,
938}
939#[derive(Clone, PartialEq, ::prost::Message)]
941pub struct DynVideoReqReply {
942 #[prost(message, repeated, tag = "1")]
944 pub list: ::prost::alloc::vec::Vec<DynamicItem>,
945 #[prost(int32, tag = "2")]
947 pub update_num: i32,
948 #[prost(string, tag = "3")]
950 pub history_offset: ::prost::alloc::string::String,
951 #[prost(string, tag = "4")]
953 pub update_baseline: ::prost::alloc::string::String,
954 #[prost(int32, tag = "5")]
956 pub has_more: i32,
957}
958#[derive(Clone, PartialEq, ::prost::Message)]
960pub struct DynamicItem {
961 #[prost(string, tag = "1")]
963 pub card_type: ::prost::alloc::string::String,
964 #[prost(string, tag = "2")]
966 pub item_type: ::prost::alloc::string::String,
967 #[prost(message, repeated, tag = "3")]
969 pub modules: ::prost::alloc::vec::Vec<Module>,
970 #[prost(string, tag = "4")]
972 pub dyn_id_str: ::prost::alloc::string::String,
973 #[prost(string, tag = "5")]
975 pub orig_dyn_id_str: ::prost::alloc::string::String,
976 #[prost(int32, tag = "6")]
978 pub r_type: i32,
979 #[prost(int32, tag = "7")]
981 pub has_fold: i32,
982}
983#[derive(Clone, PartialEq, ::prost::Message)]
985pub struct Exp {
986 #[prost(string, tag = "1")]
988 pub exp_name: ::prost::alloc::string::String,
989 #[prost(string, tag = "2")]
991 pub exp_group: ::prost::alloc::string::String,
992}
993#[derive(Clone, PartialEq, ::prost::Message)]
995pub struct ExpConf {
996 #[prost(int32, tag = "1")]
998 pub exp_enable: i32,
999 #[prost(message, repeated, tag = "2")]
1001 pub exps: ::prost::alloc::vec::Vec<Exp>,
1002}
1003#[derive(Clone, PartialEq, ::prost::Message)]
1005pub struct ExtInfoGame {
1006 #[prost(string, tag = "1")]
1008 pub title: ::prost::alloc::string::String,
1009 #[prost(string, tag = "2")]
1011 pub uri: ::prost::alloc::string::String,
1012 #[prost(string, tag = "3")]
1014 pub icon: ::prost::alloc::string::String,
1015}
1016#[derive(Clone, PartialEq, ::prost::Message)]
1018pub struct ExtInfoHot {
1019 #[prost(string, tag = "1")]
1021 pub title: ::prost::alloc::string::String,
1022 #[prost(string, tag = "2")]
1024 pub uri: ::prost::alloc::string::String,
1025 #[prost(string, tag = "3")]
1027 pub icon: ::prost::alloc::string::String,
1028}
1029#[derive(Clone, PartialEq, ::prost::Message)]
1031pub struct ExtInfoLbs {
1032 #[prost(string, tag = "1")]
1034 pub title: ::prost::alloc::string::String,
1035 #[prost(string, tag = "2")]
1037 pub uri: ::prost::alloc::string::String,
1038 #[prost(string, tag = "3")]
1040 pub icon: ::prost::alloc::string::String,
1041 #[prost(int32, tag = "4")]
1043 pub poi_type: i32,
1044}
1045#[derive(Clone, PartialEq, ::prost::Message)]
1047pub struct ExtInfoTopic {
1048 #[prost(string, tag = "1")]
1050 pub title: ::prost::alloc::string::String,
1051 #[prost(string, tag = "2")]
1053 pub uri: ::prost::alloc::string::String,
1054 #[prost(string, tag = "3")]
1056 pub icon: ::prost::alloc::string::String,
1057}
1058#[derive(Clone, PartialEq, ::prost::Message)]
1060pub struct Extend {
1061 #[prost(string, tag = "1")]
1063 pub r#type: ::prost::alloc::string::String,
1064 #[prost(oneof = "extend::Extend", tags = "2, 3, 4, 5")]
1066 pub extend: ::core::option::Option<extend::Extend>,
1067}
1068pub mod extend {
1070 #[derive(Clone, PartialEq, ::prost::Oneof)]
1072 pub enum Extend {
1073 #[prost(message, tag = "2")]
1075 ExtInfoTopic(super::ExtInfoTopic),
1076 #[prost(message, tag = "3")]
1078 ExtInfoLbs(super::ExtInfoLbs),
1079 #[prost(message, tag = "4")]
1081 ExtInfoHot(super::ExtInfoHot),
1082 #[prost(message, tag = "5")]
1084 ExtInfoGame(super::ExtInfoGame),
1085 }
1086}
1087#[derive(Clone, PartialEq, ::prost::Message)]
1089pub struct FollowListItem {
1090 #[prost(int32, tag = "1")]
1092 pub season_id: i32,
1093 #[prost(string, tag = "2")]
1095 pub title: ::prost::alloc::string::String,
1096 #[prost(string, tag = "3")]
1098 pub cover: ::prost::alloc::string::String,
1099 #[prost(string, tag = "4")]
1101 pub url: ::prost::alloc::string::String,
1102 #[prost(message, optional, tag = "5")]
1104 pub new_ep: ::core::option::Option<NewEp>,
1105}
1106#[derive(Clone, PartialEq, ::prost::Message)]
1108pub struct GeoCoderReply {
1109 #[prost(string, tag = "1")]
1111 pub address: ::prost::alloc::string::String,
1112 #[prost(message, optional, tag = "2")]
1114 pub address_component: ::core::option::Option<AddressComponent>,
1115 #[prost(message, optional, tag = "3")]
1117 pub ad_info: ::core::option::Option<AdInfo>,
1118}
1119#[derive(Clone, PartialEq, ::prost::Message)]
1121pub struct GeoCoderReq {
1122 #[prost(double, tag = "1")]
1124 pub lat: f64,
1125 #[prost(double, tag = "2")]
1127 pub lng: f64,
1128 #[prost(string, tag = "3")]
1130 pub from: ::prost::alloc::string::String,
1131}
1132#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1134pub struct Gps {
1135 #[prost(double, tag = "1")]
1137 pub lat: f64,
1138 #[prost(double, tag = "2")]
1140 pub lng: f64,
1141}
1142#[derive(Clone, PartialEq, ::prost::Message)]
1144pub struct LikeAnimation {
1145 #[prost(string, tag = "1")]
1147 pub begin: ::prost::alloc::string::String,
1148 #[prost(string, tag = "2")]
1150 pub proc: ::prost::alloc::string::String,
1151 #[prost(string, tag = "3")]
1153 pub end: ::prost::alloc::string::String,
1154 #[prost(int64, tag = "4")]
1156 pub like_icon_id: i64,
1157}
1158#[derive(Clone, PartialEq, ::prost::Message)]
1160pub struct LikeInfo {
1161 #[prost(message, optional, tag = "1")]
1163 pub animation: ::core::option::Option<LikeAnimation>,
1164 #[prost(int32, tag = "2")]
1166 pub is_like: i32,
1167}
1168#[derive(Clone, PartialEq, ::prost::Message)]
1170pub struct LikeUser {
1171 #[prost(int64, tag = "1")]
1173 pub uid: i64,
1174 #[prost(string, tag = "2")]
1176 pub uname: ::prost::alloc::string::String,
1177 #[prost(string, tag = "3")]
1179 pub uri: ::prost::alloc::string::String,
1180}
1181#[derive(Clone, PartialEq, ::prost::Message)]
1183pub struct LiveInfo {
1184 #[prost(int32, tag = "1")]
1186 pub is_living: i32,
1187 #[prost(string, tag = "2")]
1189 pub uri: ::prost::alloc::string::String,
1190}
1191#[derive(Clone, PartialEq, ::prost::Message)]
1193pub struct MixUpListItem {
1194 #[prost(int64, tag = "1")]
1196 pub uid: i64,
1197 #[prost(int32, tag = "2")]
1199 pub special_attention: i32,
1200 #[prost(int32, tag = "3")]
1202 pub reddot_state: i32,
1203 #[prost(message, optional, tag = "4")]
1205 pub live_info: ::core::option::Option<MixUpListLiveItem>,
1206 #[prost(string, tag = "5")]
1208 pub name: ::prost::alloc::string::String,
1209 #[prost(string, tag = "6")]
1211 pub face: ::prost::alloc::string::String,
1212 #[prost(message, optional, tag = "7")]
1214 pub official: ::core::option::Option<OfficialVerify>,
1215 #[prost(message, optional, tag = "8")]
1217 pub vip: ::core::option::Option<VipInfo>,
1218 #[prost(message, optional, tag = "9")]
1220 pub relation: ::core::option::Option<Relation>,
1221 #[prost(int32, tag = "10")]
1223 pub premiere_state: i32,
1224 #[prost(string, tag = "11")]
1226 pub uri: ::prost::alloc::string::String,
1227}
1228#[derive(Clone, PartialEq, ::prost::Message)]
1230pub struct MixUpListLiveItem {
1231 #[prost(bool, tag = "1")]
1233 pub status: bool,
1234 #[prost(int64, tag = "2")]
1236 pub room_id: i64,
1237 #[prost(string, tag = "3")]
1239 pub uri: ::prost::alloc::string::String,
1240}
1241#[derive(Clone, PartialEq, ::prost::Message)]
1243pub struct Module {
1244 #[prost(string, tag = "1")]
1246 pub module_type: ::prost::alloc::string::String,
1247 #[prost(oneof = "module::ModuleItem", tags = "2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12")]
1249 pub module_item: ::core::option::Option<module::ModuleItem>,
1250}
1251pub mod module {
1253 #[derive(Clone, PartialEq, ::prost::Oneof)]
1255 pub enum ModuleItem {
1256 #[prost(message, tag = "2")]
1258 ModuleFold(super::ModuleFold),
1259 #[prost(message, tag = "3")]
1261 ModuleAuthor(super::ModuleAuthor),
1262 #[prost(message, tag = "4")]
1264 ModuleDynamic(super::ModuleDynamic),
1265 #[prost(message, tag = "5")]
1267 ModuleState(super::ModuleState),
1268 #[prost(message, tag = "6")]
1270 ModuleForward(super::ModuleForward),
1271 #[prost(message, tag = "7")]
1273 ModuleExtend(super::ModuleExtend),
1274 #[prost(message, tag = "8")]
1276 ModuleDispute(super::ModuleDispute),
1277 #[prost(message, tag = "9")]
1279 ModuleDesc(super::ModuleDesc),
1280 #[prost(message, tag = "10")]
1282 ModuleLikeUser(super::ModuleLikeUser),
1283 #[prost(message, tag = "11")]
1285 ModuleUpList(super::ModuleDynUpList),
1286 #[prost(message, tag = "12")]
1288 ModuleFollowList(super::ModuleFollowList),
1289 }
1290}
1291#[derive(Clone, PartialEq, ::prost::Message)]
1293pub struct ModuleAuthor {
1294 #[prost(int64, tag = "1")]
1296 pub id: i64,
1297 #[prost(string, tag = "2")]
1299 pub ptime_label_text: ::prost::alloc::string::String,
1300 #[prost(message, optional, tag = "3")]
1302 pub author: ::core::option::Option<UserInfo>,
1303 #[prost(message, optional, tag = "4")]
1305 pub decorate_card: ::core::option::Option<DecorateCard>,
1306}
1307#[derive(Clone, PartialEq, ::prost::Message)]
1309pub struct ModuleDesc {
1310 #[prost(message, repeated, tag = "1")]
1312 pub desc: ::prost::alloc::vec::Vec<Description>,
1313}
1314#[derive(Clone, PartialEq, ::prost::Message)]
1316pub struct ModuleDispute {
1317 #[prost(string, tag = "1")]
1319 pub title: ::prost::alloc::string::String,
1320 #[prost(string, tag = "2")]
1322 pub desc: ::prost::alloc::string::String,
1323 #[prost(string, tag = "3")]
1325 pub uri: ::prost::alloc::string::String,
1326}
1327#[derive(Clone, PartialEq, ::prost::Message)]
1329pub struct ModuleDynUpList {
1330 #[prost(string, tag = "1")]
1332 pub module_title: ::prost::alloc::string::String,
1333 #[prost(string, tag = "2")]
1335 pub show_all: ::prost::alloc::string::String,
1336 #[prost(message, repeated, tag = "3")]
1338 pub list: ::prost::alloc::vec::Vec<UpListItem>,
1339}
1340#[derive(Clone, PartialEq, ::prost::Message)]
1342pub struct ModuleDynamic {
1343 #[prost(string, tag = "1")]
1345 pub card_type: ::prost::alloc::string::String,
1346 #[prost(oneof = "module_dynamic::Card", tags = "2, 3, 4, 5")]
1348 pub card: ::core::option::Option<module_dynamic::Card>,
1349}
1350pub mod module_dynamic {
1352 #[derive(Clone, PartialEq, ::prost::Oneof)]
1354 pub enum Card {
1355 #[prost(message, tag = "2")]
1357 CardUgc(super::CardUgc),
1358 #[prost(message, tag = "3")]
1360 CardPgc(super::CardPgc),
1361 #[prost(message, tag = "4")]
1363 CardCurrSeason(super::CardCurrSeason),
1364 #[prost(message, tag = "5")]
1366 CardCurrBatch(super::CardCurrBatch),
1367 }
1368}
1369#[derive(Clone, PartialEq, ::prost::Message)]
1371pub struct ModuleExtend {
1372 #[prost(message, repeated, tag = "1")]
1374 pub extend: ::prost::alloc::vec::Vec<Extend>,
1375}
1376#[derive(Clone, PartialEq, ::prost::Message)]
1378pub struct ModuleFold {
1379 #[prost(enumeration = "FoldType", tag = "1")]
1381 pub fold_type: i32,
1382 #[prost(string, tag = "2")]
1384 pub text: ::prost::alloc::string::String,
1385 #[prost(string, tag = "3")]
1387 pub fold_ids: ::prost::alloc::string::String,
1388 #[prost(message, repeated, tag = "4")]
1390 pub fold_users: ::prost::alloc::vec::Vec<UserInfo>,
1391 #[prost(enumeration = "FoldType", tag = "5")]
1393 pub fold_type_v2: i32,
1394}
1395#[derive(Clone, PartialEq, ::prost::Message)]
1397pub struct ModuleFollowList {
1398 #[prost(string, tag = "1")]
1400 pub view_all_link: ::prost::alloc::string::String,
1401 #[prost(message, repeated, tag = "2")]
1403 pub list: ::prost::alloc::vec::Vec<FollowListItem>,
1404}
1405#[derive(Clone, PartialEq, ::prost::Message)]
1407pub struct ModuleForward {
1408 #[prost(string, tag = "1")]
1410 pub card_type: ::prost::alloc::string::String,
1411 #[prost(message, repeated, tag = "2")]
1413 pub modules: ::prost::alloc::vec::Vec<Module>,
1414}
1415#[derive(Clone, PartialEq, ::prost::Message)]
1417pub struct ModuleLikeUser {
1418 #[prost(message, repeated, tag = "1")]
1420 pub like_users: ::prost::alloc::vec::Vec<LikeUser>,
1421 #[prost(string, tag = "2")]
1423 pub display_text: ::prost::alloc::string::String,
1424}
1425#[derive(Clone, PartialEq, ::prost::Message)]
1427pub struct ModuleState {
1428 #[prost(int32, tag = "1")]
1430 pub repost: i32,
1431 #[prost(int32, tag = "2")]
1433 pub like: i32,
1434 #[prost(int32, tag = "3")]
1436 pub reply: i32,
1437 #[prost(message, optional, tag = "4")]
1439 pub like_info: ::core::option::Option<LikeInfo>,
1440 #[prost(bool, tag = "5")]
1442 pub no_comment: bool,
1443 #[prost(bool, tag = "6")]
1445 pub no_forward: bool,
1446}
1447#[derive(Clone, PartialEq, ::prost::Message)]
1449pub struct Nameplate {
1450 #[prost(int64, tag = "1")]
1452 pub nid: i64,
1453 #[prost(string, tag = "2")]
1455 pub name: ::prost::alloc::string::String,
1456 #[prost(string, tag = "3")]
1458 pub image: ::prost::alloc::string::String,
1459 #[prost(string, tag = "4")]
1461 pub image_small: ::prost::alloc::string::String,
1462 #[prost(string, tag = "5")]
1464 pub level: ::prost::alloc::string::String,
1465 #[prost(string, tag = "6")]
1467 pub condition: ::prost::alloc::string::String,
1468}
1469#[derive(Clone, PartialEq, ::prost::Message)]
1471pub struct NewEp {
1472 #[prost(int32, tag = "1")]
1474 pub id: i32,
1475 #[prost(string, tag = "2")]
1477 pub index_show: ::prost::alloc::string::String,
1478 #[prost(string, tag = "3")]
1480 pub cover: ::prost::alloc::string::String,
1481}
1482#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1484pub struct NoReply {}
1485#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1487pub struct NoReq {}
1488#[derive(Clone, PartialEq, ::prost::Message)]
1490pub struct OfficialVerify {
1491 #[prost(int32, tag = "1")]
1493 pub r#type: i32,
1494 #[prost(string, tag = "2")]
1496 pub desc: ::prost::alloc::string::String,
1497 #[prost(int32, tag = "3")]
1499 pub is_atten: i32,
1500}
1501#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1503pub struct OurCityClickReportReply {}
1504#[derive(Clone, PartialEq, ::prost::Message)]
1506pub struct OurCityClickReportReq {
1507 #[prost(string, tag = "1")]
1509 pub dynamic_id: ::prost::alloc::string::String,
1510 #[prost(int64, tag = "2")]
1512 pub city_id: i64,
1513 #[prost(double, tag = "3")]
1515 pub lat: f64,
1516 #[prost(double, tag = "4")]
1518 pub lng: f64,
1519}
1520#[derive(Clone, PartialEq, ::prost::Message)]
1522pub struct PgcSeason {
1523 #[prost(int32, tag = "1")]
1525 pub is_finish: i32,
1526 #[prost(string, tag = "2")]
1528 pub title: ::prost::alloc::string::String,
1529 #[prost(int32, tag = "3")]
1531 pub r#type: i32,
1532}
1533#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1535pub struct PlayerPreloadParams {
1536 #[prost(int32, tag = "1")]
1538 pub qn: i32,
1539 #[prost(int32, tag = "2")]
1541 pub fnver: i32,
1542 #[prost(int32, tag = "3")]
1544 pub fnval: i32,
1545 #[prost(int32, tag = "4")]
1547 pub force_host: i32,
1548 #[prost(int32, tag = "5")]
1550 pub fourk: i32,
1551}
1552#[derive(Clone, PartialEq, ::prost::Message)]
1554pub struct Popup {
1555 #[prost(string, tag = "1")]
1557 pub title: ::prost::alloc::string::String,
1558 #[prost(string, tag = "2")]
1560 pub desc: ::prost::alloc::string::String,
1561 #[prost(string, tag = "3")]
1563 pub uri: ::prost::alloc::string::String,
1564}
1565#[derive(Clone, PartialEq, ::prost::Message)]
1567pub struct Relation {
1568 #[prost(enumeration = "RelationStatus", tag = "1")]
1570 pub status: i32,
1571 #[prost(int32, tag = "2")]
1573 pub is_follow: i32,
1574 #[prost(int32, tag = "3")]
1576 pub is_followed: i32,
1577 #[prost(string, tag = "4")]
1579 pub title: ::prost::alloc::string::String,
1580}
1581#[derive(Clone, PartialEq, ::prost::Message)]
1583pub struct SVideoItem {
1584 #[prost(string, tag = "1")]
1586 pub card_type: ::prost::alloc::string::String,
1587 #[prost(message, repeated, tag = "2")]
1589 pub modules: ::prost::alloc::vec::Vec<SVideoModule>,
1590 #[prost(string, tag = "3")]
1592 pub dyn_id_str: ::prost::alloc::string::String,
1593 #[prost(int64, tag = "4")]
1595 pub index: i64,
1596}
1597#[derive(Clone, PartialEq, ::prost::Message)]
1599pub struct SVideoModule {
1600 #[prost(string, tag = "1")]
1602 pub module_type: ::prost::alloc::string::String,
1603 #[prost(oneof = "s_video_module::ModuleItem", tags = "2, 3, 4, 5")]
1605 pub module_item: ::core::option::Option<s_video_module::ModuleItem>,
1606}
1607pub mod s_video_module {
1609 #[derive(Clone, PartialEq, ::prost::Oneof)]
1611 pub enum ModuleItem {
1612 #[prost(message, tag = "2")]
1614 ModuleAuthor(super::SVideoModuleAuthor),
1615 #[prost(message, tag = "3")]
1617 ModulePlayer(super::SVideoModulePlayer),
1618 #[prost(message, tag = "4")]
1620 ModuleDesc(super::SVideoModuleDesc),
1621 #[prost(message, tag = "5")]
1623 ModuleStat(super::SVideoModuleStat),
1624 }
1625}
1626#[derive(Clone, PartialEq, ::prost::Message)]
1628pub struct SVideoModuleAuthor {
1629 #[prost(int64, tag = "1")]
1631 pub mid: i64,
1632 #[prost(string, tag = "2")]
1634 pub name: ::prost::alloc::string::String,
1635 #[prost(string, tag = "3")]
1637 pub face: ::prost::alloc::string::String,
1638 #[prost(string, tag = "4")]
1640 pub pub_desc: ::prost::alloc::string::String,
1641 #[prost(int32, tag = "5")]
1643 pub is_attention: i32,
1644 #[prost(string, tag = "6")]
1646 pub uri: ::prost::alloc::string::String,
1647}
1648#[derive(Clone, PartialEq, ::prost::Message)]
1650pub struct SVideoModuleDesc {
1651 #[prost(string, tag = "1")]
1653 pub text: ::prost::alloc::string::String,
1654 #[prost(string, tag = "2")]
1656 pub uri: ::prost::alloc::string::String,
1657}
1658#[derive(Clone, PartialEq, ::prost::Message)]
1660pub struct SVideoModulePlayer {
1661 #[prost(string, tag = "1")]
1663 pub title: ::prost::alloc::string::String,
1664 #[prost(string, tag = "2")]
1666 pub cover: ::prost::alloc::string::String,
1667 #[prost(string, tag = "3")]
1669 pub uri: ::prost::alloc::string::String,
1670 #[prost(int64, tag = "4")]
1672 pub aid: i64,
1673 #[prost(int64, tag = "5")]
1675 pub cid: i64,
1676 #[prost(int64, tag = "6")]
1678 pub duration: i64,
1679 #[prost(message, optional, tag = "7")]
1681 pub dimension: ::core::option::Option<Dimension>,
1682}
1683#[derive(Clone, PartialEq, ::prost::Message)]
1685pub struct SVideoModuleStat {
1686 #[prost(message, repeated, tag = "1")]
1688 pub stat_info: ::prost::alloc::vec::Vec<SVideoStatInfo>,
1689 #[prost(message, optional, tag = "2")]
1691 pub share_info: ::core::option::Option<ShareInfo>,
1692}
1693#[derive(Clone, PartialEq, ::prost::Message)]
1695pub struct SVideoReply {
1696 #[prost(message, repeated, tag = "1")]
1698 pub list: ::prost::alloc::vec::Vec<SVideoItem>,
1699 #[prost(string, tag = "2")]
1701 pub offset: ::prost::alloc::string::String,
1702 #[prost(int32, tag = "3")]
1704 pub has_more: i32,
1705 #[prost(message, optional, tag = "4")]
1707 pub top: ::core::option::Option<SVideoTop>,
1708}
1709#[derive(Clone, PartialEq, ::prost::Message)]
1711pub struct SVideoReq {
1712 #[prost(int64, tag = "1")]
1714 pub oid: i64,
1715 #[prost(enumeration = "SVideoType", tag = "2")]
1717 pub r#type: i32,
1718 #[prost(string, tag = "3")]
1720 pub offset: ::prost::alloc::string::String,
1721 #[prost(int32, tag = "4")]
1723 pub qn: i32,
1724 #[prost(int32, tag = "5")]
1726 pub fnver: i32,
1727 #[prost(int32, tag = "6")]
1729 pub fnval: i32,
1730 #[prost(int32, tag = "7")]
1732 pub force_host: i32,
1733 #[prost(int32, tag = "8")]
1735 pub fourk: i32,
1736 #[prost(string, tag = "9")]
1738 pub spmid: ::prost::alloc::string::String,
1739 #[prost(string, tag = "10")]
1741 pub from_spmid: ::prost::alloc::string::String,
1742 #[prost(message, optional, tag = "11")]
1744 pub player_preload: ::core::option::Option<PlayerPreloadParams>,
1745 #[prost(int64, tag = "12")]
1747 pub focus_aid: i64,
1748 #[prost(message, optional, tag = "13")]
1750 pub player_args: ::core::option::Option<
1751 super::super::archive::middleware::v1::PlayerArgs,
1752 >,
1753}
1754#[derive(Clone, PartialEq, ::prost::Message)]
1756pub struct SVideoStatInfo {
1757 #[prost(int32, tag = "1")]
1759 pub icon: i32,
1760 #[prost(int64, tag = "2")]
1762 pub num: i64,
1763 #[prost(int32, tag = "3")]
1765 pub selected: i32,
1766 #[prost(string, tag = "4")]
1768 pub uri: ::prost::alloc::string::String,
1769}
1770#[derive(Clone, PartialEq, ::prost::Message)]
1772pub struct SVideoTop {
1773 #[prost(string, tag = "1")]
1775 pub title: ::prost::alloc::string::String,
1776 #[prost(string, tag = "2")]
1778 pub desc: ::prost::alloc::string::String,
1779}
1780#[derive(Clone, PartialEq, ::prost::Message)]
1782pub struct ShareInfo {
1783 #[prost(int64, tag = "1")]
1785 pub aid: i64,
1786 #[prost(string, tag = "2")]
1788 pub bvid: ::prost::alloc::string::String,
1789 #[prost(string, tag = "3")]
1791 pub title: ::prost::alloc::string::String,
1792 #[prost(string, tag = "4")]
1794 pub subtitle: ::prost::alloc::string::String,
1795 #[prost(string, tag = "5")]
1797 pub cover: ::prost::alloc::string::String,
1798 #[prost(int64, tag = "6")]
1800 pub mid: i64,
1801 #[prost(string, tag = "7")]
1803 pub name: ::prost::alloc::string::String,
1804}
1805#[derive(Clone, PartialEq, ::prost::Message)]
1807pub struct TabOffset {
1808 #[prost(int32, tag = "1")]
1810 pub tab: i32,
1811 #[prost(string, tag = "2")]
1813 pub offset: ::prost::alloc::string::String,
1814}
1815#[derive(Clone, PartialEq, ::prost::Message)]
1817pub struct UpListItem {
1818 #[prost(int32, tag = "1")]
1820 pub has_update: i32,
1821 #[prost(string, tag = "2")]
1823 pub face: ::prost::alloc::string::String,
1824 #[prost(string, tag = "3")]
1826 pub name: ::prost::alloc::string::String,
1827 #[prost(int64, tag = "4")]
1829 pub uid: i64,
1830}
1831#[derive(Clone, PartialEq, ::prost::Message)]
1833pub struct UserInfo {
1834 #[prost(int64, tag = "1")]
1836 pub mid: i64,
1837 #[prost(string, tag = "2")]
1839 pub name: ::prost::alloc::string::String,
1840 #[prost(string, tag = "3")]
1842 pub face: ::prost::alloc::string::String,
1843 #[prost(message, optional, tag = "4")]
1845 pub official: ::core::option::Option<OfficialVerify>,
1846 #[prost(message, optional, tag = "5")]
1848 pub vip: ::core::option::Option<VipInfo>,
1849 #[prost(message, optional, tag = "6")]
1851 pub live: ::core::option::Option<LiveInfo>,
1852 #[prost(string, tag = "7")]
1854 pub uri: ::prost::alloc::string::String,
1855 #[prost(message, optional, tag = "8")]
1857 pub pendant: ::core::option::Option<UserPendant>,
1858 #[prost(message, optional, tag = "9")]
1860 pub nameplate: ::core::option::Option<Nameplate>,
1861}
1862#[derive(Clone, PartialEq, ::prost::Message)]
1864pub struct UserPendant {
1865 #[prost(int64, tag = "1")]
1867 pub pid: i64,
1868 #[prost(string, tag = "2")]
1870 pub name: ::prost::alloc::string::String,
1871 #[prost(string, tag = "3")]
1873 pub image: ::prost::alloc::string::String,
1874 #[prost(int64, tag = "4")]
1876 pub expire: i64,
1877}
1878#[derive(Clone, PartialEq, ::prost::Message)]
1880pub struct VideoBadge {
1881 #[prost(string, tag = "1")]
1883 pub text: ::prost::alloc::string::String,
1884 #[prost(string, tag = "2")]
1886 pub text_color: ::prost::alloc::string::String,
1887 #[prost(string, tag = "3")]
1889 pub text_color_night: ::prost::alloc::string::String,
1890 #[prost(string, tag = "4")]
1892 pub bg_color: ::prost::alloc::string::String,
1893 #[prost(string, tag = "5")]
1895 pub bg_color_night: ::prost::alloc::string::String,
1896 #[prost(string, tag = "6")]
1898 pub border_color: ::prost::alloc::string::String,
1899 #[prost(string, tag = "7")]
1901 pub border_color_night: ::prost::alloc::string::String,
1902 #[prost(int32, tag = "8")]
1904 pub bg_style: i32,
1905}
1906#[derive(Clone, PartialEq, ::prost::Message)]
1908pub struct VipInfo {
1909 #[prost(int32, tag = "1")]
1911 pub r#type: i32,
1912 #[prost(int32, tag = "2")]
1914 pub status: i32,
1915 #[prost(int64, tag = "3")]
1917 pub due_date: i64,
1918 #[prost(message, optional, tag = "4")]
1920 pub label: ::core::option::Option<VipLabel>,
1921 #[prost(int32, tag = "5")]
1923 pub theme_type: i32,
1924}
1925#[derive(Clone, PartialEq, ::prost::Message)]
1927pub struct VipLabel {
1928 #[prost(string, tag = "1")]
1930 pub path: ::prost::alloc::string::String,
1931}
1932#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1934#[repr(i32)]
1935pub enum BgType {
1936 Default = 0,
1938 Face = 1,
1940}
1941impl BgType {
1942 pub fn as_str_name(&self) -> &'static str {
1947 match self {
1948 Self::Default => "bg_type_default",
1949 Self::Face => "bg_type_face",
1950 }
1951 }
1952 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1954 match value {
1955 "bg_type_default" => Some(Self::Default),
1956 "bg_type_face" => Some(Self::Face),
1957 _ => None,
1958 }
1959 }
1960}
1961#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1963#[repr(i32)]
1964pub enum BubbleModuleType {
1965 BubbleModuleNone = 0,
1967 BubbleModuleUser = 1,
1969 BubbleModuleText = 2,
1971 BubbleModuleColoredTip = 3,
1973 BubbleModulePic = 4,
1975}
1976impl BubbleModuleType {
1977 pub fn as_str_name(&self) -> &'static str {
1982 match self {
1983 Self::BubbleModuleNone => "BUBBLE_MODULE_NONE",
1984 Self::BubbleModuleUser => "BUBBLE_MODULE_USER",
1985 Self::BubbleModuleText => "BUBBLE_MODULE_TEXT",
1986 Self::BubbleModuleColoredTip => "BUBBLE_MODULE_COLORED_TIP",
1987 Self::BubbleModulePic => "BUBBLE_MODULE_PIC",
1988 }
1989 }
1990 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1992 match value {
1993 "BUBBLE_MODULE_NONE" => Some(Self::BubbleModuleNone),
1994 "BUBBLE_MODULE_USER" => Some(Self::BubbleModuleUser),
1995 "BUBBLE_MODULE_TEXT" => Some(Self::BubbleModuleText),
1996 "BUBBLE_MODULE_COLORED_TIP" => Some(Self::BubbleModuleColoredTip),
1997 "BUBBLE_MODULE_PIC" => Some(Self::BubbleModulePic),
1998 _ => None,
1999 }
2000 }
2001}
2002#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2004#[repr(i32)]
2005pub enum CornerType {
2006 None = 0,
2008 Text = 1,
2010 Animation = 2,
2012 Static = 3,
2014 RedDot = 4,
2016 Number = 5,
2018}
2019impl CornerType {
2020 pub fn as_str_name(&self) -> &'static str {
2025 match self {
2026 Self::None => "corner_type_none",
2027 Self::Text => "corner_type_text",
2028 Self::Animation => "corner_type_animation",
2029 Self::Static => "corner_type_static",
2030 Self::RedDot => "corner_type_red_dot",
2031 Self::Number => "corner_type_number",
2032 }
2033 }
2034 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2036 match value {
2037 "corner_type_none" => Some(Self::None),
2038 "corner_type_text" => Some(Self::Text),
2039 "corner_type_animation" => Some(Self::Animation),
2040 "corner_type_static" => Some(Self::Static),
2041 "corner_type_red_dot" => Some(Self::RedDot),
2042 "corner_type_number" => Some(Self::Number),
2043 _ => None,
2044 }
2045 }
2046}
2047#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2049#[repr(i32)]
2050pub enum FoldType {
2051 Zero = 0,
2053 Publish = 1,
2055 Frequent = 2,
2057 Unite = 3,
2059 Limit = 4,
2061}
2062impl FoldType {
2063 pub fn as_str_name(&self) -> &'static str {
2068 match self {
2069 Self::Zero => "FoldTypeZero",
2070 Self::Publish => "FoldTypePublish",
2071 Self::Frequent => "FoldTypeFrequent",
2072 Self::Unite => "FoldTypeUnite",
2073 Self::Limit => "FoldTypeLimit",
2074 }
2075 }
2076 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2078 match value {
2079 "FoldTypeZero" => Some(Self::Zero),
2080 "FoldTypePublish" => Some(Self::Publish),
2081 "FoldTypeFrequent" => Some(Self::Frequent),
2082 "FoldTypeUnite" => Some(Self::Unite),
2083 "FoldTypeLimit" => Some(Self::Limit),
2084 _ => None,
2085 }
2086 }
2087}
2088#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2090#[repr(i32)]
2091pub enum MediaType {
2092 None = 0,
2094 Ugc = 1,
2096 Pgc = 2,
2098 Live = 3,
2100 Vcs = 4,
2102}
2103impl MediaType {
2104 pub fn as_str_name(&self) -> &'static str {
2109 match self {
2110 Self::None => "MediaTypeNone",
2111 Self::Ugc => "MediaTypeUGC",
2112 Self::Pgc => "MediaTypePGC",
2113 Self::Live => "MediaTypeLive",
2114 Self::Vcs => "MediaTypeVCS",
2115 }
2116 }
2117 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2119 match value {
2120 "MediaTypeNone" => Some(Self::None),
2121 "MediaTypeUGC" => Some(Self::Ugc),
2122 "MediaTypePGC" => Some(Self::Pgc),
2123 "MediaTypeLive" => Some(Self::Live),
2124 "MediaTypeVCS" => Some(Self::Vcs),
2125 _ => None,
2126 }
2127 }
2128}
2129#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2131#[repr(i32)]
2132pub enum RelationStatus {
2133 None = 0,
2135 Nofollow = 1,
2137 Follow = 2,
2139 Followed = 3,
2141 MutualConcern = 4,
2143 Special = 5,
2145}
2146impl RelationStatus {
2147 pub fn as_str_name(&self) -> &'static str {
2152 match self {
2153 Self::None => "relation_status_none",
2154 Self::Nofollow => "relation_status_nofollow",
2155 Self::Follow => "relation_status_follow",
2156 Self::Followed => "relation_status_followed",
2157 Self::MutualConcern => "relation_status_mutual_concern",
2158 Self::Special => "relation_status_special",
2159 }
2160 }
2161 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2163 match value {
2164 "relation_status_none" => Some(Self::None),
2165 "relation_status_nofollow" => Some(Self::Nofollow),
2166 "relation_status_follow" => Some(Self::Follow),
2167 "relation_status_followed" => Some(Self::Followed),
2168 "relation_status_mutual_concern" => Some(Self::MutualConcern),
2169 "relation_status_special" => Some(Self::Special),
2170 _ => None,
2171 }
2172 }
2173}
2174#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2176#[repr(i32)]
2177pub enum SVideoType {
2178 TypeNone = 0,
2180 TypeDynamic = 1,
2182 TypePopularIndex = 2,
2184 TypePopularHotword = 3,
2186}
2187impl SVideoType {
2188 pub fn as_str_name(&self) -> &'static str {
2193 match self {
2194 Self::TypeNone => "TypeNone",
2195 Self::TypeDynamic => "TypeDynamic",
2196 Self::TypePopularIndex => "TypePopularIndex",
2197 Self::TypePopularHotword => "TypePopularHotword",
2198 }
2199 }
2200 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2202 match value {
2203 "TypeNone" => Some(Self::TypeNone),
2204 "TypeDynamic" => Some(Self::TypeDynamic),
2205 "TypePopularIndex" => Some(Self::TypePopularIndex),
2206 "TypePopularHotword" => Some(Self::TypePopularHotword),
2207 _ => None,
2208 }
2209 }
2210}
2211#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2213#[repr(i32)]
2214pub enum StyleType {
2215 None = 0,
2217 Live = 1,
2219 DynUp = 2,
2221 OgvUp = 3,
2223 CollectionUp = 4,
2225}
2226impl StyleType {
2227 pub fn as_str_name(&self) -> &'static str {
2232 match self {
2233 Self::None => "STYLE_TYPE_NONE",
2234 Self::Live => "STYLE_TYPE_LIVE",
2235 Self::DynUp => "STYLE_TYPE_DYN_UP",
2236 Self::OgvUp => "STYLE_TYPE_OGV_UP",
2237 Self::CollectionUp => "STYLE_TYPE_COLLECTION_UP",
2238 }
2239 }
2240 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2242 match value {
2243 "STYLE_TYPE_NONE" => Some(Self::None),
2244 "STYLE_TYPE_LIVE" => Some(Self::Live),
2245 "STYLE_TYPE_DYN_UP" => Some(Self::DynUp),
2246 "STYLE_TYPE_OGV_UP" => Some(Self::OgvUp),
2247 "STYLE_TYPE_COLLECTION_UP" => Some(Self::CollectionUp),
2248 _ => None,
2249 }
2250 }
2251}
2252#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2254#[repr(i32)]
2255pub enum VideoSubType {
2256 None = 0,
2258 Bangumi = 1,
2260 Movie = 2,
2262 Documentary = 3,
2264 Domestic = 4,
2266 Teleplay = 5,
2268}
2269impl VideoSubType {
2270 pub fn as_str_name(&self) -> &'static str {
2275 match self {
2276 Self::None => "VideoSubTypeNone",
2277 Self::Bangumi => "VideoSubTypeBangumi",
2278 Self::Movie => "VideoSubTypeMovie",
2279 Self::Documentary => "VideoSubTypeDocumentary",
2280 Self::Domestic => "VideoSubTypeDomestic",
2281 Self::Teleplay => "VideoSubTypeTeleplay",
2282 }
2283 }
2284 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2286 match value {
2287 "VideoSubTypeNone" => Some(Self::None),
2288 "VideoSubTypeBangumi" => Some(Self::Bangumi),
2289 "VideoSubTypeMovie" => Some(Self::Movie),
2290 "VideoSubTypeDocumentary" => Some(Self::Documentary),
2291 "VideoSubTypeDomestic" => Some(Self::Domestic),
2292 "VideoSubTypeTeleplay" => Some(Self::Teleplay),
2293 _ => None,
2294 }
2295 }
2296}
2297pub mod dynamic_client {
2299 #![allow(
2300 unused_variables,
2301 dead_code,
2302 missing_docs,
2303 clippy::wildcard_imports,
2304 clippy::let_unit_value,
2305 )]
2306 use tonic::codegen::*;
2307 use tonic::codegen::http::Uri;
2308 #[derive(Debug, Clone)]
2310 pub struct DynamicClient<T> {
2311 inner: tonic::client::Grpc<T>,
2312 }
2313 impl<T> DynamicClient<T>
2314 where
2315 T: tonic::client::GrpcService<tonic::body::BoxBody>,
2316 T::Error: Into<StdError>,
2317 T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
2318 <T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
2319 {
2320 pub fn new(inner: T) -> Self {
2321 let inner = tonic::client::Grpc::new(inner);
2322 Self { inner }
2323 }
2324 pub fn with_origin(inner: T, origin: Uri) -> Self {
2325 let inner = tonic::client::Grpc::with_origin(inner, origin);
2326 Self { inner }
2327 }
2328 pub fn with_interceptor<F>(
2329 inner: T,
2330 interceptor: F,
2331 ) -> DynamicClient<InterceptedService<T, F>>
2332 where
2333 F: tonic::service::Interceptor,
2334 T::ResponseBody: Default,
2335 T: tonic::codegen::Service<
2336 http::Request<tonic::body::BoxBody>,
2337 Response = http::Response<
2338 <T as tonic::client::GrpcService<tonic::body::BoxBody>>::ResponseBody,
2339 >,
2340 >,
2341 <T as tonic::codegen::Service<
2342 http::Request<tonic::body::BoxBody>,
2343 >>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
2344 {
2345 DynamicClient::new(InterceptedService::new(inner, interceptor))
2346 }
2347 #[must_use]
2352 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2353 self.inner = self.inner.send_compressed(encoding);
2354 self
2355 }
2356 #[must_use]
2358 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2359 self.inner = self.inner.accept_compressed(encoding);
2360 self
2361 }
2362 #[must_use]
2366 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2367 self.inner = self.inner.max_decoding_message_size(limit);
2368 self
2369 }
2370 #[must_use]
2374 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2375 self.inner = self.inner.max_encoding_message_size(limit);
2376 self
2377 }
2378 pub async fn dyn_details(
2380 &mut self,
2381 request: impl tonic::IntoRequest<super::DynDetailsReq>,
2382 ) -> std::result::Result<
2383 tonic::Response<super::DynDetailsReply>,
2384 tonic::Status,
2385 > {
2386 self.inner
2387 .ready()
2388 .await
2389 .map_err(|e| {
2390 tonic::Status::unknown(
2391 format!("Service was not ready: {}", e.into()),
2392 )
2393 })?;
2394 let codec = tonic::codec::ProstCodec::default();
2395 let path = http::uri::PathAndQuery::from_static(
2396 "/bilibili.app.dynamic.v1.Dynamic/DynDetails",
2397 );
2398 let mut req = request.into_request();
2399 req.extensions_mut()
2400 .insert(
2401 GrpcMethod::new("bilibili.app.dynamic.v1.Dynamic", "DynDetails"),
2402 );
2403 self.inner.unary(req, path, codec).await
2404 }
2405 pub async fn dyn_mix_up_list_search(
2407 &mut self,
2408 request: impl tonic::IntoRequest<super::DynMixUpListSearchReq>,
2409 ) -> std::result::Result<
2410 tonic::Response<super::DynMixUpListSearchReply>,
2411 tonic::Status,
2412 > {
2413 self.inner
2414 .ready()
2415 .await
2416 .map_err(|e| {
2417 tonic::Status::unknown(
2418 format!("Service was not ready: {}", e.into()),
2419 )
2420 })?;
2421 let codec = tonic::codec::ProstCodec::default();
2422 let path = http::uri::PathAndQuery::from_static(
2423 "/bilibili.app.dynamic.v1.Dynamic/DynMixUpListSearch",
2424 );
2425 let mut req = request.into_request();
2426 req.extensions_mut()
2427 .insert(
2428 GrpcMethod::new(
2429 "bilibili.app.dynamic.v1.Dynamic",
2430 "DynMixUpListSearch",
2431 ),
2432 );
2433 self.inner.unary(req, path, codec).await
2434 }
2435 pub async fn dyn_mix_up_list_view_more(
2437 &mut self,
2438 request: impl tonic::IntoRequest<super::NoReq>,
2439 ) -> std::result::Result<
2440 tonic::Response<super::DynMixUpListViewMoreReply>,
2441 tonic::Status,
2442 > {
2443 self.inner
2444 .ready()
2445 .await
2446 .map_err(|e| {
2447 tonic::Status::unknown(
2448 format!("Service was not ready: {}", e.into()),
2449 )
2450 })?;
2451 let codec = tonic::codec::ProstCodec::default();
2452 let path = http::uri::PathAndQuery::from_static(
2453 "/bilibili.app.dynamic.v1.Dynamic/DynMixUpListViewMore",
2454 );
2455 let mut req = request.into_request();
2456 req.extensions_mut()
2457 .insert(
2458 GrpcMethod::new(
2459 "bilibili.app.dynamic.v1.Dynamic",
2460 "DynMixUpListViewMore",
2461 ),
2462 );
2463 self.inner.unary(req, path, codec).await
2464 }
2465 pub async fn dyn_our_city(
2467 &mut self,
2468 request: impl tonic::IntoRequest<super::DynOurCityReq>,
2469 ) -> std::result::Result<
2470 tonic::Response<super::DynOurCityReply>,
2471 tonic::Status,
2472 > {
2473 self.inner
2474 .ready()
2475 .await
2476 .map_err(|e| {
2477 tonic::Status::unknown(
2478 format!("Service was not ready: {}", e.into()),
2479 )
2480 })?;
2481 let codec = tonic::codec::ProstCodec::default();
2482 let path = http::uri::PathAndQuery::from_static(
2483 "/bilibili.app.dynamic.v1.Dynamic/DynOurCity",
2484 );
2485 let mut req = request.into_request();
2486 req.extensions_mut()
2487 .insert(
2488 GrpcMethod::new("bilibili.app.dynamic.v1.Dynamic", "DynOurCity"),
2489 );
2490 self.inner.unary(req, path, codec).await
2491 }
2492 pub async fn dyn_our_city_switch(
2494 &mut self,
2495 request: impl tonic::IntoRequest<super::DynOurCitySwitchReq>,
2496 ) -> std::result::Result<tonic::Response<super::NoReply>, tonic::Status> {
2497 self.inner
2498 .ready()
2499 .await
2500 .map_err(|e| {
2501 tonic::Status::unknown(
2502 format!("Service was not ready: {}", e.into()),
2503 )
2504 })?;
2505 let codec = tonic::codec::ProstCodec::default();
2506 let path = http::uri::PathAndQuery::from_static(
2507 "/bilibili.app.dynamic.v1.Dynamic/DynOurCitySwitch",
2508 );
2509 let mut req = request.into_request();
2510 req.extensions_mut()
2511 .insert(
2512 GrpcMethod::new(
2513 "bilibili.app.dynamic.v1.Dynamic",
2514 "DynOurCitySwitch",
2515 ),
2516 );
2517 self.inner.unary(req, path, codec).await
2518 }
2519 pub async fn dyn_red(
2521 &mut self,
2522 request: impl tonic::IntoRequest<super::DynRedReq>,
2523 ) -> std::result::Result<tonic::Response<super::DynRedReply>, tonic::Status> {
2524 self.inner
2525 .ready()
2526 .await
2527 .map_err(|e| {
2528 tonic::Status::unknown(
2529 format!("Service was not ready: {}", e.into()),
2530 )
2531 })?;
2532 let codec = tonic::codec::ProstCodec::default();
2533 let path = http::uri::PathAndQuery::from_static(
2534 "/bilibili.app.dynamic.v1.Dynamic/DynRed",
2535 );
2536 let mut req = request.into_request();
2537 req.extensions_mut()
2538 .insert(GrpcMethod::new("bilibili.app.dynamic.v1.Dynamic", "DynRed"));
2539 self.inner.unary(req, path, codec).await
2540 }
2541 pub async fn dyn_tab(
2543 &mut self,
2544 request: impl tonic::IntoRequest<super::DynTabReq>,
2545 ) -> std::result::Result<tonic::Response<super::DynTabReply>, tonic::Status> {
2546 self.inner
2547 .ready()
2548 .await
2549 .map_err(|e| {
2550 tonic::Status::unknown(
2551 format!("Service was not ready: {}", e.into()),
2552 )
2553 })?;
2554 let codec = tonic::codec::ProstCodec::default();
2555 let path = http::uri::PathAndQuery::from_static(
2556 "/bilibili.app.dynamic.v1.Dynamic/DynTab",
2557 );
2558 let mut req = request.into_request();
2559 req.extensions_mut()
2560 .insert(GrpcMethod::new("bilibili.app.dynamic.v1.Dynamic", "DynTab"));
2561 self.inner.unary(req, path, codec).await
2562 }
2563 pub async fn dyn_upd_offset(
2565 &mut self,
2566 request: impl tonic::IntoRequest<super::DynUpdOffsetReq>,
2567 ) -> std::result::Result<tonic::Response<super::NoReply>, tonic::Status> {
2568 self.inner
2569 .ready()
2570 .await
2571 .map_err(|e| {
2572 tonic::Status::unknown(
2573 format!("Service was not ready: {}", e.into()),
2574 )
2575 })?;
2576 let codec = tonic::codec::ProstCodec::default();
2577 let path = http::uri::PathAndQuery::from_static(
2578 "/bilibili.app.dynamic.v1.Dynamic/DynUpdOffset",
2579 );
2580 let mut req = request.into_request();
2581 req.extensions_mut()
2582 .insert(
2583 GrpcMethod::new("bilibili.app.dynamic.v1.Dynamic", "DynUpdOffset"),
2584 );
2585 self.inner.unary(req, path, codec).await
2586 }
2587 pub async fn dyn_video(
2589 &mut self,
2590 request: impl tonic::IntoRequest<super::DynVideoReq>,
2591 ) -> std::result::Result<
2592 tonic::Response<super::DynVideoReqReply>,
2593 tonic::Status,
2594 > {
2595 self.inner
2596 .ready()
2597 .await
2598 .map_err(|e| {
2599 tonic::Status::unknown(
2600 format!("Service was not ready: {}", e.into()),
2601 )
2602 })?;
2603 let codec = tonic::codec::ProstCodec::default();
2604 let path = http::uri::PathAndQuery::from_static(
2605 "/bilibili.app.dynamic.v1.Dynamic/DynVideo",
2606 );
2607 let mut req = request.into_request();
2608 req.extensions_mut()
2609 .insert(GrpcMethod::new("bilibili.app.dynamic.v1.Dynamic", "DynVideo"));
2610 self.inner.unary(req, path, codec).await
2611 }
2612 pub async fn dyn_video_personal(
2614 &mut self,
2615 request: impl tonic::IntoRequest<super::DynVideoPersonalReq>,
2616 ) -> std::result::Result<
2617 tonic::Response<super::DynVideoPersonalReply>,
2618 tonic::Status,
2619 > {
2620 self.inner
2621 .ready()
2622 .await
2623 .map_err(|e| {
2624 tonic::Status::unknown(
2625 format!("Service was not ready: {}", e.into()),
2626 )
2627 })?;
2628 let codec = tonic::codec::ProstCodec::default();
2629 let path = http::uri::PathAndQuery::from_static(
2630 "/bilibili.app.dynamic.v1.Dynamic/DynVideoPersonal",
2631 );
2632 let mut req = request.into_request();
2633 req.extensions_mut()
2634 .insert(
2635 GrpcMethod::new(
2636 "bilibili.app.dynamic.v1.Dynamic",
2637 "DynVideoPersonal",
2638 ),
2639 );
2640 self.inner.unary(req, path, codec).await
2641 }
2642 pub async fn geo_coder(
2644 &mut self,
2645 request: impl tonic::IntoRequest<super::GeoCoderReq>,
2646 ) -> std::result::Result<tonic::Response<super::GeoCoderReply>, tonic::Status> {
2647 self.inner
2648 .ready()
2649 .await
2650 .map_err(|e| {
2651 tonic::Status::unknown(
2652 format!("Service was not ready: {}", e.into()),
2653 )
2654 })?;
2655 let codec = tonic::codec::ProstCodec::default();
2656 let path = http::uri::PathAndQuery::from_static(
2657 "/bilibili.app.dynamic.v1.Dynamic/GeoCoder",
2658 );
2659 let mut req = request.into_request();
2660 req.extensions_mut()
2661 .insert(GrpcMethod::new("bilibili.app.dynamic.v1.Dynamic", "GeoCoder"));
2662 self.inner.unary(req, path, codec).await
2663 }
2664 pub async fn our_city_click_report(
2666 &mut self,
2667 request: impl tonic::IntoRequest<super::OurCityClickReportReq>,
2668 ) -> std::result::Result<
2669 tonic::Response<super::OurCityClickReportReply>,
2670 tonic::Status,
2671 > {
2672 self.inner
2673 .ready()
2674 .await
2675 .map_err(|e| {
2676 tonic::Status::unknown(
2677 format!("Service was not ready: {}", e.into()),
2678 )
2679 })?;
2680 let codec = tonic::codec::ProstCodec::default();
2681 let path = http::uri::PathAndQuery::from_static(
2682 "/bilibili.app.dynamic.v1.Dynamic/OurCityClickReport",
2683 );
2684 let mut req = request.into_request();
2685 req.extensions_mut()
2686 .insert(
2687 GrpcMethod::new(
2688 "bilibili.app.dynamic.v1.Dynamic",
2689 "OurCityClickReport",
2690 ),
2691 );
2692 self.inner.unary(req, path, codec).await
2693 }
2694 pub async fn s_video(
2696 &mut self,
2697 request: impl tonic::IntoRequest<super::SVideoReq>,
2698 ) -> std::result::Result<tonic::Response<super::SVideoReply>, tonic::Status> {
2699 self.inner
2700 .ready()
2701 .await
2702 .map_err(|e| {
2703 tonic::Status::unknown(
2704 format!("Service was not ready: {}", e.into()),
2705 )
2706 })?;
2707 let codec = tonic::codec::ProstCodec::default();
2708 let path = http::uri::PathAndQuery::from_static(
2709 "/bilibili.app.dynamic.v1.Dynamic/SVideo",
2710 );
2711 let mut req = request.into_request();
2712 req.extensions_mut()
2713 .insert(GrpcMethod::new("bilibili.app.dynamic.v1.Dynamic", "SVideo"));
2714 self.inner.unary(req, path, codec).await
2715 }
2716 }
2717}
2718pub mod dynamic_server {
2720 #![allow(
2721 unused_variables,
2722 dead_code,
2723 missing_docs,
2724 clippy::wildcard_imports,
2725 clippy::let_unit_value,
2726 )]
2727 use tonic::codegen::*;
2728 #[async_trait]
2730 pub trait Dynamic: std::marker::Send + std::marker::Sync + 'static {
2731 async fn dyn_details(
2733 &self,
2734 request: tonic::Request<super::DynDetailsReq>,
2735 ) -> std::result::Result<tonic::Response<super::DynDetailsReply>, tonic::Status>;
2736 async fn dyn_mix_up_list_search(
2738 &self,
2739 request: tonic::Request<super::DynMixUpListSearchReq>,
2740 ) -> std::result::Result<
2741 tonic::Response<super::DynMixUpListSearchReply>,
2742 tonic::Status,
2743 >;
2744 async fn dyn_mix_up_list_view_more(
2746 &self,
2747 request: tonic::Request<super::NoReq>,
2748 ) -> std::result::Result<
2749 tonic::Response<super::DynMixUpListViewMoreReply>,
2750 tonic::Status,
2751 >;
2752 async fn dyn_our_city(
2754 &self,
2755 request: tonic::Request<super::DynOurCityReq>,
2756 ) -> std::result::Result<tonic::Response<super::DynOurCityReply>, tonic::Status>;
2757 async fn dyn_our_city_switch(
2759 &self,
2760 request: tonic::Request<super::DynOurCitySwitchReq>,
2761 ) -> std::result::Result<tonic::Response<super::NoReply>, tonic::Status>;
2762 async fn dyn_red(
2764 &self,
2765 request: tonic::Request<super::DynRedReq>,
2766 ) -> std::result::Result<tonic::Response<super::DynRedReply>, tonic::Status>;
2767 async fn dyn_tab(
2769 &self,
2770 request: tonic::Request<super::DynTabReq>,
2771 ) -> std::result::Result<tonic::Response<super::DynTabReply>, tonic::Status>;
2772 async fn dyn_upd_offset(
2774 &self,
2775 request: tonic::Request<super::DynUpdOffsetReq>,
2776 ) -> std::result::Result<tonic::Response<super::NoReply>, tonic::Status>;
2777 async fn dyn_video(
2779 &self,
2780 request: tonic::Request<super::DynVideoReq>,
2781 ) -> std::result::Result<
2782 tonic::Response<super::DynVideoReqReply>,
2783 tonic::Status,
2784 >;
2785 async fn dyn_video_personal(
2787 &self,
2788 request: tonic::Request<super::DynVideoPersonalReq>,
2789 ) -> std::result::Result<
2790 tonic::Response<super::DynVideoPersonalReply>,
2791 tonic::Status,
2792 >;
2793 async fn geo_coder(
2795 &self,
2796 request: tonic::Request<super::GeoCoderReq>,
2797 ) -> std::result::Result<tonic::Response<super::GeoCoderReply>, tonic::Status>;
2798 async fn our_city_click_report(
2800 &self,
2801 request: tonic::Request<super::OurCityClickReportReq>,
2802 ) -> std::result::Result<
2803 tonic::Response<super::OurCityClickReportReply>,
2804 tonic::Status,
2805 >;
2806 async fn s_video(
2808 &self,
2809 request: tonic::Request<super::SVideoReq>,
2810 ) -> std::result::Result<tonic::Response<super::SVideoReply>, tonic::Status>;
2811 }
2812 #[derive(Debug)]
2814 pub struct DynamicServer<T> {
2815 inner: Arc<T>,
2816 accept_compression_encodings: EnabledCompressionEncodings,
2817 send_compression_encodings: EnabledCompressionEncodings,
2818 max_decoding_message_size: Option<usize>,
2819 max_encoding_message_size: Option<usize>,
2820 }
2821 impl<T> DynamicServer<T> {
2822 pub fn new(inner: T) -> Self {
2823 Self::from_arc(Arc::new(inner))
2824 }
2825 pub fn from_arc(inner: Arc<T>) -> Self {
2826 Self {
2827 inner,
2828 accept_compression_encodings: Default::default(),
2829 send_compression_encodings: Default::default(),
2830 max_decoding_message_size: None,
2831 max_encoding_message_size: None,
2832 }
2833 }
2834 pub fn with_interceptor<F>(
2835 inner: T,
2836 interceptor: F,
2837 ) -> InterceptedService<Self, F>
2838 where
2839 F: tonic::service::Interceptor,
2840 {
2841 InterceptedService::new(Self::new(inner), interceptor)
2842 }
2843 #[must_use]
2845 pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
2846 self.accept_compression_encodings.enable(encoding);
2847 self
2848 }
2849 #[must_use]
2851 pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
2852 self.send_compression_encodings.enable(encoding);
2853 self
2854 }
2855 #[must_use]
2859 pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
2860 self.max_decoding_message_size = Some(limit);
2861 self
2862 }
2863 #[must_use]
2867 pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
2868 self.max_encoding_message_size = Some(limit);
2869 self
2870 }
2871 }
2872 impl<T, B> tonic::codegen::Service<http::Request<B>> for DynamicServer<T>
2873 where
2874 T: Dynamic,
2875 B: Body + std::marker::Send + 'static,
2876 B::Error: Into<StdError> + std::marker::Send + 'static,
2877 {
2878 type Response = http::Response<tonic::body::BoxBody>;
2879 type Error = std::convert::Infallible;
2880 type Future = BoxFuture<Self::Response, Self::Error>;
2881 fn poll_ready(
2882 &mut self,
2883 _cx: &mut Context<'_>,
2884 ) -> Poll<std::result::Result<(), Self::Error>> {
2885 Poll::Ready(Ok(()))
2886 }
2887 fn call(&mut self, req: http::Request<B>) -> Self::Future {
2888 match req.uri().path() {
2889 "/bilibili.app.dynamic.v1.Dynamic/DynDetails" => {
2890 #[allow(non_camel_case_types)]
2891 struct DynDetailsSvc<T: Dynamic>(pub Arc<T>);
2892 impl<T: Dynamic> tonic::server::UnaryService<super::DynDetailsReq>
2893 for DynDetailsSvc<T> {
2894 type Response = super::DynDetailsReply;
2895 type Future = BoxFuture<
2896 tonic::Response<Self::Response>,
2897 tonic::Status,
2898 >;
2899 fn call(
2900 &mut self,
2901 request: tonic::Request<super::DynDetailsReq>,
2902 ) -> Self::Future {
2903 let inner = Arc::clone(&self.0);
2904 let fut = async move {
2905 <T as Dynamic>::dyn_details(&inner, request).await
2906 };
2907 Box::pin(fut)
2908 }
2909 }
2910 let accept_compression_encodings = self.accept_compression_encodings;
2911 let send_compression_encodings = self.send_compression_encodings;
2912 let max_decoding_message_size = self.max_decoding_message_size;
2913 let max_encoding_message_size = self.max_encoding_message_size;
2914 let inner = self.inner.clone();
2915 let fut = async move {
2916 let method = DynDetailsSvc(inner);
2917 let codec = tonic::codec::ProstCodec::default();
2918 let mut grpc = tonic::server::Grpc::new(codec)
2919 .apply_compression_config(
2920 accept_compression_encodings,
2921 send_compression_encodings,
2922 )
2923 .apply_max_message_size_config(
2924 max_decoding_message_size,
2925 max_encoding_message_size,
2926 );
2927 let res = grpc.unary(method, req).await;
2928 Ok(res)
2929 };
2930 Box::pin(fut)
2931 }
2932 "/bilibili.app.dynamic.v1.Dynamic/DynMixUpListSearch" => {
2933 #[allow(non_camel_case_types)]
2934 struct DynMixUpListSearchSvc<T: Dynamic>(pub Arc<T>);
2935 impl<
2936 T: Dynamic,
2937 > tonic::server::UnaryService<super::DynMixUpListSearchReq>
2938 for DynMixUpListSearchSvc<T> {
2939 type Response = super::DynMixUpListSearchReply;
2940 type Future = BoxFuture<
2941 tonic::Response<Self::Response>,
2942 tonic::Status,
2943 >;
2944 fn call(
2945 &mut self,
2946 request: tonic::Request<super::DynMixUpListSearchReq>,
2947 ) -> Self::Future {
2948 let inner = Arc::clone(&self.0);
2949 let fut = async move {
2950 <T as Dynamic>::dyn_mix_up_list_search(&inner, request)
2951 .await
2952 };
2953 Box::pin(fut)
2954 }
2955 }
2956 let accept_compression_encodings = self.accept_compression_encodings;
2957 let send_compression_encodings = self.send_compression_encodings;
2958 let max_decoding_message_size = self.max_decoding_message_size;
2959 let max_encoding_message_size = self.max_encoding_message_size;
2960 let inner = self.inner.clone();
2961 let fut = async move {
2962 let method = DynMixUpListSearchSvc(inner);
2963 let codec = tonic::codec::ProstCodec::default();
2964 let mut grpc = tonic::server::Grpc::new(codec)
2965 .apply_compression_config(
2966 accept_compression_encodings,
2967 send_compression_encodings,
2968 )
2969 .apply_max_message_size_config(
2970 max_decoding_message_size,
2971 max_encoding_message_size,
2972 );
2973 let res = grpc.unary(method, req).await;
2974 Ok(res)
2975 };
2976 Box::pin(fut)
2977 }
2978 "/bilibili.app.dynamic.v1.Dynamic/DynMixUpListViewMore" => {
2979 #[allow(non_camel_case_types)]
2980 struct DynMixUpListViewMoreSvc<T: Dynamic>(pub Arc<T>);
2981 impl<T: Dynamic> tonic::server::UnaryService<super::NoReq>
2982 for DynMixUpListViewMoreSvc<T> {
2983 type Response = super::DynMixUpListViewMoreReply;
2984 type Future = BoxFuture<
2985 tonic::Response<Self::Response>,
2986 tonic::Status,
2987 >;
2988 fn call(
2989 &mut self,
2990 request: tonic::Request<super::NoReq>,
2991 ) -> Self::Future {
2992 let inner = Arc::clone(&self.0);
2993 let fut = async move {
2994 <T as Dynamic>::dyn_mix_up_list_view_more(&inner, request)
2995 .await
2996 };
2997 Box::pin(fut)
2998 }
2999 }
3000 let accept_compression_encodings = self.accept_compression_encodings;
3001 let send_compression_encodings = self.send_compression_encodings;
3002 let max_decoding_message_size = self.max_decoding_message_size;
3003 let max_encoding_message_size = self.max_encoding_message_size;
3004 let inner = self.inner.clone();
3005 let fut = async move {
3006 let method = DynMixUpListViewMoreSvc(inner);
3007 let codec = tonic::codec::ProstCodec::default();
3008 let mut grpc = tonic::server::Grpc::new(codec)
3009 .apply_compression_config(
3010 accept_compression_encodings,
3011 send_compression_encodings,
3012 )
3013 .apply_max_message_size_config(
3014 max_decoding_message_size,
3015 max_encoding_message_size,
3016 );
3017 let res = grpc.unary(method, req).await;
3018 Ok(res)
3019 };
3020 Box::pin(fut)
3021 }
3022 "/bilibili.app.dynamic.v1.Dynamic/DynOurCity" => {
3023 #[allow(non_camel_case_types)]
3024 struct DynOurCitySvc<T: Dynamic>(pub Arc<T>);
3025 impl<T: Dynamic> tonic::server::UnaryService<super::DynOurCityReq>
3026 for DynOurCitySvc<T> {
3027 type Response = super::DynOurCityReply;
3028 type Future = BoxFuture<
3029 tonic::Response<Self::Response>,
3030 tonic::Status,
3031 >;
3032 fn call(
3033 &mut self,
3034 request: tonic::Request<super::DynOurCityReq>,
3035 ) -> Self::Future {
3036 let inner = Arc::clone(&self.0);
3037 let fut = async move {
3038 <T as Dynamic>::dyn_our_city(&inner, request).await
3039 };
3040 Box::pin(fut)
3041 }
3042 }
3043 let accept_compression_encodings = self.accept_compression_encodings;
3044 let send_compression_encodings = self.send_compression_encodings;
3045 let max_decoding_message_size = self.max_decoding_message_size;
3046 let max_encoding_message_size = self.max_encoding_message_size;
3047 let inner = self.inner.clone();
3048 let fut = async move {
3049 let method = DynOurCitySvc(inner);
3050 let codec = tonic::codec::ProstCodec::default();
3051 let mut grpc = tonic::server::Grpc::new(codec)
3052 .apply_compression_config(
3053 accept_compression_encodings,
3054 send_compression_encodings,
3055 )
3056 .apply_max_message_size_config(
3057 max_decoding_message_size,
3058 max_encoding_message_size,
3059 );
3060 let res = grpc.unary(method, req).await;
3061 Ok(res)
3062 };
3063 Box::pin(fut)
3064 }
3065 "/bilibili.app.dynamic.v1.Dynamic/DynOurCitySwitch" => {
3066 #[allow(non_camel_case_types)]
3067 struct DynOurCitySwitchSvc<T: Dynamic>(pub Arc<T>);
3068 impl<
3069 T: Dynamic,
3070 > tonic::server::UnaryService<super::DynOurCitySwitchReq>
3071 for DynOurCitySwitchSvc<T> {
3072 type Response = super::NoReply;
3073 type Future = BoxFuture<
3074 tonic::Response<Self::Response>,
3075 tonic::Status,
3076 >;
3077 fn call(
3078 &mut self,
3079 request: tonic::Request<super::DynOurCitySwitchReq>,
3080 ) -> Self::Future {
3081 let inner = Arc::clone(&self.0);
3082 let fut = async move {
3083 <T as Dynamic>::dyn_our_city_switch(&inner, request).await
3084 };
3085 Box::pin(fut)
3086 }
3087 }
3088 let accept_compression_encodings = self.accept_compression_encodings;
3089 let send_compression_encodings = self.send_compression_encodings;
3090 let max_decoding_message_size = self.max_decoding_message_size;
3091 let max_encoding_message_size = self.max_encoding_message_size;
3092 let inner = self.inner.clone();
3093 let fut = async move {
3094 let method = DynOurCitySwitchSvc(inner);
3095 let codec = tonic::codec::ProstCodec::default();
3096 let mut grpc = tonic::server::Grpc::new(codec)
3097 .apply_compression_config(
3098 accept_compression_encodings,
3099 send_compression_encodings,
3100 )
3101 .apply_max_message_size_config(
3102 max_decoding_message_size,
3103 max_encoding_message_size,
3104 );
3105 let res = grpc.unary(method, req).await;
3106 Ok(res)
3107 };
3108 Box::pin(fut)
3109 }
3110 "/bilibili.app.dynamic.v1.Dynamic/DynRed" => {
3111 #[allow(non_camel_case_types)]
3112 struct DynRedSvc<T: Dynamic>(pub Arc<T>);
3113 impl<T: Dynamic> tonic::server::UnaryService<super::DynRedReq>
3114 for DynRedSvc<T> {
3115 type Response = super::DynRedReply;
3116 type Future = BoxFuture<
3117 tonic::Response<Self::Response>,
3118 tonic::Status,
3119 >;
3120 fn call(
3121 &mut self,
3122 request: tonic::Request<super::DynRedReq>,
3123 ) -> Self::Future {
3124 let inner = Arc::clone(&self.0);
3125 let fut = async move {
3126 <T as Dynamic>::dyn_red(&inner, request).await
3127 };
3128 Box::pin(fut)
3129 }
3130 }
3131 let accept_compression_encodings = self.accept_compression_encodings;
3132 let send_compression_encodings = self.send_compression_encodings;
3133 let max_decoding_message_size = self.max_decoding_message_size;
3134 let max_encoding_message_size = self.max_encoding_message_size;
3135 let inner = self.inner.clone();
3136 let fut = async move {
3137 let method = DynRedSvc(inner);
3138 let codec = tonic::codec::ProstCodec::default();
3139 let mut grpc = tonic::server::Grpc::new(codec)
3140 .apply_compression_config(
3141 accept_compression_encodings,
3142 send_compression_encodings,
3143 )
3144 .apply_max_message_size_config(
3145 max_decoding_message_size,
3146 max_encoding_message_size,
3147 );
3148 let res = grpc.unary(method, req).await;
3149 Ok(res)
3150 };
3151 Box::pin(fut)
3152 }
3153 "/bilibili.app.dynamic.v1.Dynamic/DynTab" => {
3154 #[allow(non_camel_case_types)]
3155 struct DynTabSvc<T: Dynamic>(pub Arc<T>);
3156 impl<T: Dynamic> tonic::server::UnaryService<super::DynTabReq>
3157 for DynTabSvc<T> {
3158 type Response = super::DynTabReply;
3159 type Future = BoxFuture<
3160 tonic::Response<Self::Response>,
3161 tonic::Status,
3162 >;
3163 fn call(
3164 &mut self,
3165 request: tonic::Request<super::DynTabReq>,
3166 ) -> Self::Future {
3167 let inner = Arc::clone(&self.0);
3168 let fut = async move {
3169 <T as Dynamic>::dyn_tab(&inner, request).await
3170 };
3171 Box::pin(fut)
3172 }
3173 }
3174 let accept_compression_encodings = self.accept_compression_encodings;
3175 let send_compression_encodings = self.send_compression_encodings;
3176 let max_decoding_message_size = self.max_decoding_message_size;
3177 let max_encoding_message_size = self.max_encoding_message_size;
3178 let inner = self.inner.clone();
3179 let fut = async move {
3180 let method = DynTabSvc(inner);
3181 let codec = tonic::codec::ProstCodec::default();
3182 let mut grpc = tonic::server::Grpc::new(codec)
3183 .apply_compression_config(
3184 accept_compression_encodings,
3185 send_compression_encodings,
3186 )
3187 .apply_max_message_size_config(
3188 max_decoding_message_size,
3189 max_encoding_message_size,
3190 );
3191 let res = grpc.unary(method, req).await;
3192 Ok(res)
3193 };
3194 Box::pin(fut)
3195 }
3196 "/bilibili.app.dynamic.v1.Dynamic/DynUpdOffset" => {
3197 #[allow(non_camel_case_types)]
3198 struct DynUpdOffsetSvc<T: Dynamic>(pub Arc<T>);
3199 impl<T: Dynamic> tonic::server::UnaryService<super::DynUpdOffsetReq>
3200 for DynUpdOffsetSvc<T> {
3201 type Response = super::NoReply;
3202 type Future = BoxFuture<
3203 tonic::Response<Self::Response>,
3204 tonic::Status,
3205 >;
3206 fn call(
3207 &mut self,
3208 request: tonic::Request<super::DynUpdOffsetReq>,
3209 ) -> Self::Future {
3210 let inner = Arc::clone(&self.0);
3211 let fut = async move {
3212 <T as Dynamic>::dyn_upd_offset(&inner, request).await
3213 };
3214 Box::pin(fut)
3215 }
3216 }
3217 let accept_compression_encodings = self.accept_compression_encodings;
3218 let send_compression_encodings = self.send_compression_encodings;
3219 let max_decoding_message_size = self.max_decoding_message_size;
3220 let max_encoding_message_size = self.max_encoding_message_size;
3221 let inner = self.inner.clone();
3222 let fut = async move {
3223 let method = DynUpdOffsetSvc(inner);
3224 let codec = tonic::codec::ProstCodec::default();
3225 let mut grpc = tonic::server::Grpc::new(codec)
3226 .apply_compression_config(
3227 accept_compression_encodings,
3228 send_compression_encodings,
3229 )
3230 .apply_max_message_size_config(
3231 max_decoding_message_size,
3232 max_encoding_message_size,
3233 );
3234 let res = grpc.unary(method, req).await;
3235 Ok(res)
3236 };
3237 Box::pin(fut)
3238 }
3239 "/bilibili.app.dynamic.v1.Dynamic/DynVideo" => {
3240 #[allow(non_camel_case_types)]
3241 struct DynVideoSvc<T: Dynamic>(pub Arc<T>);
3242 impl<T: Dynamic> tonic::server::UnaryService<super::DynVideoReq>
3243 for DynVideoSvc<T> {
3244 type Response = super::DynVideoReqReply;
3245 type Future = BoxFuture<
3246 tonic::Response<Self::Response>,
3247 tonic::Status,
3248 >;
3249 fn call(
3250 &mut self,
3251 request: tonic::Request<super::DynVideoReq>,
3252 ) -> Self::Future {
3253 let inner = Arc::clone(&self.0);
3254 let fut = async move {
3255 <T as Dynamic>::dyn_video(&inner, request).await
3256 };
3257 Box::pin(fut)
3258 }
3259 }
3260 let accept_compression_encodings = self.accept_compression_encodings;
3261 let send_compression_encodings = self.send_compression_encodings;
3262 let max_decoding_message_size = self.max_decoding_message_size;
3263 let max_encoding_message_size = self.max_encoding_message_size;
3264 let inner = self.inner.clone();
3265 let fut = async move {
3266 let method = DynVideoSvc(inner);
3267 let codec = tonic::codec::ProstCodec::default();
3268 let mut grpc = tonic::server::Grpc::new(codec)
3269 .apply_compression_config(
3270 accept_compression_encodings,
3271 send_compression_encodings,
3272 )
3273 .apply_max_message_size_config(
3274 max_decoding_message_size,
3275 max_encoding_message_size,
3276 );
3277 let res = grpc.unary(method, req).await;
3278 Ok(res)
3279 };
3280 Box::pin(fut)
3281 }
3282 "/bilibili.app.dynamic.v1.Dynamic/DynVideoPersonal" => {
3283 #[allow(non_camel_case_types)]
3284 struct DynVideoPersonalSvc<T: Dynamic>(pub Arc<T>);
3285 impl<
3286 T: Dynamic,
3287 > tonic::server::UnaryService<super::DynVideoPersonalReq>
3288 for DynVideoPersonalSvc<T> {
3289 type Response = super::DynVideoPersonalReply;
3290 type Future = BoxFuture<
3291 tonic::Response<Self::Response>,
3292 tonic::Status,
3293 >;
3294 fn call(
3295 &mut self,
3296 request: tonic::Request<super::DynVideoPersonalReq>,
3297 ) -> Self::Future {
3298 let inner = Arc::clone(&self.0);
3299 let fut = async move {
3300 <T as Dynamic>::dyn_video_personal(&inner, request).await
3301 };
3302 Box::pin(fut)
3303 }
3304 }
3305 let accept_compression_encodings = self.accept_compression_encodings;
3306 let send_compression_encodings = self.send_compression_encodings;
3307 let max_decoding_message_size = self.max_decoding_message_size;
3308 let max_encoding_message_size = self.max_encoding_message_size;
3309 let inner = self.inner.clone();
3310 let fut = async move {
3311 let method = DynVideoPersonalSvc(inner);
3312 let codec = tonic::codec::ProstCodec::default();
3313 let mut grpc = tonic::server::Grpc::new(codec)
3314 .apply_compression_config(
3315 accept_compression_encodings,
3316 send_compression_encodings,
3317 )
3318 .apply_max_message_size_config(
3319 max_decoding_message_size,
3320 max_encoding_message_size,
3321 );
3322 let res = grpc.unary(method, req).await;
3323 Ok(res)
3324 };
3325 Box::pin(fut)
3326 }
3327 "/bilibili.app.dynamic.v1.Dynamic/GeoCoder" => {
3328 #[allow(non_camel_case_types)]
3329 struct GeoCoderSvc<T: Dynamic>(pub Arc<T>);
3330 impl<T: Dynamic> tonic::server::UnaryService<super::GeoCoderReq>
3331 for GeoCoderSvc<T> {
3332 type Response = super::GeoCoderReply;
3333 type Future = BoxFuture<
3334 tonic::Response<Self::Response>,
3335 tonic::Status,
3336 >;
3337 fn call(
3338 &mut self,
3339 request: tonic::Request<super::GeoCoderReq>,
3340 ) -> Self::Future {
3341 let inner = Arc::clone(&self.0);
3342 let fut = async move {
3343 <T as Dynamic>::geo_coder(&inner, request).await
3344 };
3345 Box::pin(fut)
3346 }
3347 }
3348 let accept_compression_encodings = self.accept_compression_encodings;
3349 let send_compression_encodings = self.send_compression_encodings;
3350 let max_decoding_message_size = self.max_decoding_message_size;
3351 let max_encoding_message_size = self.max_encoding_message_size;
3352 let inner = self.inner.clone();
3353 let fut = async move {
3354 let method = GeoCoderSvc(inner);
3355 let codec = tonic::codec::ProstCodec::default();
3356 let mut grpc = tonic::server::Grpc::new(codec)
3357 .apply_compression_config(
3358 accept_compression_encodings,
3359 send_compression_encodings,
3360 )
3361 .apply_max_message_size_config(
3362 max_decoding_message_size,
3363 max_encoding_message_size,
3364 );
3365 let res = grpc.unary(method, req).await;
3366 Ok(res)
3367 };
3368 Box::pin(fut)
3369 }
3370 "/bilibili.app.dynamic.v1.Dynamic/OurCityClickReport" => {
3371 #[allow(non_camel_case_types)]
3372 struct OurCityClickReportSvc<T: Dynamic>(pub Arc<T>);
3373 impl<
3374 T: Dynamic,
3375 > tonic::server::UnaryService<super::OurCityClickReportReq>
3376 for OurCityClickReportSvc<T> {
3377 type Response = super::OurCityClickReportReply;
3378 type Future = BoxFuture<
3379 tonic::Response<Self::Response>,
3380 tonic::Status,
3381 >;
3382 fn call(
3383 &mut self,
3384 request: tonic::Request<super::OurCityClickReportReq>,
3385 ) -> Self::Future {
3386 let inner = Arc::clone(&self.0);
3387 let fut = async move {
3388 <T as Dynamic>::our_city_click_report(&inner, request).await
3389 };
3390 Box::pin(fut)
3391 }
3392 }
3393 let accept_compression_encodings = self.accept_compression_encodings;
3394 let send_compression_encodings = self.send_compression_encodings;
3395 let max_decoding_message_size = self.max_decoding_message_size;
3396 let max_encoding_message_size = self.max_encoding_message_size;
3397 let inner = self.inner.clone();
3398 let fut = async move {
3399 let method = OurCityClickReportSvc(inner);
3400 let codec = tonic::codec::ProstCodec::default();
3401 let mut grpc = tonic::server::Grpc::new(codec)
3402 .apply_compression_config(
3403 accept_compression_encodings,
3404 send_compression_encodings,
3405 )
3406 .apply_max_message_size_config(
3407 max_decoding_message_size,
3408 max_encoding_message_size,
3409 );
3410 let res = grpc.unary(method, req).await;
3411 Ok(res)
3412 };
3413 Box::pin(fut)
3414 }
3415 "/bilibili.app.dynamic.v1.Dynamic/SVideo" => {
3416 #[allow(non_camel_case_types)]
3417 struct SVideoSvc<T: Dynamic>(pub Arc<T>);
3418 impl<T: Dynamic> tonic::server::UnaryService<super::SVideoReq>
3419 for SVideoSvc<T> {
3420 type Response = super::SVideoReply;
3421 type Future = BoxFuture<
3422 tonic::Response<Self::Response>,
3423 tonic::Status,
3424 >;
3425 fn call(
3426 &mut self,
3427 request: tonic::Request<super::SVideoReq>,
3428 ) -> Self::Future {
3429 let inner = Arc::clone(&self.0);
3430 let fut = async move {
3431 <T as Dynamic>::s_video(&inner, request).await
3432 };
3433 Box::pin(fut)
3434 }
3435 }
3436 let accept_compression_encodings = self.accept_compression_encodings;
3437 let send_compression_encodings = self.send_compression_encodings;
3438 let max_decoding_message_size = self.max_decoding_message_size;
3439 let max_encoding_message_size = self.max_encoding_message_size;
3440 let inner = self.inner.clone();
3441 let fut = async move {
3442 let method = SVideoSvc(inner);
3443 let codec = tonic::codec::ProstCodec::default();
3444 let mut grpc = tonic::server::Grpc::new(codec)
3445 .apply_compression_config(
3446 accept_compression_encodings,
3447 send_compression_encodings,
3448 )
3449 .apply_max_message_size_config(
3450 max_decoding_message_size,
3451 max_encoding_message_size,
3452 );
3453 let res = grpc.unary(method, req).await;
3454 Ok(res)
3455 };
3456 Box::pin(fut)
3457 }
3458 _ => {
3459 Box::pin(async move {
3460 let mut response = http::Response::new(empty_body());
3461 let headers = response.headers_mut();
3462 headers
3463 .insert(
3464 tonic::Status::GRPC_STATUS,
3465 (tonic::Code::Unimplemented as i32).into(),
3466 );
3467 headers
3468 .insert(
3469 http::header::CONTENT_TYPE,
3470 tonic::metadata::GRPC_CONTENT_TYPE,
3471 );
3472 Ok(response)
3473 })
3474 }
3475 }
3476 }
3477 }
3478 impl<T> Clone for DynamicServer<T> {
3479 fn clone(&self) -> Self {
3480 let inner = self.inner.clone();
3481 Self {
3482 inner,
3483 accept_compression_encodings: self.accept_compression_encodings,
3484 send_compression_encodings: self.send_compression_encodings,
3485 max_decoding_message_size: self.max_decoding_message_size,
3486 max_encoding_message_size: self.max_encoding_message_size,
3487 }
3488 }
3489 }
3490 pub const SERVICE_NAME: &str = "bilibili.app.dynamic.v1.Dynamic";
3492 impl<T> tonic::server::NamedService for DynamicServer<T> {
3493 const NAME: &'static str = SERVICE_NAME;
3494 }
3495}