Flutter Bloc体系结构:从实用和临时的身份验证/db连接迁移

Flutter Bloc体系结构:从实用和临时的身份验证/db连接迁移,flutter,dart,bloc,flutter-bloc,Flutter,Dart,Bloc,Flutter Bloc,我正在调整一个私人项目以使用BLoC。我喜欢严格的集团分离,但我不知道如何调整我的项目的某些部分 其中一个部分是持久登录。在我以前的项目中,我使用单例类实现了这一点,在应用程序启动之前,它会检查服务器加载和检查的[flatter\u secure\u storage][1]中的内容。我不熟悉“最佳实践”解决方案。我该如何巧妙地做到这一点 另一部分是“数据库连接”。我当前的项目使用RESTAPI的简单接口。这与身份验证单例结合使用。我知道BLoC模式需要一个数据层,它应该获取数据(在我的例子中是从

我正在调整一个私人项目以使用BLoC。我喜欢严格的集团分离,但我不知道如何调整我的项目的某些部分

其中一个部分是持久登录。在我以前的项目中,我使用单例类实现了这一点,在应用程序启动之前,它会检查服务器加载和检查的
[flatter\u secure\u storage][1]
中的内容。我不熟悉“最佳实践”解决方案。我该如何巧妙地做到这一点


另一部分是“数据库连接”。我当前的项目使用RESTAPI的简单接口。这与身份验证单例结合使用。我知道BLoC模式需要一个数据层,它应该获取数据(在我的例子中是从restapi)。在我目前的情况下,我只是从身份验证单例获取身份验证数据。在这种情况下,什么是更好的做法?

我将使用处理用户帐户的HydreatedBloc UserBloc。HydreatedBloc可以存储有关用户是否登录到Flatter_secure_存储或任何您想要的数据库的数据。然后,BloC将一直处于活动状态,并在用户打开和关闭应用程序之间保存其状态

UserBloc可以使用日志数据获取事件,以向身份验证服务发出请求。它输出LoggedInState或LoggedOutState。在您创建MaterialApp后的小部件树中,您可以拥有一个BlocBuilder,该BlocBuilder侦听UserBloc并在用户未登录时返回您的登录页面,否则返回您的普通应用程序