flutter app拒絕二次登陸

最近在用flutter開(kāi)發(fā)app,遇到了app關(guān)閉后,打開(kāi)仍然是登陸頁(yè)面的問(wèn)題。
為了解決這個(gè)問(wèn)題,我們首先應(yīng)該清楚,登陸的操作是為了干什么?
答:是為了請(qǐng)求token。
所以我們引入了shared_preferences,用來(lái)存放token(app關(guān)閉后,存儲(chǔ)的信息依然存在。不會(huì)用的同學(xué)可以百度)
接著,我們?cè)趍ain.dart的build中把home重定向到登陸后的頁(yè)面即可。

// entrance 為重定向的路由。
    Widget build(BuildContext context) {
    applic.ctx = context;
    return MaterialApp(
        navigatorKey: navigatorKey,
        routes: Config.routes,
        debugShowCheckedModeBanner: false,
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        locale: _locale,
        localizationsDelegates: [
          localizationDelegate, // 注冊(cè)一個(gè)新的delegate
          const TranslationsDelegate(),
          GlobalMaterialLocalizations.delegate,
          GlobalWidgetsLocalizations.delegate,
          GlobalCupertinoLocalizations.delegate // <-- needed for iOS
        ],
        supportedLocales: applic.supportedLocales(),
        home: entrance);
  }

在main.dart的initState中判斷是否有token
SpUtil.preferences.getString("token") 為用shared_preferences存好的token

  dynamic entrance;
  void initState() {
    super.initState();
    if (SpUtil.preferences.getString("token") != null) {
      entrance = Home();
    }else{
      entrance = Login();
    }
    }

這樣就可以判斷進(jìn)入登錄頁(yè)面還是主頁(yè)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容