flutter 网络请求 统一处理token 失效返回登录页面
2021-08-20 本文已影响0人
冰点雨
利用GlobalKey
1.创建全局方法。
class Routes{
static GlobalKey<NavigatorState> navigatorKey = GlobalKey();
static final String toLoginPage = '/login';
}
2.在main.dart中的MaterialApp下设置navigatorKey
MaterialApp(
title: 'app_name',
theme: kLightTheme,
navigatorKey: Routes.navigatorKey, //设置在这里
routes: <String, WidgetBuilder>{
/**
* 命名导航路由,启动程序默认打开的是以'/'对应的界面LoginScreen()
* 凡是后面使用Navigator.of(context).pushNamed('/Home'),都会跳转到Home(),
*/
Routes.toTabBarPage: (context) => TabbarPage(),
Routes.toLoginPage: (context) => LoginPage(),
}));
3.跳转到登录页面
Routes.navigatorKey.currentState?.pushNamedAndRemoveUntil(Routes.toLoginPage, ModalRoute.withName("/"));