private void btn_UP_Click(object sender, RoutedEventArgs e) { VideoInfoModels info = (sender as HyperlinkButton).DataContext as VideoInfoModels; this.Frame.Navigate(typeof(UserInfoPage), new object[] { info.owner.mid }); }
private async void LoadVideo() { try { isMovie = false; tag.Children.Clear(); pr_Load.Visibility = Visibility.Visible; string uri = string.Format("http://app.bilibili.com/x/view?_device=wp&_ulv=10000&access_key={0}&aid={1}&appkey=422fd9d7289a1dd9&build=411005&plat=4&platform=android&ts={2}", ApiHelper.access_key, _aid, ApiHelper.GetTimeSpan); uri += "&sign=" + ApiHelper.GetSign(uri); string results = ""; if (SettingHelper.Get_UseCN() || SettingHelper.Get_UseHK() || SettingHelper.Get_UseTW()) { results = await WebClientClass.GetResults_Proxy(uri); } else { results = await WebClientClass.GetResults(new Uri(uri)); } VideoInfoModels m = JsonConvert.DeserializeObject <VideoInfoModels>(results); if (m.code == 0) { this.DataContext = m.data; if (m.data.movie != null) { //isMovie = true; grid_Movie.Visibility = Visibility.Visible; if (m.data.movie.movie_status == 1) { if (m.data.movie.pay_user.status == 0) { movie_pay.Visibility = Visibility.Visible; txt_PayMonery.Text = m.data.movie.payment.price.ToString("0.00"); } else { isMovie = true; movie_pay.Visibility = Visibility.Collapsed; } } else { movie_pay.Visibility = Visibility.Collapsed; } } else { grid_Movie.Visibility = Visibility.Collapsed; movie_pay.Visibility = Visibility.Collapsed; } //m.data.pages gv_Play.SelectedIndex = 0; if (m.data.req_user.attention != 1) { btn_AttUp.Visibility = Visibility.Visible; btn_CancelAttUp.Visibility = Visibility.Collapsed; } else { btn_AttUp.Visibility = Visibility.Collapsed; btn_CancelAttUp.Visibility = Visibility.Visible; } if (m.data.season != null) { grid_season.Visibility = Visibility.Visible; } else { grid_season.Visibility = Visibility.Collapsed; } if (m.data.tag != null) { grid_tag.Visibility = Visibility.Visible; } else { grid_tag.Visibility = Visibility.Collapsed; } if (m.data.elec != null) { grid_elec.Visibility = Visibility.Visible; txt_NotCb.Visibility = Visibility.Collapsed; grid_elec.DataContext = m.data.elec; } else { grid_elec.Visibility = Visibility.Collapsed; txt_NotCb.Visibility = Visibility.Visible; } list_About.ItemsSource = null; if (m.data.relates != null) { list_About.ItemsSource = m.data.relates; } if (m.data.tag != null) { foreach (var item in m.data.tag) { HyperlinkButton hy = new HyperlinkButton(); hy.Content = item.tag_name; hy.Margin = new Thickness(0, 0, 10, 0); hy.Foreground = App.Current.Resources["Bili-ForeColor"] as SolidColorBrush; hy.Click += Hy_Click;; tag.Children.Add(hy); } } } else { if (m.code == -403) { error.Visibility = Visibility.Visible; txt_error.Text = "您的权限不足或者不支持你所在地区"; return; } if (m.code == -404) { error.Visibility = Visibility.Visible; txt_error.Text = "视频不存在或已被删除"; return; } messShow.Show(m.message, 3000); } } catch (Exception ex) { if (ex.HResult == -2147012867 || ex.HResult == -2147012889) { messShow.Show("无法连接服务器,请检查你的网络连接", 3000); } else { messShow.Show("更新数据失败了", 3000); } } finally { btn_HideAll_Click(null, null); pr_Load.Visibility = Visibility.Collapsed; } }
private async Task LoadVideo() { try { pivot.SelectedIndex = 0; comment.ClearComment(); isMovie = false; tag.Children.Clear(); pr_Load.Visibility = Visibility.Visible; string uri = $"https://app.bilibili.com/x/v2/view?access_key={ ApiHelper.access_key }&aid={ _aid }&appkey={ApiHelper.AndroidKey.Appkey}&build={ApiHelper.build}&mobi_app=android&plat=0&platform=android&ts={ApiHelper.GetTimeSpan}"; uri += "&sign=" + ApiHelper.GetSign(uri); string results = await WebClientClass.GetResults(new Uri(uri)); VideoInfoModels m = JsonConvert.DeserializeObject <VideoInfoModels>(results); if (m.code == -404 || m.code == -403) { string re2 = await WebClientClass.GetResults(new Uri("https://www.biliplus.com/api/view?id=" + _aid + "&access_key=" + ApiHelper.access_key)); JObject obj = JObject.Parse(re2); if (obj["code"] == null) { m.code = 0; m.data = JsonConvert.DeserializeObject <VideoInfoModels>(obj["v2_app_api"].ToString()); } } if (m.code == 0) { if (m.data.redirect_url != null && m.data.redirect_url != "") { this.Frame.GoBack(); Utils.ShowMessageToast("正在跳转至专题"); await MessageCenter.HandelUrl(m.data.redirect_url); return; } this.DataContext = m.data; if (m.data.movie != null) { //isMovie = true; grid_Movie.Visibility = Visibility.Visible; if (m.data.movie.movie_status == 1) { if (m.data.movie.pay_user.status == 0) { movie_pay.Visibility = Visibility.Visible; txt_PayMonery.Text = m.data.movie.payment.price.ToString("0.00"); } else { isMovie = true; movie_pay.Visibility = Visibility.Collapsed; } } else { movie_pay.Visibility = Visibility.Collapsed; } } else { grid_Movie.Visibility = Visibility.Collapsed; movie_pay.Visibility = Visibility.Collapsed; } if (m.data.interaction != null) { Utils.ShowMessageToast("这是一个互动视频,你的选项会决定剧情走向哦", 5000); } //m.data.pages gv_Play.SelectedIndex = 0; if (m.data.req_user.attention != 1) { btn_AttUp.Visibility = Visibility.Visible; btn_CancelAttUp.Visibility = Visibility.Collapsed; } else { btn_AttUp.Visibility = Visibility.Collapsed; btn_CancelAttUp.Visibility = Visibility.Visible; } if (m.data.season != null) { ISBAN = true; grid_season.Visibility = Visibility.Visible; } else { ISBAN = false; grid_season.Visibility = Visibility.Collapsed; } if (m.data.tag != null) { grid_tag.Visibility = Visibility.Visible; } else { grid_tag.Visibility = Visibility.Collapsed; } if (m.data.elec != null) { grid_elec.Visibility = Visibility.Visible; txt_NotCb.Visibility = Visibility.Collapsed; grid_elec.DataContext = m.data.elec; } else { grid_elec.Visibility = Visibility.Collapsed; txt_NotCb.Visibility = Visibility.Visible; } if (m.data.audio != null) { grid_audio.DataContext = m.data.audio; grid_audio.Visibility = Visibility.Visible; } else { grid_audio.Visibility = Visibility.Collapsed; } list_About.ItemsSource = null; if (m.data.relates != null) { list_About.ItemsSource = m.data.relates; } if (m.data.tag != null) { foreach (var item in m.data.tag) { HyperlinkButton hy = new HyperlinkButton(); hy.Content = item.tag_name; hy.Margin = new Thickness(0, 0, 10, 0); hy.Foreground = App.Current.Resources["Bili-ForeColor"] as SolidColorBrush; hy.Click += Hy_Click;; tag.Children.Add(hy); } } if (m.data.staff != null && m.data.staff.Count != 0) { staff.Visibility = Visibility.Visible; } else { staff.Visibility = Visibility.Collapsed; } if (m.data.pages != null && m.data.pages.Count != 0) { var qualitys = await download.GetVideoQualitys(_aid, m.data.pages[0].cid.ToString(), ApiHelper.access_key, ApiHelper.GetUserId()); cb_Qu.ItemsSource = qualitys.data; if (qualitys.data.Count != 0) { cb_Qu.SelectedIndex = 0; } } comment.LoadComment(new LoadCommentInfo() { commentMode = CommentMode.Video, conmmentSortMode = ConmmentSortMode.All, oid = _aid }); } else { if (m.code == -403) { error.Visibility = Visibility.Visible; txt_error.Text = "您的权限不足或者不支持你所在地区"; return; } if (m.code == -404) { error.Visibility = Visibility.Visible; txt_error.Text = "视频不存在或已被删除"; return; } Utils.ShowMessageToast(m.message, 3000); } } catch (Exception ex) { if (ex.HResult == -2147012867 || ex.HResult == -2147012889) { Utils.ShowMessageToast("无法连接服务器,请检查你的网络连接", 3000); } else { Utils.ShowMessageToast("更新数据失败了", 3000); } } finally { btn_HideAll_Click(null, null); pr_Load.Visibility = Visibility.Collapsed; } }