gpt4 book ai didi

flutter - 如何在 Flutter 中保存用户登录详细信息?

转载 作者:行者123 更新时间:2023-12-03 02:43:50 24 4
gpt4 key购买 nike

我是 flutter 的新手,想制作一个只有经过身份验证的用户(通过填写电子邮件和密码)才能使用的应用程序。所以我正在考虑制作一个名为 Authentication 的根小部件,我将在其中检查用户是否已通过身份验证。如果他们然后将他们带到 Home() Widget(基本上是应用程序主页)或 SignIn() Widget(这是登录页面)。

  • 我必须在 2 个 senerios 中检查用户身份验证:
  • 当应用程序打开时,以前登录的用户不必再次登录
  • 填写电子邮件 ID 和密码后,用户点击 Sign In 按钮

  • 我面临以下问题,不知道如何解决它们(假设没有注册选项并且用户数据不是通过某些 UI 直接输入到数据库中的):
  • 如果用户已经登录,如何将他们直接带到 Home() Widget ?

    这是我目前拥有的代码我不确定是否是做这种类型的应用程序的正确方法所以如果有更好的方法来做到这一点请告诉:

  • import 'package:flutter/material.dart';
    import 'package:myapp/home.dart';
    import 'package:myapp/signIn.dart';


    void main() => runApp(Authenticate());

    class Authenticate extends StatelessWidget {


    final String authenticateEmail;
    final String authenticatePassword;

    Authenticate({this.authenticateEmail, this.authenticatePassword});




    // Make a call to db to check if the data provided is correct or not
    // If it is correct we then navigate the user to Home() Widget
    // Else to SignIn() Widget

    @override
    Widget build(BuildContext context) {

    if ( make some call to db to check if data is there) {
    return Home();
    }
    else {
    return SignIn();
    }

    }
    }

    上面代码的问题是当应用程序第一次打开时如何将用户直接带到 SignIn() Widget 我应该用空字符串初始化字段并在方法中检查条件是否字符串为空?

    最佳答案

    创建一个 sqlite 表,然后当从服务器验证用户成功时将所需的详细信息保存到本地表(删除保存前保存的任何先前的行)。

    现在只需检查应用程序启动用户表是否为空并决定流应该在哪里。

    默认情况下,第一次运行表将为空,因此它将显示登录页面

    APP RUN -> Check if row exists in user table

    if YES -> return Home();
    else -> return SignIn();

    关于flutter - 如何在 Flutter 中保存用户登录详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60112894/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com