Flutter:在整个项目中访问用户模式

时间:2018-11-07 06:51:22

标签: firebase dart flutter

我想知道是否有一种方法可以一次调用firebase以获取用户模型并基本上在整个应用程序中使用它。我一直需要打电话给当前用户以在需要的地方获取他的信息,例如供稿视图,个人资料视图,警报视图等。

代码:users_api.dart

  observeCurrentUser(Function onSuccess(User u), Function onFailure(String e)) {
    Services().auth.isLoggedIn((u) {
      Services().crud.read(this.usersCollection, u.uid, (ds) {
        onSuccess(User().transform(ds.documentID, ds.data));
      }, (e) {
        onFailure(e);
      });
    }, () {
      onFailure('No User Logged In...');
    });
  }

下面是auth.dart文件中的Services().auth.isLoggedIn()...方法

  Future isLoggedIn(Function onSuccess (FirebaseUser user), Function onFailure ()) async {
    FirebaseUser u = await this.auth.currentUser();
    if (u != null) {
      onSuccess(u);
    } else {
      onFailure();
    }
  }

我是否可以在main.dart页面中调用observeCurrentUser()并能够访问它而无需通过每个小部件,尤其是不需要它们的小部件?

0 个答案:

没有答案