70 lines
2.2 KiB
Dart
70 lines
2.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:star_lock/login/login/starLock_login_page.dart';
|
|
import 'package:star_lock/tools/appFirstEnterHandle.dart';
|
|
import 'package:star_lock/debug/debug_tool.dart';
|
|
import 'package:star_lock/tools/storage.dart';
|
|
|
|
import '../main/lockMian/lockMain/lockMain_page.dart';
|
|
|
|
class StarLockApplication extends StatefulWidget {
|
|
const StarLockApplication({Key? key}) : super(key: key);
|
|
|
|
@override
|
|
State<StarLockApplication> createState() => _StarLockApplicationState();
|
|
}
|
|
|
|
class _StarLockApplicationState extends State<StarLockApplication> {
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
print("StarLockApplication initState");
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
DeBug.showFloatWidget();
|
|
});
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
print("StarLockApplication build");
|
|
AppFirstEnterHandle().getAppFirstEnter(context, isAgreePrivacy);
|
|
getAgreePrivacyShowUpdate();
|
|
|
|
return FutureBuilder<bool>(
|
|
future: getLoginStatus(),
|
|
builder: (context, snapshot) {
|
|
if (snapshot.connectionState == ConnectionState.waiting) {
|
|
// 如果异步操作尚未完成,返回一个加载指示器或其他等待状态的小部件
|
|
return const CircularProgressIndicator();
|
|
} else if (snapshot.hasData) {
|
|
if (snapshot.data!) {
|
|
// 如果用户已登录,返回主页面
|
|
return const StarLockMainPage();
|
|
} else {
|
|
// 如果用户未登录,返回登录页面
|
|
return const StarLockLoginPage();
|
|
}
|
|
} else {
|
|
// 如果没有数据,返回一个空白的小部件
|
|
return const StarLockLoginPage();
|
|
}
|
|
},
|
|
);
|
|
}
|
|
|
|
Future<bool> getLoginStatus() async {
|
|
final data = await Storage.getString(saveUserLoginData);
|
|
if (data != null && data.isNotEmpty) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
Future<void> getAgreePrivacyShowUpdate() async {
|
|
final data = await Storage.getString(isAgreePrivacy);
|
|
if (data == isAgreePrivacy) {
|
|
AppFirstEnterHandle().getAppFirstEnter(context, isShowUpdateVersion);
|
|
}
|
|
}
|
|
}
|