feat:增加dio网络请求

This commit is contained in:
2025-07-15 19:54:32 +08:00
parent 3f12b03648
commit c8f93f15a1
16 changed files with 570 additions and 126 deletions

View File

@@ -18,7 +18,7 @@ class RecipeCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Image.network(
recipe.imageUrl,
recipe.recordList[0].imageUrl,
height: 200,
width: double.infinity,
fit: BoxFit.contain,
@@ -106,7 +106,7 @@ class RecipeCard extends StatelessWidget {
const SizedBox(width: 12),
_buildIconText(
icon: Icons.star_outline,
text: recipe.favoriteCount.toString(),
text: recipe.favouriteCount.toString(),
color: Colors.blue,
),
const SizedBox(width: 12),
@@ -121,7 +121,7 @@ class RecipeCard extends StatelessWidget {
children: [
_buildIconText(
icon: Icons.date_range,
text: recipe.date,
text: recipe.recordList[0].date,
color: Colors.red,
),
],

View File

@@ -3,23 +3,23 @@ import 'package:food_hub_app/models/recipe.dart';
import 'package:timelines_plus/timelines_plus.dart';
class RecipeTimeline extends StatelessWidget {
final List<Recipe> recipeList;
final List<Record> recordList;
const RecipeTimeline({super.key, required this.recipeList});
const RecipeTimeline({super.key, required this.recordList});
@override
Widget build(BuildContext context) {
return Timeline.tileBuilder(
theme: TimelineThemeData(nodePosition: 0, indicatorPosition: 0),
builder: TimelineTileBuilder.connected(
itemCount: recipeList.length,
itemCount: recordList.length,
connectorBuilder:
(context, index, type) => Connector.solidLine(thickness: 2),
indicatorBuilder: (context, index) {
return Indicator.dot(size: 12.0);
},
contentsBuilder: (context, index) {
return TimelineCard(recipe: recipeList[index]);
return TimelineCard(record: recordList[index]);
},
),
);
@@ -27,9 +27,9 @@ class RecipeTimeline extends StatelessWidget {
}
class TimelineCard extends StatelessWidget {
final Recipe recipe;
final Record record;
const TimelineCard({super.key, required this.recipe});
const TimelineCard({super.key, required this.record});
@override
Widget build(BuildContext context) {
@@ -41,7 +41,7 @@ class TimelineCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
recipe.date,
record.date,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
),
Card(
@@ -51,10 +51,10 @@ class TimelineCard extends StatelessWidget {
padding: EdgeInsets.all(10),
child: Column(
children: [
Text(recipe.name, style: TextStyle(fontSize: 16)),
Text(record.name, style: TextStyle(fontSize: 16)),
const SizedBox(height: 10),
Image.network(
recipe.imageUrl,
record.imageUrl,
width: double.infinity,
height: 250,
fit: BoxFit.contain,