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 void GetInfo() { try { pr_Load.Visibility = Visibility.Visible; string uri = string.Format("http://bangumi.bilibili.com/api/season_v3?_device=wp&access_key={2}&_ulv=10000&build=411005&platform=android&appkey=422fd9d7289a1dd9&ts={0}000&type=bangumi&season_id={1}", ApiHelper.GetTimeSpan, _banId, ApiHelper.access_key); 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)); } // string results = await WebClientClass.GetResults(new Uri(uri)); BangumiInfoModel model = JsonConvert.DeserializeObject <BangumiInfoModel>(results); if (model.code == 0) { int i = 0; model.result.episodes.ForEach(x => { x.orderindex = i; i++; }); model.result.episodes = model.result.episodes.OrderByDescending(x => x.orderindex).ToList(); this.DataContext = model.result; gv_Play.ItemsSource = model.result.episodes; if (model.result.user_season.attention == 0) { btn_Like.Visibility = Visibility.Visible; btn_CancelLike.Visibility = Visibility.Collapsed; } else { btn_Like.Visibility = Visibility.Collapsed; btn_CancelLike.Visibility = Visibility.Visible; } if (model.result.rank != null) { BangumiInfoModel rank = JsonConvert.DeserializeObject <BangumiInfoModel>(model.result.rank.ToString()); grid_Cb.DataContext = rank; grid_Cb.Visibility = Visibility.Visible; txt_NotCb.Visibility = Visibility.Collapsed; GetRankInfo(); } else { txt_NotCb.Visibility = Visibility.Visible; grid_Cb.Visibility = Visibility.Collapsed; } if (model.result.seasons != null) { Grid_About.Visibility = Visibility.Visible; WrapPanel_About.Children.Clear(); if (model.result.seasons.Count == 1) { Grid_About.Visibility = Visibility.Collapsed; } else { foreach (BangumiInfoModel item in model.result.seasons) { HyperlinkButton btn = new HyperlinkButton(); btn.DataContext = item; btn.Margin = new Thickness(0, 0, 10, 0); btn.Content = item.title; btn.Foreground = App.Current.Resources["Bili-ForeColor"] as SolidColorBrush; if (item.season_id == _banId) { btn.IsEnabled = false; } btn.Click += Btn_Click;; WrapPanel_About.Children.Add(btn); } } //Grid_About } else { Grid_About.Visibility = Visibility.Collapsed; } if (model.result.tags != null) { WrapPanel_tag.Children.Clear(); foreach (var item in model.result.tags) { HyperlinkButton btn = new HyperlinkButton(); btn.DataContext = item; btn.Margin = new Thickness(0, 0, 10, 0); btn.Content = item.tag_name; btn.Foreground = App.Current.Resources["Bili-ForeColor"] as SolidColorBrush; btn.Click += Btn_Click1;; WrapPanel_tag.Children.Add(btn); } } if (gv_Play.Items.Count != 0) { cb_H.SelectedIndex = cb_H.Items.Count - 1; gv_Play.SelectedIndex = 0; } else { messShow.Show("尚未开播或不支持你所在地区", 3000); } } else { messShow.Show(model.message, 3000); } } catch (Exception ex) { if (ex.HResult == -2147012867) { messShow.Show("检查你的网络连接!", 3000); } else { messShow.Show("发生错误\r\n" + ex.Message, 3000); } } finally { Page_SizeChanged(null, null); btn_HideAll_Click(null, null); pr_Load.Visibility = Visibility.Collapsed; } }