コード例 #1
0
        public async Task <string> Vote(BoringPic boring, bool isLike)
        {
            var b = Boring;

            var msg = await _api.Vote(boring.PicID, isLike);

            if (string.IsNullOrEmpty(msg))
            {
                return(null);
            }
            else if (msg.Contains("THANK YOU"))
            {
                if (isLike)
                {
                    b[Boring.IndexOf(boring)].VotePositive++;
                }
                else
                {
                    b[Boring.IndexOf(boring)].VoteNegative++;
                }
            }

            Boring = b;

            return(msg);
        }
コード例 #2
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            DataShareManager.Current.CurrentPageIndex = PageIndex.PicDetailPage;

            base.OnNavigatedTo(e);
            object[] parameters = e.Parameter as object[];
            if (parameters[0] != null)
            {
                var p = parameters[0] as BoringPic;

                phoneDuanCommentListView.DataContext   = _dViewModel = new DuanCommentViewModel();
                desktopDuanCommentListView.DataContext = _dViewModel = new DuanCommentViewModel();

                this.DataContext = _viewModel = new PicDetailViewModel(p);

                _dViewModel.Update(p.PicID);

                CurrentItem = p;
                DetailType  = (PicDetailType)parameters[1];
                ItemList    = parameters[2];
            }

            SystemNavigationManager.GetForCurrentView().BackRequested += PicViewerPage_BackRequested;

            //////////////////////////////////////////////
            phoneCommentSubmitButton.Focus(FocusState.Pointer);
            desktopCommentSubmitButton.Focus(FocusState.Pointer);
        }
コード例 #3
0
ファイル: ImageViewer.xaml.cs プロジェクト: batkiz/Jandan.UWP
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            DataShareManager.Current.CurrentPageIndex = PageIndex.PicDetailPage;

            base.OnNavigatedTo(e);
            object[] parameters = e.Parameter as object[];
            if (parameters[0] != null)
            {
                var p = parameters[0] as BoringPic;
                this.DataContext = _viewModel = new PicDetailViewModel(p);

                CurrentItem = p;
                DetailType  = (PicDetailType)parameters[1];
                ItemList    = parameters[2];
            }

            SystemNavigationManager.GetForCurrentView().BackRequested += PicDetailPage_BackRequested;
        }
コード例 #4
0
        private bool IsItemAdded(BoringPic t)
        {
            bool isPassedNSFW = true, isPassedUnWel = true;

            if (!IsShowNSFW && t.Content.Contains("NSFW"))
            {
                isPassedNSFW = false;
            }
            if (!IsShowUnwelcome)
            {
                int oo = t.VotePositive;
                int xx = t.VoteNegative;
                if ((oo + xx) >= 50 && ((double)oo / (double)xx) < 0.618)
                {
                    t.Content    += "\n\nUnwelcome";
                    isPassedUnWel = false;
                }
            }
            return(isPassedNSFW && isPassedUnWel);
        }
コード例 #5
0
 public void Update(BoringPic b)
 {
     BoringPicture = b;
     _dViewModel.Update(b.PicID);
 }
コード例 #6
0
 public PicDetailViewModel(BoringPic b)
 {
     _dViewModel = new DuanCommentViewModel();
     Update(b);
 }
コード例 #7
0
        /// <summary>
        /// 热门无聊图列表
        /// </summary>
        /// <returns></returns>
        public async Task <List <BoringPic> > GetHotPics()
        {
            try
            {
                if (ConnectivityManager.Current.Network == NetworkType.NotConnected)  //无网络连接
                {
                    List <BoringPic> list = await FileHelper.Current.ReadObjectAsync <List <BoringPic> >("hot_pics_list.json");

                    return(list);
                }
                else
                {
                    JsonObject json = await GetJson(ServiceURL.URL_HOTPICS);

                    if (json != null)
                    {
                        List <BoringPic> list = new List <BoringPic>();
                        var posts             = json["comments"];
                        if (posts != null)
                        {
                            JsonArray ja = posts.GetArray();

                            string CommentIDList = "";
                            foreach (var j in ja)
                            {
                                string CommentID = "comment-" + (j.GetObject())["comment_ID"].GetString();
                                CommentIDList = $"{CommentIDList},{CommentID}";
                            }

                            JsonObject jsonCommentCount = await GetJson(ServiceURL.URL_COMMENT_COUNTS + CommentIDList);

                            foreach (var j in ja)
                            {
                                string ID = (j.GetObject())["comment_ID"].GetString();
                                list.Add(new BoringPic
                                {
                                    PicID        = ID,
                                    Author       = (j.GetObject())["comment_author"].GetString(),
                                    Content      = (j.GetObject())["text_content"].GetString(),
                                    Urls         = BoringPic.parseHot((j.GetObject())["pics"].ToString()),
                                    Thumb        = BoringPic.parseHotThumb((j.GetObject())["pics"].ToString()),
                                    Date         = (j.GetObject())["comment_date"].GetString(),
                                    VotePositive = int.Parse(j.GetObject().GetNamedString("vote_positive")),
                                    VoteNegative = int.Parse(j.GetObject().GetNamedString("vote_negative")),
                                    CommentCount = (int)jsonCommentCount["response"].GetObject().GetNamedObject($"comment-{ID}").GetNamedNumber("comments")
                                });
                            }
                        }
                        await FileHelper.Current.WriteObjectAsync <List <BoringPic> >(list, "hot_pics_list.json");

                        return(list);
                    }
                    else
                    {
                        return(null);
                    }
                }
            }
            catch
            {
                return(null);
            }
        }