welcome_page.dart 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. import 'dart:async';
  2. import 'dart:convert';
  3. import 'dart:io';
  4. import 'package:bbyyy/beans/app_store_review_bean_entity.dart';
  5. import 'package:bbyyy/beans/login_information_bean_entity.dart';
  6. import 'package:bbyyy/https/MyDio.dart';
  7. import 'package:bbyyy/https/my_request.dart';
  8. import 'package:bbyyy/my_tools/easy_loading/easy_loading.dart';
  9. import 'package:bbyyy/my_tools/event_bus.dart';
  10. import 'package:bbyyy/my_tools/my_apis.dart';
  11. import 'package:bbyyy/my_tools/my_colors.dart';
  12. import 'package:bbyyy/my_tools/my_cookie.dart';
  13. import 'package:bbyyy/my_tools/my_tools.dart';
  14. import 'package:bbyyy/my_tools/my_views.dart';
  15. import 'package:bbyyy/my_tools/s.dart';
  16. import 'package:bbyyy/paegs/login_page/login_page.dart';
  17. import 'package:bbyyy/paegs/root_page/root_page.dart';
  18. import 'package:flutter/material.dart';
  19. import 'package:flutter/services.dart';
  20. class WelcomePage extends StatefulWidget {
  21. @override
  22. _WelcomePageState createState() => _WelcomePageState();
  23. }
  24. class _WelcomePageState extends State<WelcomePage> {
  25. @override
  26. void initState() {
  27. super.initState();
  28. EasyLoading.instance
  29. ..displayDuration = const Duration(milliseconds: 1500)
  30. ..indicatorType = EasyLoadingIndicatorType.ring
  31. ..loadingStyle = EasyLoadingStyle.light
  32. ..maskType = EasyLoadingMaskType.black
  33. ..indicatorSize = 45.0
  34. ..radius = 10.0
  35. ..textPadding = EdgeInsets.all(0)
  36. ..contentPadding = EdgeInsets.fromLTRB(20, 12, 20, 12)
  37. ..userInteractions = false;
  38. EventBus().on('服务器异常,请稍后再试', (arg) {
  39. qAPP();
  40. });
  41. EventBus().on('packageInfo', (arg) {
  42. try{
  43. if(MyCookie().prefs.getString('timestamp')!=null&&MyCookie().prefs.getString('timestamp')!=''&&
  44. MyCookie().prefs.getString('uid')!=null&&MyCookie().prefs.getString('uid')!=''&&
  45. MyCookie().prefs.getString('using')!=null&&MyCookie().prefs.getString('using')!=''){
  46. s().encryption();
  47. }
  48. }catch(e){}
  49. isItUnderReview();
  50. });
  51. MyCookie().initP();
  52. }
  53. void isItUnderReview() {
  54. EasyLoading.show();
  55. MyDio().post(
  56. MyApis.getApi('appStoreReview'), {'version': MyCookie().packageInfo.version},
  57. (response, hasError) {
  58. if (!hasError) {
  59. EasyLoading.dismiss();
  60. AppStoreReviewBeanEntity e = AppStoreReviewBeanEntity()
  61. .fromJson(json.decode(response.data.toString()));
  62. print(e.data);
  63. if (e.data && Platform.isIOS) {
  64. MyCookie().underReview = true;
  65. } else {
  66. MyCookie().underReview = false;
  67. }
  68. EventBus().emit('appStoreReview');
  69. Timer(Duration(seconds: 1), () {
  70. if (MyCookie().getLoginInformation() == null ||
  71. MyCookie().getLoginInformation().data == null ||
  72. MyCookie().getLoginInformation().data.token.isEmpty ||
  73. MyCookie().getLoginInformation().data.token == '') {
  74. MyTools().toPage(context, LoginPage(), (then) {}, noBack: true);
  75. } else {
  76. MyDio().initDio();
  77. checkLogin((r, hE) {
  78. if (!hE) {
  79. String token = MyCookie().getToken();
  80. LoginInformationBeanEntity loginInformation =
  81. LoginInformationBeanEntity()
  82. .fromJson(json.decode(r.data.toString()));
  83. loginInformation.data.token = token;
  84. MyCookie().saveLoginInformationBeanEntity(loginInformation);
  85. MyTools().toPage(context, RootPage(), (then) {}, noBack: true);
  86. } else {
  87. MyTools().toPage(context, LoginPage(), (then) {}, noBack: true);
  88. }
  89. }, (e) {});
  90. }
  91. });
  92. }
  93. }, (error) {});
  94. }
  95. @override
  96. Widget build(BuildContext context) {
  97. return Scaffold(
  98. body: Stack(
  99. children: [
  100. Image.asset(
  101. 'images/we_bg.png',
  102. fit: BoxFit.cover,
  103. height: MediaQuery.of(context).size.height,
  104. width: MediaQuery.of(context).size.width,
  105. ),
  106. Image.asset(
  107. 'images/we_logo.png',
  108. height: 118,
  109. width: 118,
  110. )
  111. ],
  112. alignment: Alignment.center,
  113. ),
  114. );
  115. }
  116. void qAPP() {
  117. showDialog(
  118. context: context,
  119. builder: (BuildContext context) {
  120. return Material(
  121. color: Colors.black12,
  122. child: Center(
  123. child: Container(
  124. decoration: BoxDecoration(
  125. borderRadius: BorderRadius.circular(16),
  126. color: Colors.white,
  127. ),
  128. height: 180,
  129. margin: EdgeInsets.symmetric(horizontal: 18),
  130. padding: EdgeInsets.symmetric(horizontal: 8, vertical: 12),
  131. child: Column(
  132. children: [
  133. Center(
  134. child: Container(
  135. height: 100,
  136. child: MyViews()
  137. .myText('网络链接异常,请检查您的网络。', MyColors.c333333, 14),
  138. margin: EdgeInsets.symmetric(horizontal: 20),
  139. alignment: Alignment.center,
  140. ),
  141. ),
  142. Container(
  143. height: 0.5,
  144. color: MyColors.cE7E7E7,
  145. margin: EdgeInsets.only(bottom: 12),
  146. ),
  147. Container(
  148. margin: EdgeInsets.symmetric(horizontal: 10),
  149. child: GestureDetector(
  150. behavior: HitTestBehavior.translucent,
  151. onTap: () async {
  152. await SystemChannels.platform
  153. .invokeMethod('SystemNavigator.pop');
  154. },
  155. child: Container(
  156. decoration: BoxDecoration(
  157. borderRadius: BorderRadius.circular(20),
  158. color: MyColors.cFF4233),
  159. height: 40,
  160. child: MyViews().myText('退 出', Colors.white, 14),
  161. alignment: Alignment.center,
  162. ),
  163. ),
  164. )
  165. ],
  166. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  167. ),
  168. ),
  169. ),
  170. );
  171. },
  172. );
  173. }
  174. }