feat:增加博客卡片内容

This commit is contained in:
2025-11-14 23:22:01 +08:00
parent 94849be69c
commit 3b167508dd
18 changed files with 815 additions and 339 deletions

13
lib/utils/date_utils.dart Normal file
View File

@@ -0,0 +1,13 @@
import 'package:intl/intl.dart';
String formatDate(DateTime date) {
return DateFormat('yyyy-MM-dd').format(date);
}
String formatDateString(String date) {
return DateFormat('yyyy-MM-dd').format(DateTime.parse(date));
}
String formatTime(DateTime datetime) {
return DateFormat('yyyy-MM-dd HH:mm:ss').format(datetime);
}

View File

@@ -1,8 +1,8 @@
import 'package:blog_app/config/app_config.dart';
import 'package:blog_app/utils/sp_util.dart';
import 'package:blog_app/utils/sp_utils.dart';
import 'package:dio/dio.dart';
import 'log_util.dart';
import 'log_utils.dart';
class HttpUtil {
static final HttpUtil _instance = HttpUtil._internal();

28
lib/utils/index.dart Normal file
View File

@@ -0,0 +1,28 @@
import 'package:blog_app/models/common.dart';
List<T> convertListResponse<T>(
dynamic data,
T Function(Map<String, dynamic>) fromJson,
) {
if (data is List) {
return data.map((item) => fromJson(item as Map<String, dynamic>)).toList();
}
throw FormatException(
'Expected a list of items for conversion, but got ${data.runtimeType}',
);
}
PageResult<T> convertPageResponse<T>(
dynamic data,
T Function(Map<String, dynamic>) fromJson,
) {
if (data is Map<String, dynamic>) {
return PageResult<T>.fromJson(
data,
(json) => fromJson(json as Map<String, dynamic>),
);
}
throw FormatException(
'Expected a Map for page response conversion, but got ${data.runtimeType}',
);
}