import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import 'features/auth/login_page.dart'; import 'features/commercial/commercial_page.dart'; import 'features/home/home_page.dart'; import 'features/outfit/outfit_page.dart'; import 'features/profile/profile_page.dart'; import 'features/wardrobe/wardrobe_page.dart'; void main() { runApp(const ProviderScope(child: SloganApp())); } class SloganApp extends ConsumerWidget { const SloganApp({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { final router = ref.watch(routerProvider); return MaterialApp.router( title: '我的形象穿搭', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: const Color(0xFF5C6BC0)), useMaterial3: true, appBarTheme: const AppBarTheme(centerTitle: true), ), routerConfig: router, ); } } /// 路由表:启动无 token 进登录页;有 token 进主框架 final routerProvider = Provider((ref) { return GoRouter( initialLocation: '/login', routes: [ GoRoute( path: '/login', builder: (ctx, state) => const LoginPage(), ), GoRoute( path: '/home', builder: (ctx, state) => const HomePage(), ), GoRoute( path: '/profile', builder: (ctx, state) => const ProfilePage(), ), GoRoute( path: '/wardrobe', builder: (ctx, state) => const WardrobePage(), ), GoRoute( path: '/outfit', builder: (ctx, state) => const OutfitPage(), ), GoRoute( path: '/commercial', builder: (ctx, state) => const CommercialPage(), ), ], ); });