async Task <bool> GetUrlPage(int page, string url, ObservableCollection <Feed> FeedsCollection) { mainPage.ActiveProgressRing(); if (page == 1) { string s = await CoolApkSDK.GetCoolApkMessage($"{url}&page={page}"); JObject jObject = (JObject)JsonConvert.DeserializeObject(s); JArray Root = (JArray)jObject["data"]; int n = 0; if (FeedsCollection.Count > 0) { var needDeleteItems = (from b in FeedsCollection from c in Root where b.GetValue("entityId") == c["entityId"].ToString() select b).ToArray(); foreach (var item in needDeleteItems) { Collection.Remove(item); } n = (from b in FeedsCollection where b.GetValue("entityFixed") == "1" select b).Count(); } int k = 0; for (int i = 0; i < Root.Count; i++) { if (index == -1 && (Root[i] as JObject).TryGetValue("entityTemplate", out JToken t) && t.ToString() == "configCard") { JObject j = JObject.Parse(Root[i]["extraData"].ToString()); title.Text = j["pageTitle"].ToString(); continue; } if ((Root[i] as JObject).TryGetValue("entityTemplate", out JToken tt) && tt.ToString() == "fabCard") { continue; } FeedsCollection.Insert(n + k, new Feed((JObject)Root[i])); k++; } mainPage.DeactiveProgressRing(); return(true); } else { string r = await CoolApkSDK.GetCoolApkMessage($"{url}&page={page}"); JArray Root = JObject.Parse(r)["data"] as JArray; if (!(Root is null) && Root.Count != 0) { foreach (JObject i in Root) { FeedsCollection.Add(new Feed(i)); } mainPage.DeactiveProgressRing(); return(true); }
async void SearchFeeds(string keyWord) { mainPage.ActiveProgressRing(); string feedType = string.Empty; string sortType = string.Empty; switch (SearchFeedTypeComboBox.SelectedIndex) { case 0: feedType = "all"; break; case 1: feedType = "feed"; break; case 2: feedType = "feedArticle"; break; case 3: feedType = "rating"; break; case 4: feedType = "picture"; break; case 5: feedType = "question"; break; case 6: feedType = "answer"; break; case 7: feedType = "video"; break; case 8: feedType = "ershou"; break; case 9: feedType = "vote"; break; } switch (SearchFeedSortTypeComboBox.SelectedIndex) { case 0: sortType = "default"; break; case 1: sortType = "hot"; break; case 2: sortType = "reply"; break; } string r = await CoolApkSDK.GetCoolApkMessage($"/search?type=feed&feedType={feedType}&sort={sortType}&searchValue={keyWord}&page={++pages[0]}{(pages[0] > 1 ? "&lastItem=" + lastItems[0] : string.Empty)}&showAnonymous=-1"); JArray Root = JObject.Parse(r)["data"] as JArray; ObservableCollection <Feed> FeedsCollection = FeedList.ItemsSource as ObservableCollection <Feed>; if (pages[0] == 1) { FeedsCollection.Clear(); } if (!(Root is null) && Root.Count != 0) { lastItems[0] = Root.Last["id"].ToString(); foreach (JObject i in Root) { FeedsCollection.Add(new Feed(i)); } }
private async void Button_Click_5(object sender, RoutedEventArgs e) { txb1.Text = await CoolApkSDK.GetCoolApkMessage(url.Text); }
private async void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e) { Pivot pivot = MainPivot; if (pivot.Items.Count == 1 && (pivot.Items[0] as PivotItem).Tag as string == "-1") { pivot.Items.Clear(); string r = await CoolApkSDK.GetCoolApkMessage("/main/init"); JArray array = JObject.Parse(r)["data"] as JArray; foreach (var item in array) { if (item["entityTemplate"].ToString() == "configCard") { JArray jArray = item["entities"] as JArray; foreach (var it in jArray) { switch (it["title"].ToString()) { case "酷品": case "看看号": case "直播": continue; default: break; } PivotItem i = new PivotItem { Header = it["title"].ToString(), Tag = it["title"].ToString() == "头条" ? string.Empty : it["url"].ToString() + "&title=" + it["title"].ToString(), Content = new Frame() }; if (it["title"].ToString() == "关注") { Button button = new Button { Content = new TextBlock { Text = "▼" }, Background = null, Name = "moreB" }; MenuFlyout flyout = new MenuFlyout(); foreach (var ite in it["entities"]) { if (ite["entityType"].ToString() == "page") { MenuFlyoutItem menuFlyoutItem = new MenuFlyoutItem { Text = ite["title"].ToString(), Tag = ite["url"].ToString() + "&title=" + ite["title"].ToString() }; menuFlyoutItem.Tapped += (s, _) => { MenuFlyoutItem fI = s as MenuFlyoutItem; TextBlock textBlock = FindName("TitleTextBlock") as TextBlock; textBlock.Text = fI.Text; foreach (MenuFlyoutItem j in ((FindName("moreB") as Button).Flyout as MenuFlyout).Items) { j.Icon = null; } fI.Icon = new SymbolIcon(Symbol.Accept); string pageUrl = fI.Tag as string; if (pageUrl.IndexOf("/page") == -1) { pageUrl = "/page/dataList?url=" + pageUrl; } else if (pageUrl.IndexOf("/page") == 0 && !pageUrl.Contains("/page/dataList")) { pageUrl = pageUrl.Replace("/page", "/page/dataList"); } pageUrl = pageUrl.Replace("#", "%23"); PivotItem p = MainPivot.SelectedItem as PivotItem; Frame f = p.Content as Frame; IndexPage page = f.Content as IndexPage; page.ChangeTabView(pageUrl); }; flyout.Items.Add(menuFlyoutItem); } } MenuFlyoutItem flyoutItem = flyout.Items[0] as MenuFlyoutItem; flyoutItem.Icon = new SymbolIcon(Symbol.Accept); button.Flyout = flyout; StackPanel stackPanel = new StackPanel { Orientation = Orientation.Horizontal }; stackPanel.Children.Add(new TextBlock { Text = flyoutItem.Text, Name = "TitleTextBlock" }); stackPanel.Children.Add(button); i.Header = stackPanel; i.Name = "FollowPivot"; } pivot.Items.Add(i); } pivot.SelectedIndex = 1; } } } PivotItem pivotItem = e.AddedItems[0] as PivotItem; Frame frame = pivotItem.Content as Frame; if (!(frame is null) && !frame.CanGoBack) { frame.Navigate(typeof(IndexPage), new object[] { mainPage, pivotItem.Tag, true }); } }