基础组件库
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 

53 linhas
1.6 KiB

  1. import 'package:connectivity/connectivity.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:zhiying_base_widget/pages/home_page/home_page.dart';
  4. import 'package:zhiying_comm/util/application.dart';
  5. import 'package:zhiying_comm/zhiying_comm.dart';
  6. // 启动页,页面初始化等操作~跟原生启动页保持一致,防止白屏问题
  7. class LaunchPage extends StatefulWidget {
  8. final WidgetBuilder builder;
  9. const LaunchPage({Key key, this.builder}) : super(key: key);
  10. @override
  11. _LaunchPageState createState() => _LaunchPageState();
  12. }
  13. class _LaunchPageState extends State<LaunchPage> {
  14. @override
  15. void initState() {
  16. Connectivity().checkConnectivity().then((connectivityResult) {
  17. if (connectivityResult == ConnectivityResult.mobile ||
  18. connectivityResult == ConnectivityResult.wifi) {
  19. // I am connected to a wifi network.
  20. Logger.debug('ConnectivityResult.wifi');
  21. print('ConnectivityResult.wifi');
  22. Application.init().then((_) {
  23. if (widget.builder != null) {
  24. Navigator.of(context)
  25. .pushReplacement(MaterialPageRoute(builder: widget.builder));
  26. } else {
  27. Navigator.of(context).pushReplacement(
  28. MaterialPageRoute(builder: (context) => HomePage()));
  29. }
  30. }).catchError((err) {
  31. Logger.error(err);
  32. });
  33. } else {
  34. Logger.error('未知网络,APP初始化失败');
  35. print('unknow');
  36. }
  37. });
  38. super.initState();
  39. }
  40. @override
  41. Widget build(BuildContext context) {
  42. return Scaffold(
  43. body: Center(child: Text('这个是启动页,正在初始化...')),
  44. );
  45. }
  46. }