private async void InitDetail(UserResponse detail) { var acc = detail.card; _user = acc; UserAvatar.ProfilePicture = new BitmapImage(new Uri(acc.face + "@50w.jpg")); PendantImage.Visibility = Visibility.Collapsed; if (acc.pendant != null) { PendantImage.Visibility = Visibility.Visible; PendantImage.Source = acc.pendant.image; } FanBlock.Text = AppTool.GetNumberAbbreviation(acc.fans); FollowBlock.Text = AppTool.GetNumberAbbreviation(acc.attention); LikeBlock.Text = AppTool.GetNumberAbbreviation(acc.likes.like_num); CheckFollowButtonStatus(); UserNameBlock.Text = acc.name; SignBlock.Text = acc.sign; LevelImage.Source = new BitmapImage(new Uri($"ms-appx:///Assets/Level/level_{acc.level_info.current_level}.png")); if (detail.archive.count > 0) { _videoCount = detail.archive.count; var videos = detail.archive.item; videos.ForEach(p => VideoCollection.Add(p)); } else { await LoadMoreVideo(); } }
private async Task LoadFans(bool isIncrease = false) { if (_isRequesting || (_isInit && _total == FansCollection.Count)) { return; } if (isIncrease) { _page += 1; } _isRequesting = true; var data = await _accountService.GetMyFansAsync(_page, _reversion); if (data != null) { _reversion = data.re_version; _total = data.total; TotalBlock.Text = $"共 {AppTool.GetNumberAbbreviation(_total)} 个粉丝"; if (data.list != null && data.list.Count > 0) { data.list.ForEach(p => FansCollection.Add(p)); } } _isRequesting = false; HolderText.Visibility = FansCollection.Count == 0 ? Visibility.Visible : Visibility.Collapsed; }
private static void Data_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (e.NewValue != null && e.NewValue is Reply data) { var instance = d as ReplyMainBlock; instance.UserAvatar.Source = new BitmapImage(new Uri(data.member.avatar + "@50w.jpg")); instance.UserNameBlock.Text = data.member.uname; instance.LevelImage.Source = new BitmapImage(new Uri($"ms-appx:///Assets/Level/level_{data.member.level_info.current_level}.png")); instance.TimeBlock.Text = AppTool.GetReadDateString(data.ctime); instance.ContentBlock.EmoteSource = data.content.emote; instance.ContentBlock.Text = data.content.message; instance.LikeBlock.Text = AppTool.GetNumberAbbreviation(data.like); instance.LikeIcon.Foreground = data.action == 1 ? UIHelper.GetThemeBrush(Models.Enums.ColorType.PrimaryColor) : UIHelper.GetThemeBrush(Models.Enums.ColorType.TipTextColor); if (data.rcount > 0 && instance.SubReplyVisibility == Visibility.Visible) { instance.SubReplyContainer.Visibility = Visibility.Visible; instance.SubReplyItemsControl.ItemsSource = data.replies; instance.TotalReplyCount.Text = $"共{AppTool.GetNumberAbbreviation(data.rcount)}条回复"; instance.MoreReplyButton.Visibility = data.rcount > 3 ? Visibility.Visible : Visibility.Collapsed; } else { instance.SubReplyContainer.Visibility = Visibility.Collapsed; } } }
private void ViewModel_MyInfoChanged(object sender, BiliBili_Core.Models.BiliBili.Me me) { if (me != null) { CheckElementStatus(); UserAvatar.ProfilePicture = new BitmapImage(new Uri(me.face)) { DecodePixelWidth = 55 }; UserAvatarNarrrow.ProfilePicture = new BitmapImage(new Uri(me.face)) { DecodePixelWidth = 55 }; if (me.pendant != null && !string.IsNullOrEmpty(me.pendant.image)) { PendantImage.Visibility = Visibility.Visible; PendantImage.Source = new BitmapImage(new Uri(me.pendant.image)); UserNameBlock.Margin = new Thickness(0); } else { PendantImage.Visibility = Visibility.Collapsed; UserNameBlock.Margin = new Thickness(0, 20, 0, 0); } UserNameBlock.Text = me.name; LevelBlock.Level = me.level; DynamicBlock.Text = AppTool.GetNumberAbbreviation(me.dynamic); FollowBlock.Text = AppTool.GetNumberAbbreviation(me.following); FanBlock.Text = AppTool.GetNumberAbbreviation(me.follower); } }
private void MyInfoInit(bool isSlimRefresh = false) { var me = App.BiliViewModel._client.Account.Me; if (me != null) { if (!isSlimRefresh) { UserAvatar.ProfilePicture = new BitmapImage(new Uri(me.face)) { DecodePixelWidth = 55 }; UserAvatarNarrrow.ProfilePicture = new BitmapImage(new Uri(me.face)) { DecodePixelWidth = 55 }; if (me.pendant != null && !string.IsNullOrEmpty(me.pendant.image)) { PendantImage.Visibility = Visibility.Visible; PendantImage.Source = new BitmapImage(new Uri(me.pendant.image)); UserNameBlock.Margin = new Thickness(0); } else { PendantImage.Visibility = Visibility.Collapsed; UserNameBlock.Margin = new Thickness(0, 20, 0, 0); } } UserNameBlock.Text = me.name; LevelBlock.Level = me.level; DynamicBlock.Text = AppTool.GetNumberAbbreviation(me.dynamic); FollowBlock.Text = AppTool.GetNumberAbbreviation(me.following); FanBlock.Text = AppTool.GetNumberAbbreviation(me.follower); } }
private async void UpdateVideoInfo() { var data = await _videoService.GetVideoSlimAsync(_detail.aid); LikeButton.Text = AppTool.GetNumberAbbreviation(data.like); CoinButton.Text = AppTool.GetNumberAbbreviation(data.coin); FavoriteButton.Text = AppTool.GetNumberAbbreviation(data.favorite); }
private async void LikeButton_Click(object sender, RoutedEventArgs e) { if (App.BiliViewModel.CheckAccoutStatus()) { bool isLike = Data.desc.is_liked == 1; bool result = await App.BiliViewModel._client.Topic.SetDynamicLikeStatus(!isLike, Data.desc.dynamic_id, Data.desc.rid, App.BiliViewModel._client.Account.Me.mid.ToString()); if (result) { Data.desc.is_liked = isLike ? 0 : 1; Data.desc.like = isLike ? Data.desc.like - 1 : Data.desc.like + 1; LikeBlock.Text = AppTool.GetNumberAbbreviation(Data.desc.like); LikeIcon.Foreground = Data.desc.is_liked == 1 ? UIHelper.GetThemeBrush(ColorType.PrimaryColor) : UIHelper.GetThemeBrush(ColorType.TipTextColor); } else { new TipPopup("点赞失败").ShowError(); } } }
private void HeaderInit(Topic data) { if (data.desc.user_profile != null) { HeaderContainer.Visibility = Visibility.Visible; UserAvatar.ProfilePicture = new BitmapImage(new Uri(data.desc.user_profile.info.face)) { DecodePixelWidth = 40 }; UserNameBlock.Text = data.desc.user_profile.info.uname; string tip = AppTool.GetReadDateString(data.desc.timestamp); if (data.display != null && !string.IsNullOrEmpty(data.display.usr_action_txt)) { tip += " · " + data.display.usr_action_txt; } if (data.desc.view != 0) { tip += " · " + AppTool.GetNumberAbbreviation(data.desc.view) + "次查看"; } TipBlock.Text = tip; } else { HeaderContainer.Visibility = Visibility.Collapsed; } var me = App.BiliViewModel._client.Account.Me; if (data.desc.type == 512 || data.desc.type == 4101 || data.display == null) { FollowButton.Visibility = Visibility.Collapsed; } else if ((me != null && me.mid == data.desc.uid) || data.display.relation.is_follow == 1) { FollowButton.Visibility = Visibility.Collapsed; } else { FollowButton.Visibility = Visibility.Visible; } }
public async Task Refresh() { ResetPage(); var detail = await App.BiliViewModel._client.Channel.GetTagDetail(_tagId); _detail = detail; if (_detail != null) { TitleBlock.Text = detail.name; SubscribeButton.Text = detail.is_atten == 1 ? "取消订阅" : "订阅"; InfoBlock.Text = $"{AppTool.GetNumberAbbreviation(detail.atten)}人订阅"; if (Convert.ToBoolean(VideoButton.IsChecked)) { await RefreshVideo(); } else { await RefreshTopic(); } HolderContainer.Visibility = Visibility.Collapsed; } }
private async void LikeButton_Click(object sender, RoutedEventArgs e) { bool isLike = !(Data.action == 1); bool result = await App.BiliViewModel._client.LikeReplyAsync(isLike, Data.oid.ToString(), Data.rpid.ToString(), Data.type.ToString()); if (result) { Data.action = Data.action == 0 ? 1 : 0; LikeIcon.Foreground = Data.action == 1 ? UIHelper.GetThemeBrush(Models.Enums.ColorType.PrimaryColor) : UIHelper.GetThemeBrush(Models.Enums.ColorType.TipTextColor); if (isLike) { Data.like += 1; } else { Data.like -= 1; } LikeBlock.Text = AppTool.GetNumberAbbreviation(Data.like); } else { new TipPopup("操作失败").ShowError(); } }
public async Task <bool> Init(BangumiDetail detail, int partId) { Reset(); App.AppViewModel.CurrentPlayerType = Models.Enums.PlayerType.Bangumi; App.AppViewModel.CurrentVideoPlayer = VideoPlayer; _detail = detail; TitleBlock.Text = _detail.title; PlayCountBlock.Text = _detail.stat.play; TabletMainPage.Current.SetBackgroundImage(_detail.square_cover ?? _detail.cover); DanmakuCountBlock.Text = AppTool.GetNumberAbbreviation(_detail.stat.danmakus); RepostButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.share); CommentButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.reply); DescriptionBlock.Text = _detail.evaluate; ToolTipService.SetToolTip(DescriptionBlock, _detail.evaluate); if (_detail.rating != null) { ScoreBlock.Text = _detail.rating.score.ToString(); ScoreCountBlock.Text = AppTool.GetNumberAbbreviation(_detail.rating.count) + "人"; } else { RatingContainer.Visibility = Visibility.Collapsed; } BasicInfoBlock.Text = $"{_detail.type_desc}\n{_detail.publish.release_date_show}\n{_detail.publish.time_length_show}"; CoinButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.coins); if (_detail.episodes != null && _detail.episodes.Count > 0) { PartGridView.Visibility = Visibility.Visible; _detail.episodes.ForEach(p => BangumiPartCollection.Add(p)); } else { PartGridView.Visibility = Visibility.Collapsed; } if (isEp) { for (int i = 0; i < _detail.episodes.Count; i++) { var part = _detail.episodes[i]; if (part.id == bangumiId) { _currentPart = part; PartGridView.SelectedIndex = i; PartGridView.ScrollIntoView(part, ScrollIntoViewAlignment.Leading); break; } } bangumiId = _detail.season_id; } else if (_detail.user_status.progress != null) { _currentPart = _detail.episodes.Where(p => p.id == _detail.user_status.progress.last_ep_id).FirstOrDefault(); if (_currentPart != null) { int lastIndex = _detail.episodes.IndexOf(_currentPart); PartGridView.SelectedIndex = lastIndex - 1 < -1 ? -1 : lastIndex; PartGridView.ScrollIntoView(_currentPart, ScrollIntoViewAlignment.Leading); } } if (_currentPart == null && _detail.episodes.Count > 0) { _currentPart = _detail.episodes.First(); PartGridView.SelectedIndex = 0; } if (_detail.styles != null && _detail.styles.Count > 0) { TagGridView.Visibility = Visibility.Visible; _detail.styles.ForEach(p => TagCollection.Add(p)); } else { TagGridView.Visibility = Visibility.Collapsed; } CheckFollowButton(); if (_detail.limit != null) { await new ConfirmDialog(_detail.limit.content).ShowAsync(); return(false); } await VideoPlayer.Init(_detail, _currentPart); return(true); }
private bool InitDetail() { if (!string.IsNullOrEmpty(_detail.redirect_url)) { var result = BiliTool.GetResultFromUri(_detail.redirect_url); videoId = 0; _currentPartId = 0; App.AppViewModel.CurrentPagePanel.RemoveMainHistory(Models.Enums.AppMenuItemType.VideoPlayer); if (result.Type == UriType.Bangumi) { new TipPopup("正在转到专题...").ShowMessage(); App.AppViewModel.PlayBangumi(Convert.ToInt32(result.Param), null, true); } return(false); } if (_isPlayList) { VideoPlayer.IsAutoReturnWhenEnd = false; } else { VideoPlayer.IsAutoReturnWhenEnd = _detail.pages.Count <= 1; } TitleBlock.Text = _detail.title; ToolTipService.SetToolTip(TitleBlock, _detail.title); videoId = _detail.aid; bvId = _detail.bvid; PlayCountBlock.Text = AppTool.GetNumberAbbreviation(_detail.stat.view); DanmukuCountBlock.Text = AppTool.GetNumberAbbreviation(_detail.stat.danmaku); RepostButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.share); CommentButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.reply); BVBlock.Text = _detail.bvid; AVBlock.Text = _detail.aid.ToString(); DescriptionBlock.Text = _detail.desc; LikeButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.like); CoinButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.coin); FavoriteButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.favorite); DateBlock.Text = AppTool.GetReadDateString(_detail.pubdate); UPAvatar.ProfilePicture = string.IsNullOrEmpty(_detail.owner.face) ? null : new BitmapImage(new Uri(_detail.owner.face + "@50w.jpg")) { DecodePixelWidth = 40 }; UPNameBlock.Text = _detail.owner.name; _detail.pages.ForEach(p => VideoPartCollection.Add(p)); PartListView.SelectedIndex = PartGridView.SelectedIndex = 0; PartContainer.Visibility = _detail.pages.Count > 1 ? Visibility.Visible : Visibility.Collapsed; if (_detail.tag != null && _detail.tag.Count > 0) { TagListView.Visibility = Visibility.Visible; _detail.tag.ForEach(p => TagCollection.Add(p)); } else { TagListView.Visibility = Visibility.Collapsed; } if (_detail.staff != null && _detail.staff.Count > 0) { _detail.staff.ForEach(p => StaffCollection.Add(p)); SingleUserContainer.Visibility = Visibility.Collapsed; StaffContainer.Visibility = Visibility.Visible; } else { StaffContainer.Visibility = Visibility.Collapsed; SingleUserContainer.Visibility = Visibility.Visible; } if (_detail.req_user != null) { LikeButton.IsCheck = _detail.req_user.like != 0; CoinButton.IsCheck = _detail.req_user.coin != 0; FavoriteButton.IsCheck = _detail.req_user.favorite != 0; FollowButton.Style = _detail.req_user.attention == 1 ? UIHelper.GetStyle("DefaultAsyncButtonStyle") : UIHelper.GetStyle("PrimaryAsyncButtonStyle"); FollowButton.Text = _detail.req_user.attention == 1 ? "已关注" : "关注"; } if (_detail.relates != null && _detail.relates.Count > 0) { _detail.relates.Where(p => p.@goto == "av").Take(10).ToList().ForEach(p => RelatedCollection.Add(p)); } CheckLikeHoldState(); return(true); }
private async Task <bool> InitDetail() { TitleBlock.Text = _detail.title; PlayCountBlock.Text = _detail.stat.play; DanmukuCountBlock.Text = AppTool.GetNumberAbbreviation(_detail.stat.danmakus); RepostButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.share); CommentButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.reply); DescriptionBlock.Text = _detail.evaluate; ToolTipService.SetToolTip(DescriptionBlock, _detail.evaluate); if (_detail.rating != null) { ScoreBlock.Text = _detail.rating.score.ToString(); ScoreCountBlock.Text = AppTool.GetNumberAbbreviation(_detail.rating.count) + "人"; } else { RatingContainer.Visibility = Visibility.Collapsed; } BasicInfoBlock.Text = $"{_detail.type_desc}\n{_detail.publish.release_date_show}\n{_detail.publish.time_length_show}"; CoinButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.coins); CoverImage.Source = new BitmapImage(new Uri(_detail.cover + "@200w.jpg")); Section1Title.Text = _detail.actor.title; Section1Content.Text = _detail.actor.info; if (string.IsNullOrEmpty(_detail.actor.info)) { Section1Container.Visibility = Visibility.Collapsed; } Section2Title.Text = _detail.staff.title; Section2Content.Text = _detail.staff.info; if (string.IsNullOrEmpty(_detail.staff.info)) { Section2Container.Visibility = Visibility.Collapsed; } _detail.episodes.ForEach(p => BangumiPartCollection.Add(p)); if (isEp) { for (int i = 0; i < _detail.episodes.Count; i++) { var part = _detail.episodes[i]; if (part.id == bangumiId) { _currentPart = part; PartListView.SelectedIndex = PartGridView.SelectedIndex = i; PartListView.ScrollIntoView(part, ScrollIntoViewAlignment.Leading); PartGridView.ScrollIntoView(part, ScrollIntoViewAlignment.Leading); break; } } bangumiId = _detail.season_id; } else if (_detail.user_status.progress != null) { _currentPart = _detail.episodes.Where(p => p.id == _detail.user_status.progress.last_ep_id).FirstOrDefault(); if (_currentPart != null) { int lastIndex = _detail.episodes.IndexOf(_currentPart); PartListView.SelectedIndex = PartGridView.SelectedIndex = lastIndex - 1 < -1 ? -1 : lastIndex; PartListView.ScrollIntoView(_currentPart, ScrollIntoViewAlignment.Leading); PartGridView.ScrollIntoView(_currentPart, ScrollIntoViewAlignment.Leading); } } if (_currentPart == null && _detail.episodes.Count > 0) { _currentPart = _detail.episodes.First(); PartListView.SelectedIndex = PartGridView.SelectedIndex = 0; } if (_detail.styles != null && _detail.styles.Count > 0) { TagListView.Visibility = Visibility.Visible; _detail.styles.ForEach(p => TagCollection.Add(p)); } else { TagListView.Visibility = Visibility.Collapsed; } CheckFollowButton(); if (_detail.limit != null) { await new ConfirmDialog(_detail.limit.content).ShowAsync(); return(false); } return(true); }
public object Convert(object value, Type targetType, object parameter, string language) { var num = System.Convert.ToInt32(value); return(AppTool.GetNumberAbbreviation(num)); }
private void BodyInit(Topic data) { MainDisplay.Visibility = Visibility.Visible; MoreButton.Visibility = Visibility.Collapsed; if (data.display != null && data.display.emoji_info != null && data.display.emoji_info.emoji_details.Count > 0) { var dict = new Dictionary <string, Emote>(); foreach (var item in data.display.emoji_info.emoji_details) { dict.Add(item.text, item); } DescriptionBlock.EmoteSource = dict; } if (data.desc.type == 8) { //视频 var info = JsonConvert.DeserializeObject <VideoDynamic>(data.card); info.dynamic = Uri.UnescapeDataString(info.dynamic); if (!string.IsNullOrEmpty(info.dynamic)) { DescriptionBlock.Text = Regex.Replace(info.dynamic, @"#(.*?)#", "").Trim(); } DescriptionBlock.Visibility = string.IsNullOrEmpty(DescriptionBlock.Text) ? Visibility.Collapsed : Visibility.Visible; CommentBlock.Text = AppTool.GetNumberAbbreviation(info.stat.reply); MoreButton.Visibility = Visibility.Visible; MainDisplay.Data = info; } else if (data.desc.type == 1) { //转发 var info = JsonConvert.DeserializeObject <RepostDynamic>(data.card); DescriptionBlock.Visibility = Visibility.Collapsed; CommentBlock.Text = AppTool.GetNumberAbbreviation(info.item.reply); MainDisplay.Data = info; } else if (data.desc.type == 2) { //图片 var temp = JObject.Parse(data.card); var info = JsonConvert.DeserializeObject <ImageDynamic>(temp["item"].ToString()); info.description = Uri.UnescapeDataString(info.description); DescriptionBlock.Text = Regex.Replace(info.description, @"#(.*?)#", "").Trim(); CommentBlock.Text = AppTool.GetNumberAbbreviation(info.reply); MainDisplay.Data = info; } else if (data.desc.type == 4) { //纯文本 var temp = JObject.Parse(data.card); var info = JsonConvert.DeserializeObject <TextDynamic>(temp["item"].ToString()); if (!string.IsNullOrEmpty(info.content)) { DescriptionBlock.Text = Regex.Replace(info.content, @"#(.*?)#", "").Trim(); } CommentBlock.Text = AppTool.GetNumberAbbreviation(info.reply); MainDisplay.Visibility = Visibility.Collapsed; } else if (data.desc.type == 64) { //专栏 var info = JsonConvert.DeserializeObject <DocumentDynamic>(data.card); if (!string.IsNullOrEmpty(info.dynamic)) { DescriptionBlock.Text = Regex.Replace(info.dynamic, @"#(.*?)#", "").Trim(); } CommentBlock.Text = AppTool.GetNumberAbbreviation(info.stats.reply); MainDisplay.Data = info; } else if (data.desc.type == 512 || data.desc.type == 4101) { //动漫 var info = JsonConvert.DeserializeObject <AnimeDynamic>(data.card); HeaderContainer.Visibility = Visibility.Visible; UserAvatar.ProfilePicture = new BitmapImage(new Uri(info.season.square_cover)) { DecodePixelWidth = 40 }; UserNameBlock.Text = info.season.title; string tip = AppTool.GetReadDateString(data.desc.timestamp); tip += " · " + "更新了"; TipBlock.Text = tip; DescriptionBlock.Visibility = Visibility.Collapsed; FollowButton.Visibility = Visibility.Collapsed; CommentBlock.Text = AppTool.GetNumberAbbreviation(info.stat.reply); MainDisplay.Data = info; } else if (data.desc.type == 16) { //小视频 var info = JsonConvert.DeserializeObject <ShortVideoDynamic>(data.card); if (!string.IsNullOrEmpty(info.item.description)) { DescriptionBlock.Text = Regex.Replace(info.item.description, @"#(.*?)#", "").Trim(); } CommentBlock.Text = AppTool.GetNumberAbbreviation(info.item.reply); MainDisplay.Data = info; } else if (data.desc.type == 2048) { //网页 var info = JsonConvert.DeserializeObject <WebDynamic>(data.card); if (!string.IsNullOrEmpty(info.vest.content)) { DescriptionBlock.Text = Regex.Replace(info.vest.content, @"#(.*?)#", "").Trim(); } CommentBlock.Text = AppTool.GetNumberAbbreviation(data.desc.comment); MainDisplay.Data = info; } else if (data.desc.type == 4303) { //视频单 var info = JsonConvert.DeserializeObject <CourseDynamic>(data.card); if (!string.IsNullOrEmpty(info.new_ep.title)) { DescriptionBlock.Text = Regex.Replace(info.new_ep.title, @"#(.*?)#", "").Trim(); } CommentBlock.Text = data.desc.comment == 0 ? "" : AppTool.GetNumberAbbreviation(data.desc.comment); MainDisplay.Data = info; } else if (data.desc.type == 256) { //音频 var info = JsonConvert.DeserializeObject <MusicDynamic>(data.card); if (!string.IsNullOrEmpty(info.intro)) { DescriptionBlock.Text = Regex.Replace(info.intro, @"#(.*?)#", "").Trim(); } CommentBlock.Text = AppTool.GetNumberAbbreviation(info.replyCnt); MainDisplay.Data = info; } else if (data.desc.type == 4200) { //直播 var info = JsonConvert.DeserializeObject <LiveDynamic>(data.card); DescriptionBlock.Visibility = Visibility.Collapsed; CommentBlock.Text = ""; MainDisplay.Data = info; } else { string yo = ""; } }
private void ButtonInit(Topic data) { LikeBlock.Text = AppTool.GetNumberAbbreviation(data.desc.like); LikeIcon.Foreground = data.desc.is_liked == 1 ? UIHelper.GetThemeBrush(ColorType.PrimaryColor) : UIHelper.GetThemeBrush(ColorType.TipTextColor); RepostBlock.Text = data.desc.repost == 0 ? "转发" : AppTool.GetNumberAbbreviation(data.desc.repost); }
public async Task Init(VideoDetail detail, int partId = 0) { Reset(); App.AppViewModel.CurrentPlayerType = Models.Enums.PlayerType.Video; App.AppViewModel.CurrentVideoPlayer = VideoPlayer; _detail = detail; _currentPartId = partId; TabletMainPage.Current.SetBackgroundImage(_detail.pic); if (!string.IsNullOrEmpty(_detail.redirect_url)) { var result = BiliTool.GetResultFromUri(_detail.redirect_url); videoId = 0; _currentPartId = 0; if (result.Type == UriType.Bangumi) { throw new InvalidDataException(result.Param); } } TitleBlock.Text = detail.title; ToolTipService.SetToolTip(TitleBlock, _detail.title); videoId = _detail.aid; bvId = _detail.bvid; PlayCountBlock.Text = AppTool.GetNumberAbbreviation(_detail.stat.view); DanmakuCountBlock.Text = AppTool.GetNumberAbbreviation(_detail.stat.danmaku); RepostButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.share); CommentButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.reply); BVBlock.Text = _detail.bvid; AVBlock.Text = _detail.aid.ToString(); DescriptionBlock.Text = _detail.desc; LikeButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.like); CoinButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.coin); FavoriteButton.Text = AppTool.GetNumberAbbreviation(_detail.stat.favorite); PublishBlock.Text = AppTool.GetReadDateString(_detail.pubdate); UPAvatar.ProfilePicture = string.IsNullOrEmpty(_detail.owner.face) ? null : new BitmapImage(new Uri(_detail.owner.face + "@50w.jpg")) { DecodePixelWidth = 40 }; UPNameBlock.Text = _detail.owner.name; if (_detail.pages != null) { _detail.pages.ForEach(p => VideoPartCollection.Add(p)); PartGridView.SelectedIndex = 0; } PartContainer.Visibility = _detail.pages.Count > 1 ? Visibility.Visible : Visibility.Collapsed; if (_detail.tag != null && _detail.tag.Count > 0) { TagGridView.Visibility = Visibility.Visible; _detail.tag.ForEach(p => TagCollection.Add(p)); } else { TagGridView.Visibility = Visibility.Collapsed; } if (_detail.staff != null && _detail.staff.Count > 0) { _detail.staff.ForEach(p => StaffCollection.Add(p)); SingleUserContainer.Visibility = Visibility.Collapsed; StaffContainer.Visibility = Visibility.Visible; } else { StaffContainer.Visibility = Visibility.Collapsed; SingleUserContainer.Visibility = Visibility.Visible; } if (_detail.req_user != null) { LikeButton.IsCheck = _detail.req_user.like != 0; CoinButton.IsCheck = _detail.req_user.coin != 0; FavoriteButton.IsCheck = _detail.req_user.favorite != 0; } await MyVideoPlayer.Init(_detail, _currentPartId); CheckLikeHoldState(); }