app-starlock/star_lock/lib/starLockApplication/starLockApplication.dart
Daisy dd1deb6ce1 1,修改登录后初始化极光推送
2,修改废弃的打开URL的方法
3,修复同意隐私协议前调用了设备信息的上架问题
2024-03-20 10:57:20 +08:00

66 lines
2.0 KiB
Dart

import 'package:flutter/material.dart';
import 'package:star_lock/login/login/starLock_login_page.dart';
import 'package:star_lock/tools/appFirstEnterHandle.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() {
// TODO: implement initState
super.initState();
print("StarLockApplication initState");
}
@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);
}
}
}