feat:增加common框架

This commit is contained in:
2025-11-23 20:28:45 +08:00
parent e38e26e685
commit f11b8d6a30
32 changed files with 280 additions and 1545 deletions

View File

@@ -1,13 +1,14 @@
import 'package:blog_app/config/app_config.dart';
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';
import 'package:flutter_common/models/common_model.dart';
import 'package:flutter_common/utils/convert_utils.dart';
import 'package:flutter_common/utils/http_utils.dart';
Future<PageResult<Blog>> queryBlogByPageApi(int currentPage, int pageSize) {
return HttpUtil().get<PageResult<Blog>>(
return HttpUtil(baseUrl: AppConfig.baseApiUrl).get<PageResult<Blog>>(
"/blog/page",
queryParameters: {"currentPage": currentPage, "pageSize": pageSize},
converter: (data) => convertPageResponse(data, Blog.fromJson),
converter: (data) => convertPage(data, Blog.fromJson),
);
}
@@ -28,83 +29,74 @@ Future<List<Blog>> queryBlogByConditionApi(
queryParams['year'] = year;
}
return HttpUtil().get<List<Blog>>(
return HttpUtil(baseUrl: AppConfig.baseApiUrl).get<List<Blog>>(
"/blog/condition",
queryParameters: queryParams,
converter: (data) => convertListResponse<Blog>(data, Blog.fromJson),
converter: (data) => convertList<Blog>(data, Blog.fromJson),
);
}
Future<List<BlogSearch>> searchBlog(String keyword) {
return HttpUtil().get<List<BlogSearch>>(
return HttpUtil(baseUrl: AppConfig.baseApiUrl).get<List<BlogSearch>>(
"/blog/search",
queryParameters: {"keyword": keyword},
converter:
(data) => convertListResponse<BlogSearch>(data, BlogSearch.fromJson),
converter: (data) => convertList<BlogSearch>(data, BlogSearch.fromJson),
);
}
Future<Blog> queryBlogByIdApi(int id) {
return HttpUtil().get<Blog>(
"/blog/$id/content",
converter: (data) => Blog.fromJson(data),
);
return HttpUtil(
baseUrl: AppConfig.baseApiUrl,
).get<Blog>("/blog/$id/content", converter: (data) => Blog.fromJson(data));
}
Future<List<BlogCategory>> queryBlogCategoryApi() {
return HttpUtil().get<List<BlogCategory>>(
return HttpUtil(baseUrl: AppConfig.baseApiUrl).get<List<BlogCategory>>(
"/blog/category",
converter:
(data) =>
convertListResponse<BlogCategory>(data, BlogCategory.fromJson),
converter: (data) => convertList<BlogCategory>(data, BlogCategory.fromJson),
);
}
Future<BlogStats> queryBlogOverviewStatsApi() {
return HttpUtil().get<BlogStats>(
return HttpUtil(baseUrl: AppConfig.baseApiUrl).get<BlogStats>(
"/stats/overview",
converter: (data) => BlogStats.fromJson(data),
);
}
Future<List<ChartData>> queryBlogApprovedStatsApi(int year) {
return HttpUtil().get<List<ChartData>>(
return HttpUtil(baseUrl: AppConfig.baseApiUrl).get<List<ChartData>>(
"/stats/approved/monthly",
queryParameters: {"year": year},
converter:
(data) => convertListResponse<ChartData>(data, ChartData.fromJson),
converter: (data) => convertList<ChartData>(data, ChartData.fromJson),
);
}
Future<List<ChartData>> queryBlogVisitStatsApi(int year) {
return HttpUtil().get<List<ChartData>>(
return HttpUtil(baseUrl: AppConfig.baseApiUrl).get<List<ChartData>>(
"/stats/visit/monthly",
queryParameters: {"year": year},
converter:
(data) => convertListResponse<ChartData>(data, ChartData.fromJson),
converter: (data) => convertList<ChartData>(data, ChartData.fromJson),
);
}
Future<List<ChartData>> queryBlogVisitRankStatsApi() {
return HttpUtil().get<List<ChartData>>(
return HttpUtil(baseUrl: AppConfig.baseApiUrl).get<List<ChartData>>(
"/stats/visit/rank",
converter:
(data) => convertListResponse<ChartData>(data, ChartData.fromJson),
converter: (data) => convertList<ChartData>(data, ChartData.fromJson),
);
}
Future<List<ChartData>> queryBlogCategoryStatsApi() {
return HttpUtil().get<List<ChartData>>(
return HttpUtil(baseUrl: AppConfig.baseApiUrl).get<List<ChartData>>(
"/stats/category",
converter:
(data) => convertListResponse<ChartData>(data, ChartData.fromJson),
converter: (data) => convertList<ChartData>(data, ChartData.fromJson),
);
}
Future<List<ChartData>> queryBlogReadRankStatsApi() {
return HttpUtil().get<List<ChartData>>(
return HttpUtil(baseUrl: AppConfig.baseApiUrl).get<List<ChartData>>(
"/stats/read/rank",
converter:
(data) => convertListResponse<ChartData>(data, ChartData.fromJson),
converter: (data) => convertList<ChartData>(data, ChartData.fromJson),
);
}