#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AiExtra {
#[prost(string, tag = "1")]
pub track_id: ::prost::alloc::string::String,
}
impl ::prost::Name for AiExtra {
const NAME: &'static str = "AiExtra";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.AiExtra".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.AiExtra".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dislike {
#[prost(string, tag = "1")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub subtitle: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub reasons: ::prost::alloc::vec::Vec<DislikeReason>,
}
impl ::prost::Name for Dislike {
const NAME: &'static str = "Dislike";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.Dislike".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.Dislike".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DislikeReason {
#[prost(int64, tag = "1")]
pub id: i64,
#[prost(int64, tag = "2")]
pub mid: i64,
#[prost(int32, tag = "3")]
pub rid: i32,
#[prost(int64, tag = "4")]
pub tag_id: i64,
#[prost(string, tag = "5")]
pub name: ::prost::alloc::string::String,
}
impl ::prost::Name for DislikeReason {
const NAME: &'static str = "DislikeReason";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.DislikeReason".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.DislikeReason".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElecRank {
#[prost(message, repeated, tag = "1")]
pub list: ::prost::alloc::vec::Vec<ElecRankItem>,
#[prost(int64, tag = "2")]
pub count: i64,
#[prost(string, tag = "3")]
pub text: ::prost::alloc::string::String,
}
impl ::prost::Name for ElecRank {
const NAME: &'static str = "ElecRank";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.ElecRank".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.ElecRank".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElecRankItem {
#[prost(string, tag = "1")]
pub avatar: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub nickname: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub message: ::prost::alloc::string::String,
#[prost(int64, tag = "4")]
pub mid: i64,
}
impl ::prost::Name for ElecRankItem {
const NAME: &'static str = "ElecRankItem";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.ElecRankItem".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.ElecRankItem".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Experiment {
#[prost(message, optional, tag = "1")]
pub share_guide: ::core::option::Option<ShareGuide>,
#[prost(message, optional, tag = "2")]
pub follow_guide: ::core::option::Option<FollowGuide>,
#[prost(bool, tag = "3")]
pub tag_fold: bool,
}
impl ::prost::Name for Experiment {
const NAME: &'static str = "Experiment";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.Experiment".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.Experiment".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FollowGuide {
#[prost(bool, tag = "1")]
pub is_view: bool,
#[prost(string, tag = "2")]
pub view_text: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub is_thumb: bool,
#[prost(string, tag = "4")]
pub thumb_text: ::prost::alloc::string::String,
}
impl ::prost::Name for FollowGuide {
const NAME: &'static str = "FollowGuide";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.FollowGuide".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.FollowGuide".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Premiere {
#[prost(enumeration = "PremiereState", tag = "1")]
pub premiere_state: i32,
#[prost(int64, tag = "2")]
pub start_time: i64,
#[prost(int64, tag = "3")]
pub service_time: i64,
#[prost(int64, tag = "4")]
pub room_id: i64,
}
impl ::prost::Name for Premiere {
const NAME: &'static str = "Premiere";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.Premiere".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.Premiere".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PremiereReserve {
#[prost(int64, tag = "1")]
pub reserve_id: i64,
#[prost(int64, tag = "2")]
pub count: i64,
#[prost(bool, tag = "3")]
pub is_follow: bool,
}
impl ::prost::Name for PremiereReserve {
const NAME: &'static str = "PremiereReserve";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.PremiereReserve".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.PremiereReserve".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PremiereResource {
#[prost(message, optional, tag = "1")]
pub premiere: ::core::option::Option<Premiere>,
#[prost(message, optional, tag = "2")]
pub reserve: ::core::option::Option<PremiereReserve>,
#[prost(message, optional, tag = "3")]
pub text: ::core::option::Option<PremiereText>,
}
impl ::prost::Name for PremiereResource {
const NAME: &'static str = "PremiereResource";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.PremiereResource".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.PremiereResource".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PremiereText {
#[prost(string, tag = "1")]
pub title: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub subtitle: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub online_text: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub online_icon: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub online_icon_dark: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub intro_title: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub intro_icon: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub guidance_pulldown: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub guidance_entry: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub intro_icon_night: ::prost::alloc::string::String,
}
impl ::prost::Name for PremiereText {
const NAME: &'static str = "PremiereText";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.PremiereText".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.PremiereText".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShareGuide {
#[prost(bool, tag = "1")]
pub hit_a: bool,
#[prost(int32, tag = "2")]
pub duration: i32,
#[prost(int32, tag = "3")]
pub count_a: i32,
#[prost(bool, tag = "4")]
pub hit_b: bool,
#[prost(int32, tag = "5")]
pub count_b: i32,
#[prost(string, tag = "6")]
pub text: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub emphasized_text: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "8")]
pub active_exps: ::prost::alloc::vec::Vec<ShareGuideExpConfig>,
}
impl ::prost::Name for ShareGuide {
const NAME: &'static str = "ShareGuide";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.ShareGuide".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.ShareGuide".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShareGuideExpConfig {
#[prost(enumeration = "share_guide_exp_config::ExpType", tag = "1")]
pub exp_type: i32,
#[prost(string, tag = "2")]
pub text: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub strategies: ::prost::alloc::vec::Vec<ShareGuideStrategy>,
#[prost(int32, tag = "4")]
pub daily_total_limit: i32,
#[prost(map = "string, string", tag = "5")]
pub extra_params: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
pub mod share_guide_exp_config {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum ExpType {
Unknown = 0,
ShareFirstReward = 1,
ShareOnlineViewers = 2,
}
impl ExpType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "UNKNOWN",
Self::ShareFirstReward => "SHARE_FIRST_REWARD",
Self::ShareOnlineViewers => "SHARE_ONLINE_VIEWERS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNKNOWN" => Some(Self::Unknown),
"SHARE_FIRST_REWARD" => Some(Self::ShareFirstReward),
"SHARE_ONLINE_VIEWERS" => Some(Self::ShareOnlineViewers),
_ => None,
}
}
}
}
impl ::prost::Name for ShareGuideExpConfig {
const NAME: &'static str = "ShareGuideExpConfig";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.ShareGuideExpConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.ShareGuideExpConfig".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ShareGuideStrategy {
#[prost(int32, tag = "1")]
pub delay_seconds: i32,
#[prost(float, tag = "2")]
pub play_progress_threshold: f32,
#[prost(int32, tag = "3")]
pub play_time_threshold: i32,
#[prost(int32, tag = "4")]
pub online_viewer_threshold: i32,
}
impl ::prost::Name for ShareGuideStrategy {
const NAME: &'static str = "ShareGuideStrategy";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.ShareGuideStrategy".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.ShareGuideStrategy".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UgcSeasonConf {
#[prost(bool, tag = "1")]
pub season_unfold: bool,
#[prost(int64, tag = "2")]
pub fold_time: i64,
}
impl ::prost::Name for UgcSeasonConf {
const NAME: &'static str = "UgcSeasonConf";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.UgcSeasonConf".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.UgcSeasonConf".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ViewUgcAny {
#[prost(message, optional, tag = "1")]
pub premiere: ::core::option::Option<PremiereResource>,
#[prost(message, optional, tag = "2")]
pub dislike: ::core::option::Option<Dislike>,
#[prost(string, tag = "3")]
pub short_link: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub share_subtitle: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "5")]
pub pages: ::prost::alloc::vec::Vec<super::common::Page>,
#[prost(message, optional, tag = "6")]
pub elec_rank: ::core::option::Option<ElecRank>,
#[prost(message, optional, tag = "7")]
pub ugc_season_conf: ::core::option::Option<UgcSeasonConf>,
#[prost(message, optional, tag = "8")]
pub ai_extra: ::core::option::Option<AiExtra>,
#[prost(message, optional, tag = "9")]
pub experiment: ::core::option::Option<Experiment>,
}
impl ::prost::Name for ViewUgcAny {
const NAME: &'static str = "ViewUgcAny";
const PACKAGE: &'static str = "bilibili.app.viewunite.ugcanymodel";
fn full_name() -> ::prost::alloc::string::String {
"bilibili.app.viewunite.ugcanymodel.ViewUgcAny".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/bilibili.app.viewunite.ugcanymodel.ViewUgcAny".into()
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PremiereState {
PremiereNone = 0,
PremiereBefore = 1,
PremiereIn = 2,
PremiereAfter = 3,
}
impl PremiereState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::PremiereNone => "premiere_none",
Self::PremiereBefore => "premiere_before",
Self::PremiereIn => "premiere_in",
Self::PremiereAfter => "premiere_after",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"premiere_none" => Some(Self::PremiereNone),
"premiere_before" => Some(Self::PremiereBefore),
"premiere_in" => Some(Self::PremiereIn),
"premiere_after" => Some(Self::PremiereAfter),
_ => None,
}
}
}