[ad_1]
ユーザーモデル
import 'package:expence_app/models/models.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:json_annotation/json_annotation.dart';
@JsonSerializable()
class UserModel {
final String? uid;
final String name;
final String? email;
final double? budget;
final String photoURL;
final Currency? currency;
UserModel({
this.uid,
required this.name,
this.email,
this.budget,
required this.photoURL,
this.currency,
});
factory UserModel.fromFirebaseUser(User user) => UserModel(
uid: user.uid,
name: user.displayName,
email: user.email,
budget: null,
photoURL: user.photoURL,
currency: null,
);
}
Auth.dart
import 'dart:async';
import 'package:expence_app/models/models.dart';
import 'package:expence_app/services/services.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/foundation.dart';
import 'package:google_sign_in/google_sign_in.dart';
class AuthService {
final FirebaseAuth _auth = FirebaseAuth.instance;
User _curentuser = FirebaseAuth.instance.currentUser;
final GoogleSignIn _googleSignIn = GoogleSignIn(scopes: [
'https://www.googleapis.com/auth/plus.me',
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile',
]);
User get getUser =>
_auth.currentUser.then((user) => UserModel.fromFirebaseUser(user));
Stream<User> get user =>
_auth.authStateChanges.map((user) => UserModel.fromFirebaseUser(user));
}
ユーザーは getUser => _auth.currentUser.then((user) => UserModel.fromFirebaseUser(user)); を取得します。
メソッド ‘then’ はタイプ ‘User’ に対して定義されていません。 名前を既存のメソッドの名前に修正するか、「then」という名前のメソッドを定義してみてください。
ストリーム get user => _auth.authStateChanges.map((user) => UserModel.fromFirebaseUser(user));
メソッド ‘map’ はタイプ ‘Function’ に対して定義されていません。 名前を既存のメソッドの名前に修正するか、’map’ という名前のメソッドを定義してみてください。
これは、firebase に接続して現在のユーザーを取得し、そのユーザーを取得しようとしたときのエラーです。
新しい寄稿者
[ad_2]
Source link
| |