Error: The name 'User' is defined in the libraries 'package:firebase_auth/firebase_auth.dart' and 'package:quizmaker/models/user.dart'
Error: The name 'User' is defined in the libraries 'package:firebase_auth/firebase_auth.dart' and 'package:quizmaker/models/user.dart'
Dart 分析显示以下错误:
错误:未定义 class 'FirebaseUser'。 (undefined_class 在 [quizmaker] lib\services\auth.dart:7)
错误:名称 'User' 在库 'package:firebase_auth/firebase_auth.dart' 和 'package:quizmaker/models/user.dart' 中定义。 (ambiguous_import 在 [quizmaker] lib\services\auth.dart:7)
错误:名称 'User' 在库 'package:firebase_auth/firebase_auth.dart' 和 'package:quizmaker/models/user.dart' 中定义。 (ambiguous_import 在 [quizmaker] lib\services\auth.dart:8)
错误:'User' 不是函数。 (invocation_of_non_function 在 [quizmaker] lib\services\auth.dart:8)
错误:名称 'User' 在库 'package:firebase_auth/firebase_auth.dart' 和 'package:quizmaker/models/user.dart' 中定义。 (ambiguous_import 在 [quizmaker] lib\services\auth.dart:15)
代码如下:
import 'package:firebase_auth/firebase_auth.dart';
import 'package:quizmaker/models/user.dart';
class AuthService {
FirebaseAuth _auth = FirebaseAuth.instance;
User _userFromFirebaseUser(FirebaseUser user){
return user != null ? User(uid: user.uid) : null;
}
Future signInEmailAndPassword(String email, password) async {
try {
UserCredential authResult = await _auth.signInWithEmailAndPassword(
email: email, password: password);
User? firebaseUser = authResult.user;
return _userFromFirebaseUser(firebaseUser);
} catch (e) {
print(e.toString());
}
}
}
import 'package:quizmaker/models/user.dart' as u;
.
.
u.User _userFromFirebaseUser(FirebaseUser user){
return user != null ? u.User(uid: user.uid) : null;
}
错误是因为 FirebaseAuth 库中有一个 User
对象,在您的定制模型中也有。您必须指定哪个来自您的进口。
从您的自定义模型中将其导入为 u
,如上面的代码所示,当您在函数中使用它时,将其引用为 u.user
.
Dart 分析显示以下错误:
错误:未定义 class 'FirebaseUser'。 (undefined_class 在 [quizmaker] lib\services\auth.dart:7)
错误:名称 'User' 在库 'package:firebase_auth/firebase_auth.dart' 和 'package:quizmaker/models/user.dart' 中定义。 (ambiguous_import 在 [quizmaker] lib\services\auth.dart:7)
错误:名称 'User' 在库 'package:firebase_auth/firebase_auth.dart' 和 'package:quizmaker/models/user.dart' 中定义。 (ambiguous_import 在 [quizmaker] lib\services\auth.dart:8)
错误:'User' 不是函数。 (invocation_of_non_function 在 [quizmaker] lib\services\auth.dart:8)
错误:名称 'User' 在库 'package:firebase_auth/firebase_auth.dart' 和 'package:quizmaker/models/user.dart' 中定义。 (ambiguous_import 在 [quizmaker] lib\services\auth.dart:15)
代码如下:
import 'package:firebase_auth/firebase_auth.dart';
import 'package:quizmaker/models/user.dart';
class AuthService {
FirebaseAuth _auth = FirebaseAuth.instance;
User _userFromFirebaseUser(FirebaseUser user){
return user != null ? User(uid: user.uid) : null;
}
Future signInEmailAndPassword(String email, password) async {
try {
UserCredential authResult = await _auth.signInWithEmailAndPassword(
email: email, password: password);
User? firebaseUser = authResult.user;
return _userFromFirebaseUser(firebaseUser);
} catch (e) {
print(e.toString());
}
}
}
import 'package:quizmaker/models/user.dart' as u;
.
.
u.User _userFromFirebaseUser(FirebaseUser user){
return user != null ? u.User(uid: user.uid) : null;
}
错误是因为 FirebaseAuth 库中有一个 User
对象,在您的定制模型中也有。您必须指定哪个来自您的进口。
从您的自定义模型中将其导入为 u
,如上面的代码所示,当您在函数中使用它时,将其引用为 u.user
.