private async Task FavListView_LoadItem(FavViewModel vm) { if (vm.VideoList.Count > 0) { return; } var fav = await BiliFavHelper.GetBiliFavAsync(vm.Id, 1, Settings.SESSDATA); if (fav.Id == 0) { var dialog = new NoticeDialog("提示", "已经没有更多了", "确定"); await dialog.ShowAsync(); return; } var list = new List <FavVideoViewModel>(); foreach (var video in fav.VideoMasters) { list.Add(await FavVideoViewModel.CreateAsync(video.Title, video.Bv, video.CoverUrl)); } list.ForEach(v => vm.VideoList.Add(v)); vm.VideoList.Add(new FavVideoViewModel() { Bv = "加载更多", Title = "加载更多", CoverImg = new BitmapImage(new Uri("ms-appx:///Assets/LoadMore.png")) }); }
private async void BangumiListGridView_Loaded(object sender, RoutedEventArgs e) { if (_bangumiListViewLoaded) { return; } _bangumiListViewLoaded = true; StartLoadingAnimation(); var list = new List <BangumiViewModel>(); var infoList = await BiliFavHelper.GetFavBangumiMasterListAsync(1, Settings.Uid, Settings.SESSDATA); if (infoList.Count < 1) { list.Add(new BangumiViewModel() { Title = "追番为空", SeasonId = 0 }); } else { foreach (var bangumi in infoList) { var model = new BangumiViewModel() { Title = bangumi.Title, SeasonId = bangumi.SeasonId }; try { model.CoverImg = new BitmapImage(new Uri(bangumi.CoverUrl)); } catch (Exception ex) { _logger.Error(ex, ex.Message); } list.Add(model); } } list.Add(new BangumiViewModel() { Title = "加载更多", SeasonId = 0, //coverimage = ??? }); var collection = new ObservableCollection <BangumiViewModel>(list); BangumiListGridView.ItemsSource = collection; StopLoadingAnimation(); }
public async Task GetMoreVideoAsync(XamlRoot xamlRoot) { var count = this.VideoList.Count - 1; if ((count < 20) || (count % 20 != 0)) { var dialog = new ErrorDialog("已经没有更多了", xamlRoot) { PrimaryButtonText = "" }; await dialog.ShowAsync(); return; } var fav = await BiliFavHelper.GetBiliFavAsync(this.Id, (count / 20) + 1, UserPage.SESSDATA); if (fav == null) { var dialog = new ErrorDialog("已经没有更多了", xamlRoot) { PrimaryButtonText = "" }; await dialog.ShowAsync(); return; } var list = new List <FavVideoViewModel>(); foreach (var video in fav.VideoList) { list.Add(await FavVideoViewModel.CreateAsync(video.Title, video.Bv, video.Picture)); } this.VideoList.Remove(this.VideoList.TakeLast(1).Single()); list.ForEach(v => this.VideoList.Add(v)); this.VideoList.Add(new FavVideoViewModel() { Bv = "加载更多", Title = "加载更多", CoverImg = new BitmapImage(new Uri("ms-appx:///Assets/LoadMore.png")) }); }
private async void FavListView_Loaded(object sender, RoutedEventArgs e) { if (_favListViewLoaded) { return; } _favListViewLoaded = true; StartLoadingAnimation(); var favInfoList = await BiliFavHelper.GetUserFavListInfoAsync(Settings.Uid, Settings.SESSDATA); var favList = new List <FavViewModel>(); foreach (var info in favInfoList) { var fav = await BiliFavHelper.GetBiliFavAsync(info.Id, 1, Settings.SESSDATA); if (fav.Id == 0) { favList.Add(new FavViewModel() { Id = info.Id, Title = info.Title, VideoCount = 0, VideoList = new ObservableCollection <FavVideoViewModel>() }); continue; } if (fav.VideoMasterCount > 0) { favList.Add(new FavViewModel() { Id = fav.Id, Title = fav.Title, VideoCount = fav.VideoMasterCount, VideoList = new ObservableCollection <FavVideoViewModel>() }); } } var collection = new ObservableCollection <FavViewModel>(favList); FavListView.ItemsSource = collection; StopLoadingAnimation(); }
public async Task GetMoreVideoAsync() { var count = this.VideoList.Count - 1; if ((count < 20) || (count % 20 != 0)) { var dialog = new NoticeDialog("提示", "已经没有更多了", "确定"); await dialog.ShowAsync(); return; } var fav = await BiliFavHelper.GetBiliFavAsync(this.Id, (count / 20) + 1, Settings.SESSDATA); if (fav.Id == 0) { var dialog = new NoticeDialog("提示", "已经没有更多了", "确定"); await dialog.ShowAsync(); return; } var list = new List <FavVideoViewModel>(); foreach (var video in fav.VideoMasters) { list.Add(await FavVideoViewModel.CreateAsync(video.Title, video.Bv, video.CoverUrl)); } this.VideoList.Remove(this.VideoList.TakeLast(1).Single()); list.ForEach(v => this.VideoList.Add(v)); this.VideoList.Add(new FavVideoViewModel() { Bv = "加载更多", Title = "加载更多", CoverImg = new BitmapImage(new Uri("ms-appx:///Assets/LoadMore.png")) }); }
private async void BangumiListGridView_ItemClick(object sender, ItemClickEventArgs e) { var info = e.ClickedItem as BangumiViewModel; if (info.SeasonId == 0) { var list = BangumiListGridView.ItemsSource as ObservableCollection <BangumiViewModel>; var count = list.Count - 1; async Task NoticeNoMore() { var dialog = new NoticeDialog("提示", "已经没有更多了"); await dialog.ShowAsync(); } if ((count < 15) || (count % 15 != 0)) { await NoticeNoMore(); return; } var newList = await BiliFavHelper.GetFavBangumiMasterListAsync((count / 15) + 1, Settings.Uid, Settings.SESSDATA); if (newList == null) { await NoticeNoMore(); return; } var toAddList = new List <BangumiViewModel>(); list.Remove(list.Last()); foreach (var bangumi in newList) { var model = new BangumiViewModel() { Title = bangumi.Title, SeasonId = bangumi.SeasonId }; try { model.CoverImg = new BitmapImage(new Uri(bangumi.CoverUrl)); } catch (Exception ex) { _logger.Info(ex, ex.Message); } toAddList.Add(model); } toAddList.ForEach(b => list.Add(b)); list.Add(new BangumiViewModel() { Title = "加载更多", SeasonId = 0, //CoverImg = ??? }); } else { var master = await BiliBangumiHelper.GetBangumiMasterAsync(info.SeasonId, Settings.SESSDATA); NavigationHelper.NavigateToPage(ContentPage.Search); SearchPage.Current.HandleMaster <BiliBangumiMasterResultPage, BiliBangumiMaster>(master); } }