#flutter-navigation
#flutter-navigation
Вопрос:
На самом деле я хотел перейти на рабочий стол, если пользователь не вошел в систему, если пользователь вошел в систему, то я хочу проверить, является ли он клиентом или магазином. Если это клиент, я хочу перейти на рабочий стол пользователя, в противном случае перейдите на рабочий стол хранилища.
import 'package:flutter/material.dart'; import 'package:animated_splash_screen/animated_splash_screen.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:where2buy/Screen/Store/store_home_screen.dart'; import 'package:where2buy/Screen/User/usr_home_screen.dart'; import 'package:where2buy/Screen/type_screen.dart'; class SplashScreen extends StatefulWidget { const SplashScreen({Key? key}) : super(key: key); @override _SplashScreenState createState() =gt; _SplashScreenState(); } class _SplashScreenState extends Statelt;SplashScreengt; { bool loggedIn = false; bool userType = true; @override Widget build(BuildContext context) { return Scaffold( body: AnimatedSplashScreen( duration: 3000, splash: Column( mainAxisAlignment: MainAxisAlignment.center, children: const [ Icon(Icons.shopping_cart, size: 40), SizedBox( width: 10, ), Text( 'Where2Buy', style: TextStyle(fontSize: 20), ) ]),
Условия навигации
nextScreen:isLoggedIn() ? getType() ? const UserHomeScreen() : const StoreHomeScreen() : const TypeScreen(), splashTransition: SplashTransition.fadeTransition, ), ); }
проверка входа в систему или нет
isLoggedIn() async { SharedPreferences pref = await SharedPreferences.getInstance(); bool loggedIn = pref.getBool('LoggedIn') ?? false; return loggedIn ? loggedIn : false; }
Проверка того, какой тип пользователя вошел в систему
getType() async { SharedPreferences pref = await SharedPreferences.getInstance(); return pref.getString('type') == 'user' ? true : false; } }
Когда я перемещаюсь по нему, показывающее будущее не является подтипом типа «bool»