middleWares.dart 621B

12345678910111213141516
  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. if (!isLogin && !isSplashScreen && !isLoginPage) {
  10. // addPostFrameCallback 作用是等当前帧绘制完成之后再加载
  11. // https://github.com/jonataslaw/getx/issues/262
  12. SchedulerBinding.instance?.addPostFrameCallback((_) => Get.offNamed('/login'));
  13. }
  14. }