import 'package:blog_app/apis/blog.dart'; import 'package:blog_app/models/blog.dart'; import 'package:blog_app/widget/blog.dart'; import 'package:flutter/material.dart'; class CategoryPage extends StatefulWidget { const CategoryPage({super.key}); @override State createState() => _CategoryPageState(); } class _CategoryPageState extends State { late List categories = []; @override void initState() { super.initState(); _loadBlogCategory(); } Future _loadBlogCategory() async { try { final result = await queryBlogCategoryApi(); setState(() { categories = result; }); } catch (e) { throw Exception('获取博客分类失败: $e'); } } @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ buildCategoryTitle(context, categories.length), SizedBox(height: 10), // 分类列表 Expanded( child: ListView.builder( itemCount: categories.length, itemBuilder: (context, index) { final category = categories[index]; return buildCategoryCard(context, category); }, ), ), ], ); } }