circle_app/circle_app/lib/app/splash/logic.dart

45 lines
1.3 KiB
Dart

import 'package:get/get.dart';
import '../../router/app_routers.dart';
import 'state.dart';
import 'package:shared_preferences/shared_preferences.dart';
import '../../network/api.dart';
import '../../network/dio_manager.dart';
import '../../util/device.dart';
import '../../util/util.dart';
import '../login/login/logic.dart';
class SplashLogic extends GetxController {
final SplashState state = SplashState();
@override
void onInit() async{
super.onInit();
if((await getAuthorization()).isEmpty){
Get.toNamed(AppRoutes.Login);
}else{
var data =
await DioManager.instance.put(url: Api.refreshToken,params:{});
var bean = BaseResponse<LoginData>.fromJson(data, (data) => LoginData.fromJson(data));
if (bean.code == 200) {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('Authorization', bean.data!.Authorization.toString());
Get.offNamed(AppRoutes.Home);
return;
} else if (bean.code == 30002) {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('Authorization', bean.data!.Authorization.toString());
Get.offNamed(AppRoutes.Complete_materialPage);
return;
}
showToast(bean.msg.toString());
// Get.toNamed(AppRoutes.Home);
}
}
}