我目前正在使用 dartz 包设置电话号码验证。我的 firebase_auth_facade.dart 继承自 i_auth_facade.dart 但是当我尝试设置电话号码验证功能时,我收到错误:
“FirebaseAuthFacade.verifyAndLinkPhoneNumber' ('Future<Either<AuthFailure, Unit>> Function(String, String)') 不是 'IAuthFacade.verifyAndLinkPhoneNumber' ('Future<Either<AuthFailure, Unit>> Function({字符串 smsCode,字符串验证 ID})')。”
这是我的代码:
i_auth_facade.dart:
Future<Either<AuthFailure, Unit>> verifyAndLinkPhoneNumber({
@required String verificationId,
@required String smsCode,
});
firebase_auth_facade.dart:
@override
Future<Either<AuthFailure, Unit>> verifyAndLinkPhoneNumber(
String verificationId, String smsCode) async {
try {
PhoneAuthCredential phoneAuthCredential = PhoneAuthProvider.credential(
verificationId: verificationId, smsCode: smsCode);
if (phoneAuthCredential == null) {
return left((const AuthFailure.cancelledByUser()));
}
await _firebaseAuth.currentUser.linkWithCredential(phoneAuthCredential);
return right(unit);
} on FirebaseAuthException catch (_) {
return left(const AuthFailure.serverError());
}
}
有谁知道为什么后者不是有效的覆盖?谢谢!