import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'package:bbyyy/beans/app_store_review_bean_entity.dart'; import 'package:bbyyy/beans/login_information_bean_entity.dart'; import 'package:bbyyy/https/MyDio.dart'; import 'package:bbyyy/https/my_request.dart'; import 'package:bbyyy/my_tools/easy_loading/easy_loading.dart'; import 'package:bbyyy/my_tools/event_bus.dart'; import 'package:bbyyy/my_tools/my_colors.dart'; import 'package:bbyyy/my_tools/my_cookie.dart'; import 'package:bbyyy/my_tools/my_tools.dart'; import 'package:bbyyy/my_tools/my_views.dart'; import 'package:bbyyy/my_tools/s.dart'; import 'package:bbyyy/paegs/login_page/login_page.dart'; import 'package:bbyyy/paegs/root_page/root_page.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; class WelcomePage extends StatefulWidget { @override _WelcomePageState createState() => _WelcomePageState(); } class _WelcomePageState extends State { @override void initState() { super.initState(); EasyLoading.instance ..displayDuration = const Duration(milliseconds: 1500) ..indicatorType = EasyLoadingIndicatorType.ring ..loadingStyle = EasyLoadingStyle.light ..maskType = EasyLoadingMaskType.black ..indicatorSize = 45.0 ..radius = 10.0 ..textPadding = EdgeInsets.all(0) ..contentPadding = EdgeInsets.fromLTRB(20, 12, 20, 12) ..userInteractions = false; EventBus().on('服务器异常,请稍后再试', (arg) { qAPP(); }); EventBus().on('packageInfo', (arg) { try{ if(MyCookie().prefs.getString('timestamp')!=null&&MyCookie().prefs.getString('timestamp')!=''&& MyCookie().prefs.getString('uid')!=null&&MyCookie().prefs.getString('uid')!=''&& MyCookie().prefs.getString('using')!=null&&MyCookie().prefs.getString('using')!=''){ s().encryption(); } }catch(e){} isItUnderReview(); }); MyCookie().initP(); } void isItUnderReview() { EasyLoading.show(); MyDio().post( '/model/appStoreReview', {'version': MyCookie().packageInfo.version}, (response, hasError) { if (!hasError) { EasyLoading.dismiss(); AppStoreReviewBeanEntity e = AppStoreReviewBeanEntity() .fromJson(json.decode(response.data.toString())); print(e.data); if (e.data && Platform.isIOS) { MyCookie().underReview = true; } else { MyCookie().underReview = false; } EventBus().emit('appStoreReview'); Timer(Duration(seconds: 1), () { if (MyCookie().getLoginInformation() == null || MyCookie().getLoginInformation().data == null || MyCookie().getLoginInformation().data.token.isEmpty || MyCookie().getLoginInformation().data.token == '') { MyTools().toPage(context, LoginPage(), (then) {}, noBack: true); } else { MyDio().initDio(); checkLogin((r, hE) { if (!hE) { String token = MyCookie().getToken(); LoginInformationBeanEntity loginInformation = LoginInformationBeanEntity() .fromJson(json.decode(r.data.toString())); loginInformation.data.token = token; MyCookie().saveLoginInformationBeanEntity(loginInformation); MyTools().toPage(context, RootPage(), (then) {}, noBack: true); } else { MyTools().toPage(context, LoginPage(), (then) {}, noBack: true); } }, (e) {}); } }); } }, (error) {}); } @override Widget build(BuildContext context) { return Scaffold( body: Stack( children: [ Image.asset( 'images/we_bg.png', fit: BoxFit.cover, height: MediaQuery.of(context).size.height, width: MediaQuery.of(context).size.width, ), Image.asset( 'images/we_logo.png', height: 118, width: 118, ) ], alignment: Alignment.center, ), ); } void qAPP() { showDialog( context: context, builder: (BuildContext context) { return Material( color: Colors.black12, child: Center( child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(16), color: Colors.white, ), height: 180, margin: EdgeInsets.symmetric(horizontal: 18), padding: EdgeInsets.symmetric(horizontal: 8, vertical: 12), child: Column( children: [ Center( child: Container( height: 100, child: MyViews() .myText('服务器出现异常,请稍后再试。', MyColors.c333333, 14), margin: EdgeInsets.symmetric(horizontal: 20), alignment: Alignment.center, ), ), Container( height: 0.5, color: MyColors.cE7E7E7, margin: EdgeInsets.only(bottom: 12), ), Container( margin: EdgeInsets.symmetric(horizontal: 10), child: GestureDetector( behavior: HitTestBehavior.translucent, onTap: () async { await SystemChannels.platform .invokeMethod('SystemNavigator.pop'); }, child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(20), color: MyColors.cFF4233), height: 40, child: MyViews().myText('退 出', Colors.white, 14), alignment: Alignment.center, ), ), ) ], mainAxisAlignment: MainAxisAlignment.spaceBetween, ), ), ), ); }, ); } }