public async void GetData(int pageIndex) { PageIndex = pageIndex; var url = SoduPageValue.GetRankListPage(pageIndex.ToString()); var html = await GetHtmlData(url, true, true); var list = ListPageDataHelper.GetRankListFromHtml(html); if (list == null) { ToastHelper.ShowMessage("排行榜数据获取失败"); } else { if (pageIndex == 1) { Books.Clear(); } foreach (var book in list) { Books.Add(book); } Title = $"排行榜({PageIndex}/{PageCount})"; } }
public override async void OnSearchCommand(object obj) { if (string.IsNullOrEmpty(obj?.ToString().Trim())) { return; } try { IsLoading = true; var searchPara = obj.ToString(); var uri = string.Format(SoduPageValue.BookSearchPage, WebUtility.UrlEncode(searchPara)); var html = await GetHtmlData(uri, true, false); var books = ListPageDataHelper.GetSearchResultkListFromHtml(html); if (books == null || books.Count <= 0) { ToastHelper.ShowMessage("无搜索结果"); return; } Books.Clear(); foreach (var book in books) { Books.Add(book); } } catch (Exception e) { Console.WriteLine(e); } finally { IsLoading = false; } }
public async void GetData() { if (!CookieHelper.CheckLogin() || IsLoading) { return; } try { IsLoading = true; var html = await GetHtmlData2(SoduPageValue.BookShelfPage, false, true); var list = ListPageDataHelper.GetBookShelftListFromHtml(html); if (list == null || list.Count == 0) { if (html != null && html.Contains(SoduPageValue.BookShelfPage)) { Books = null; ToastHelper.ShowMessage("您的在线书架为空"); } else { ToastHelper.ShowMessage("获取在线书架数据失败"); } } else { var result = await CompareWithLocalCache(list.ToList()); Books?.Clear(); foreach (var book in list) { Books?.Add(book); } } } catch (Exception ex) { Debug.WriteLine(ex.Message + "\n" + ex.StackTrace); } finally { IsLoading = false; } }
public async Task <List <Book> > GetOnlineData() { try { var html = await GetHtmlData(SoduPageValue.BookShelfPage, true); var list = ListPageDataHelper.GetBookShelftListFromHtml(html)?.ToList(); if (list == null || list.Count == 0) { return(null); } return(list); } catch (Exception ex) { Debug.WriteLine(ex.Message + "\n" + ex.StackTrace); return(null); } }
public async void GetData() { var url = SoduPageValue.HomePage; var html = await GetHtmlData(url, true, true); var list = ListPageDataHelper.GetHotAndRecommendList(html); if (list == null || list.Count == 0) { ToastHelper.ShowMessage("热门推荐数据获取失败"); } else { Books?.Clear(); foreach (var book in list) { Books?.Add(book); } } }
public async void GetData(int pageIndex, string url) { try { if (IsLoading) { return; } IsLoading = true; if (PageCount != -1 && pageIndex > PageCount) { return; } if (string.IsNullOrEmpty(url)) { return; } PageIndex = pageIndex; if (pageIndex > 1) { url = url.Insert(url.Length - 5, "_" + pageIndex); } var html = await GetHtmlData(url, false, true); var list = ListPageDataHelper.GetBookUpdateChapterList(html); if (list == null) { Debug.WriteLine("更新列表数据获取失败"); } else { var match = Regex.Match(html, @"(?<=总计.*?记录.*?共).*?(?=页)"); if (match != null) { try { PageCount = Convert.ToInt32(match.ToString().Trim()); } catch (Exception) { PageCount = 1; } } if (pageIndex == 1) { Books.Clear(); foreach (var item in list) { item.BookName = CurrentBook.BookName; item.BookId = CurrentBook.BookId; Books.Add(item); } } else { foreach (var item in list) { item.BookName = CurrentBook.BookName; item.BookId = CurrentBook.BookId; Books.Add(item); } } Title = $"{CurrentBook.BookName}({PageIndex}/{PageCount})"; } } catch (Exception ex) { Debug.WriteLine(ex.Message + "\n" + ex.StackTrace); throw; } finally { await Task.Delay(100); IsLoading = false; } }