import 'package:blog_app/models/blog.dart'; import 'package:blog_app/models/common.dart'; import 'package:blog_app/utils/http_utils.dart'; import 'package:blog_app/utils/index.dart'; Future> queryBlogByPageApi(int currentPage, int pageSize) { return HttpUtil().get>( "/blog/page", queryParameters: {"currentPage": currentPage, "pageSize": pageSize}, converter: (data) => convertPageResponse(data, Blog.fromJson), ); } Future> queryBlogByConditionApi( String? category, String? title, int? year, ) { final Map queryParams = {}; if (category != null && category.isNotEmpty) { queryParams['category'] = category; } if (title != null && title.isNotEmpty) { queryParams['title'] = title; } if (year != null && year > 0) { queryParams['year'] = year; } return HttpUtil().get>( "/blog/condition", queryParameters: queryParams, converter: (data) => convertListResponse(data, Blog.fromJson), ); } Future queryBlogByIdApi(int id) { return HttpUtil().get( "/blog/$id/content", converter: (data) => Blog.fromJson(data), ); } Future> queryBlogCategoryApi() { return HttpUtil().get>( "/blog/category", converter: (data) => convertListResponse(data, BlogCategory.fromJson), ); }