diff --git a/lib/main.dart b/lib/main.dart index 535b597a..7dbd784d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:core'; import 'package:flutter/material.dart'; import 'package:fluro/fluro.dart'; @@ -37,15 +38,16 @@ class MyApp extends StatefulWidget { class _MyAppState extends State { bool _hasLogin = false; bool _isLoading = true; - String localVersion; - String currVersion; @override Future initState() { super.initState(); - + var platformAandroid = + (Theme.of(context).platform == TargetPlatform.android); DataUtils.checkVersion({'name': 'FlutterGo'}).then((bool) { - if (bool) { + print("返回值back ${bool}"); + if (platformAandroid && bool) { + setState(() {}); _UpdateURL(); } }).catchError((onError) { @@ -66,6 +68,16 @@ class _MyAppState extends State { }); } + _UpdateURL() async { + const currUrl = + 'https://github.com/alibaba/flutter-go/raw/master/FlutterGo.apk'; + if (await canLaunch(currUrl)) { + await launch(currUrl); + } else { + throw 'Could not launch $currUrl'; + } + } + showWelcomePage() { if (_isLoading) { return Container( @@ -84,16 +96,6 @@ class _MyAppState extends State { } } - _UpdateURL() async { - const currUrl = - 'https://github.com/alibaba/flutter-go/raw/master/FlutterGo.apk'; - if (await canLaunch(currUrl)) { - await launch(currUrl); - } else { - throw 'Could not launch $currUrl'; - } - } - @override Widget build(BuildContext context) { return new MaterialApp( diff --git a/lib/utils/data_utils.dart b/lib/utils/data_utils.dart index 4ddf7a23..149c6e22 100644 --- a/lib/utils/data_utils.dart +++ b/lib/utils/data_utils.dart @@ -2,6 +2,7 @@ import 'dart:async' show Future; import 'package:flutter_go/model/version.dart'; import 'package:package_info/package_info.dart'; +import 'package:url_launcher/url_launcher.dart'; import './net_utils.dart'; import '../model/user_info.dart'; @@ -38,18 +39,15 @@ class DataUtils { var response = await NetUtils.get(Api.VERSION, params); Version version = Version.formJson(response); var currVersion = version.data.version; - PackageInfo.fromPlatform().then((PackageInfo packageInfo) { - var localVersion = packageInfo.version; - //0:相同、1:大于、-1:小于 - //currVersion: 1.0.6 // localVersion:0.0.2 //packbuildNumber 1 true - //currVersion: 1.0.6 // localVersion:2.0.2 //packbuildNumber -1 false - if (currVersion.compareTo(localVersion) == 1) { - print('currVersion: true'); - return true; - } else { - print('currVersion: flase'); - return false; - } - }); + PackageInfo packageInfo = await PackageInfo.fromPlatform(); + var localVersion = packageInfo.version; + //相同=0、大于=1、小于=-1 +// localVersion = '0.0.2'; +// currVersion = '1.0.6'; + if (currVersion.compareTo(localVersion) == 1) { + return true; + } else { + return false; + } } } diff --git a/version.json b/version.json deleted file mode 100644 index 1c2070b1..00000000 --- a/version.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - - "name": "FlutterGo", - - "version": "1.0.3" - -} \ No newline at end of file