getNextPage<T extends IPageList> method

Future<T> getNextPage<T extends IPageList>(
  1. String url, {
  2. required CancelToken cancelToken,
})

下一页

Implementation

Future<T> getNextPage<T extends IPageList>(
  String url, {
  required CancelToken cancelToken,
}) async {
  return _httpClient.get<String>(url.replaceFirst("app-api.pixiv.net", targetIPGetter.call()), cancelToken: cancelToken).then((response) {
    final responseData = response.data!;
    if (T == CommentPageResult) {
      return CommentPageResult.fromJson(jsonDecode(responseData)) as T;
    } else if (T == IllustPageResult) {
      return IllustPageResult.fromJson(jsonDecode(responseData)) as T;
    } else if (T == NovelPageResult) {
      return NovelPageResult.fromJson(jsonDecode(responseData)) as T;
    } else if (T == UserPageResult) {
      return UserPageResult.fromJson(jsonDecode(responseData)) as T;
    } else if (T == SearchIllustPageResult) {
      return SearchIllustPageResult.fromJson(jsonDecode(responseData)) as T;
    } else if (T == BookmarkTagPageResult) {
      return BookmarkTagPageResult.fromJson(jsonDecode(responseData)) as T;
    } else if (T == LivePageResult) {
      return LivePageResult.fromJson(jsonDecode(responseData)) as T;
    }
    throw Exception('类型错误');
  });
}