Skip to content

Commit 9e11d13

Browse files
zansbangcolin
and
colin
authored
修复收藏夹超过20个后似乎将无法加载 (#228) (#235)
Co-authored-by: colin <zansbang@gmail.com>
1 parent 5facc3c commit 9e11d13

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

src/Libs/Libs.Adapter/FavoriteAdapter.cs

+35
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,39 @@ public static VideoFavoriteView ConvertToVideoFavoriteView(VideoFavoriteGalleryR
9292
.Select(ConvertToVideoFavoriteFolderGroup);
9393
return new VideoFavoriteView(favoriteSets, defaultFolder);
9494
}
95+
96+
/// <summary>
97+
/// 将视频收藏夹概览响应 <see cref="VideoFavoriteGalleryResponse"/> 转换为视频收藏视图.
98+
/// </summary>
99+
/// <param name="response">视频收藏夹概览响应.</param>
100+
/// <returns><see cref="VideoFavoriteView"/>.</returns>
101+
public static VideoFavoriteView ConvertToVideoFavoriteView(VideoFavoriteGalleryResponse response, FavoriteListResponse listData)
102+
{
103+
var defaultFolder = ConvertToVideoFavoriteFolderDetail(response.DefaultFavoriteList);
104+
105+
var mineCreateFav = response.FavoriteFolderList.Find(ff => ff.Id == 1);
106+
mineCreateFav.MediaList.List = listData.List.Where(fm => fm.Title != "默认收藏夹").Select(FavoriteAdapter.ConvertToVideoFavoriteListDetail).ToList();
107+
108+
// 过滤稍后再看的内容,稍后再看列表的Id为3.
109+
var favoriteSets = response.FavoriteFolderList?
110+
.Where(p => p.Id != 3)
111+
.Select(ConvertToVideoFavoriteFolderGroup);
112+
return new VideoFavoriteView(favoriteSets, defaultFolder);
113+
}
114+
115+
/// <summary>
116+
/// 将收藏夹元数据转为收藏夹详情.
117+
/// </summary>
118+
/// <param name="favoriteMetas">收藏夹元数据.</param>
119+
/// <returns>收藏夹详情.</returns>
120+
public static FavoriteListDetail ConvertToVideoFavoriteListDetail(FavoriteMeta favoriteMetas)
121+
{
122+
var favoriteListDetail = new FavoriteListDetail();
123+
favoriteListDetail.Title = favoriteMetas.Title;
124+
favoriteListDetail.Id = favoriteMetas.Id;
125+
favoriteListDetail.OriginId = favoriteMetas.FolderId;
126+
favoriteListDetail.Mid = favoriteMetas.UserId;
127+
favoriteListDetail.MediaCount = favoriteMetas.MediaCount;
128+
return favoriteListDetail;
129+
}
95130
}

src/Libs/Libs.Provider/FavoriteProvider/FavoriteProvider.cs

+12-1
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,18 @@ public async Task<VideoFavoriteView> GetVideoFavoriteViewAsync(string userId)
171171
var result = await HttpProvider.ParseAsync<ServerResponse<VideoFavoriteGalleryResponse>>(response);
172172
_videoCollectFolderPageNumber = 1;
173173
_videoCreatedFolderPageNumber = 1;
174-
return FavoriteAdapter.ConvertToVideoFavoriteView(result.Data);
174+
175+
queryParameters = new Dictionary<string, string>
176+
{
177+
{ Query.UpId, userId.ToString() },
178+
{ Query.Type, "2" },
179+
};
180+
request = await HttpProvider.GetRequestMessageAsync(HttpMethod.Get, Account.FavoriteList, queryParameters, needToken: true);
181+
response = await HttpProvider.Instance.SendAsync(request);
182+
var resultList = await HttpProvider.ParseAsync<ServerResponse<FavoriteListResponse>>(response);
183+
var listData = resultList.Data;
184+
185+
return FavoriteAdapter.ConvertToVideoFavoriteView(result.Data, listData);
175186
}
176187

177188
/// <summary>

0 commit comments

Comments
 (0)