コード例 #1
0
        /// <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));
        }
コード例 #2
0
        /// <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));
        }