Files
PiliPlus/lib/services/account_service.dart
dom 5795122510 opt import
Signed-off-by: dom <githubaccount56556@proton.me>
2026-05-21 12:24:56 +08:00

45 lines
975 B
Dart

import 'dart:async' show StreamSubscription;
import 'package:PiliPlus/models/user/info.dart';
import 'package:PiliPlus/utils/storage_pref.dart';
import 'package:get/get.dart';
class AccountService extends GetxService {
final RxString face = ''.obs;
final RxBool isLogin = false.obs;
@override
void onInit() {
super.onInit();
UserInfoData? userInfo = Pref.userInfoCache;
if (userInfo != null) {
face.value = userInfo.face ?? '';
isLogin.value = true;
} else {
face.value = '';
isLogin.value = false;
}
}
}
mixin AccountMixin on GetLifeCycleBase {
StreamSubscription<bool>? _listener;
AccountService get accountService => Get.find<AccountService>();
void onChangeAccount(bool isLogin);
@override
void onInit() {
super.onInit();
_listener = accountService.isLogin.listen(onChangeAccount);
}
@override
void onClose() {
_listener?.cancel();
_listener = null;
super.onClose();
}
}