【发布时间】:2020-05-29 15:06:26
【问题描述】:
我是 dart 新手,我试图在我的登录页面中从我的 auth.dart 文件中调用一个函数,我尝试了很多解决方案,但都没有成功,所以有什么新想法吗? 这是我的授权文件:
abstract class BaseAuth{
Future<FirebaseUser> currentUser();
Future<String> signIn(String email, String password);
Future<String> createUser(String email, String password);
Future<void> signOut();
Future<String> getEmail();
Future<bool> isEmailVerified();
Future<void> resetPassword(String email);
Future<void> sendEmailVerification();
}
class Auth implements BaseAuth{
final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
Future<String> signIn(String email, String password) async {
FirebaseUser user = (await _firebaseAuth.signInWithEmailAndPassword(email: email, password: password)) as FirebaseUser;
return user.uid;
}
Future<String> createUser(String email, String password) async {
FirebaseUser user = (await _firebaseAuth.createUserWithEmailAndPassword(email: email, password: password)) as FirebaseUser;
return user.uid;
}
Future<FirebaseUser> currentUser() async {
FirebaseUser user = await _firebaseAuth.currentUser();
print("uid ${user.uid}");
return user;
}
Future<String> getEmail() async{
FirebaseUser user = await _firebaseAuth.currentUser();
return user.email;
}
Future<void> signOut() async {
return _firebaseAuth.signOut();
}
Future<bool> isEmailVerified() async{
FirebaseUser user = await _firebaseAuth.currentUser();
return user.isEmailVerified;
}
Future<void> resetPassword(String email) async{
return _firebaseAuth.sendPasswordResetEmail(email: email);
}
Future<void> sendEmailVerification() async{
FirebaseUser user = await _firebaseAuth.currentUser();
return user.sendEmailVerification();
}
}
【问题讨论】:
-
使用 Provider 包。