middleWares.dart 699B

1234567891011121314151617
  1. import 'package:flutter/scheduler.dart';
  2. import 'package:get/get.dart';
  3. import 'package:get_storage/get_storage.dart';
  4. void routingCallback (routing) {
  5. GetStorage box = GetStorage();
  6. bool isLogin = box.hasData('token');
  7. bool isSplashScreen = routing?.current == '/splash';
  8. bool isLoginPage = routing?.current == '/login';
  9. bool isAgreementPage = routing?.current == '/agreement';
  10. if (!isLogin && !isSplashScreen && !isLoginPage&&!isAgreementPage) {
  11. // addPostFrameCallback 作用是等当前帧绘制完成之后再加载
  12. // https://github.com/jonataslaw/getx/issues/262
  13. SchedulerBinding.instance?.addPostFrameCallback((_) => Get.offNamed('/login'));
  14. }
  15. }