hi-client/lib/app/utils/account_guard.dart

38 lines
1.2 KiB
Dart

import 'package:get/get.dart';
import 'package:kaer_with_panels/app/common/app_run_data.dart';
import 'package:kaer_with_panels/app/common/app_config.dart';
import 'package:kaer_with_panels/app/widgets/dialogs/hi_dialog.dart';
import 'package:kaer_with_panels/app/routes/app_pages.dart';
import 'package:kaer_with_panels/app/utils/kr_common_util.dart';
import 'package:kaer_with_panels/app/services/kr_site_config_service.dart';
Future<bool> ensureAccountExists() async {
final app = KRAppRunData.getInstance();
final account = app.kr_account.value;
final isLoggedIn = app.kr_isLogin.value;
final config = AppConfig.getInstance();
if (account == null ||
account.isEmpty ||
!isLoggedIn
) {
await HIDialog.show(
message: '未检测到账号信息,请重试初始化',
confirmText: '重试',
preventBackDismiss: true,
onConfirm: () {
Get.offAllNamed(Routes.KR_SPLASH);
},
);
return false;
}
var crispId = config.kr_website_id;
var deviceLimitText = config.device_limit;
var deviceLimit = int.tryParse(deviceLimitText) ?? 0;
if ((crispId.isEmpty || crispId == '0') || deviceLimit == 0) {
KRSiteConfigService().initialize();
}
return true;
}