Exemplo n.º 1
0
        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 });
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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;
            }
        }