fix logout issue
This commit is contained in:
@@ -87,23 +87,6 @@ class MainModel extends ChangeNotifier {
|
||||
userListener?.cancel();
|
||||
userListener =
|
||||
Services.instance.authService.getUserStream().listen((_user) {
|
||||
// if (_user != null) {
|
||||
// models.forEach((m) => m.initUser(_user));
|
||||
// // call diffPrivileges if privilege changed or first time login
|
||||
// if (this.user == null || _user.diffPrivileges(this.user!)) {
|
||||
// models.forEach((m) => m.privilegeChanged());
|
||||
// }
|
||||
// if (this.user == null) {
|
||||
// uploadMsgToken();
|
||||
// }
|
||||
// } else {
|
||||
// if (this.user != null) {
|
||||
// models.forEach((m) => m.logout());
|
||||
// }
|
||||
// }
|
||||
// this.user = _user;
|
||||
// isLoaded = true;
|
||||
|
||||
bool isFirstTime = user == null && _user != null;
|
||||
bool diffPrivilege =
|
||||
_user != null && (user == null || user!.diffPrivileges(_user));
|
||||
@@ -163,24 +146,28 @@ class MainModel extends ChangeNotifier {
|
||||
}
|
||||
|
||||
Future<void> _uploadMsgToken() {
|
||||
log.info("messagingToken:$messagingToken::user:$user");
|
||||
if (messagingToken == null || user == null) return Future.value();
|
||||
if (messagingToken == null || user == null) return Future.value();
|
||||
return Services.instance.userService.uploadMsgToken(messagingToken!);
|
||||
}
|
||||
|
||||
Future<void> _removeMsgToken() {
|
||||
if (messagingToken == null || user == null) return Future.value();
|
||||
if (messagingToken == null || user == null) return Future.value();
|
||||
return Services.instance.userService.removeMsgToken(messagingToken!);
|
||||
}
|
||||
|
||||
Future<void> signout() async {
|
||||
try {
|
||||
await Services.instance.authService.signoutStart();
|
||||
await _removeMsgToken();
|
||||
for (var i = 0; i < models.length; i++) {
|
||||
models[i].initUser(null);
|
||||
models[i].logout();
|
||||
}
|
||||
|
||||
await Services.instance.authService.signoutEnd();
|
||||
} catch (e) {
|
||||
log.info(e.toString());
|
||||
log.info("signout:${e.toString()}");
|
||||
}
|
||||
await Services.instance.authService.signout();
|
||||
models.forEach((m) => m.logout());
|
||||
}
|
||||
|
||||
Future<bool> hasInvite() async {
|
||||
|
||||
Reference in New Issue
Block a user