/// <summary> /// 获取用户指定类型的收藏概览,固定返回最近更新的收藏,不支持翻页 /// </summary> /// <param name="client"></param> /// <param name="uid"></param> /// <param name="subjectType"></param> /// <param name="maxResults"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public static Task <CollectionOverview[]> GetUserCollectionsOverviewAsync(this IBangumiClient client, long uid, SubjectType subjectType, int maxResults, CancellationToken cancellationToken = default(CancellationToken)) { if (client == null) { throw new ArgumentNullException(nameof(client)); } var url = $"/user/{uid}/collections/{subjectType.GetValue()}?max_results={maxResults}"; return(client.GetAsync <CollectionOverview[]>(url, cancellationToken)); }
/// <summary> /// 获取指定类别收藏信息。 /// </summary> /// <param name="subjectType"></param> /// <returns></returns> public async Task <CollectionE> Collections(SubjectType subjectType) { CollectionE result = (await $"{HOST}/user/{_bgmOAuth.MyToken.UserId}/collections/{subjectType.GetValue()}" .SetQueryParams(new { app_id = _bgmOAuth.ClientId, max_results = 25 }) .GetAsync() .ReceiveJson <List <CollectionE> >()) ?.FirstOrDefault() ?? new CollectionE { Collects = new List <Collection>() }; foreach (var type in result.Collects) { foreach (var item in type.Items) { item.Subject.Name = System.Net.WebUtility.HtmlDecode(item.Subject.Name); item.Subject.NameCn = System.Net.WebUtility.HtmlDecode(item.Subject.NameCn); item.Subject.Images?.ConvertImageHttpToHttps(); } } return(_bgmCache.UpdateCollections(subjectType, result)); }