flutter 网络请求 统一处理token 失效返回登录页面

利用GlobalKey

1.创建全局方法。

class Routes{
  static GlobalKey navigatorKey = GlobalKey();
  static final String toLoginPage = '/login';
}

2.在main.dart中的MaterialApp下设置navigatorKey

MaterialApp(
          title: 'app_name',
          theme: kLightTheme,
           navigatorKey: Routes.navigatorKey, //设置在这里
            routes: {
              /**
                   * 命名导航路由,启动程序默认打开的是以'/'对应的界面LoginScreen()
                   * 凡是后面使用Navigator.of(context).pushNamed('/Home'),都会跳转到Home(),
                   */
              Routes.toTabBarPage: (context) => TabbarPage(),
              Routes.toLoginPage: (context) => LoginPage(),
            }));

3.跳转到登录页面

Routes.navigatorKey.currentState?.pushNamedAndRemoveUntil(Routes.toLoginPage, ModalRoute.withName("/"));

你可能感兴趣的:(flutter 网络请求 统一处理token 失效返回登录页面)