diff --git a/lib/pages/tab_navigator.dart b/lib/pages/tab_navigator.dart index 85d43270..778844c0 100644 --- a/lib/pages/tab_navigator.dart +++ b/lib/pages/tab_navigator.dart @@ -50,7 +50,7 @@ class _TabNavigatorState extends State flutterLocalNotificationsPlugin = new FlutterLocalNotificationsPlugin(); var android = new AndroidInitializationSettings('@mipmap/ic_launcher'); var iOS = new IOSInitializationSettings(); - var initSettings = new InitializationSettings(android: android,iOS: iOS); + var initSettings = new InitializationSettings(android: android, iOS: iOS); flutterLocalNotificationsPlugin.initialize(initSettings); //showNotification(); @@ -191,43 +191,41 @@ class _TabNavigatorState extends State 4, ), ]; - return UpdaterPage( - BeeScaffold( - body: WillPopScope( - onWillPop: () async { - if (_lastPressed == null || - DateTime.now().difference(_lastPressed!) > Duration(seconds: 1)) { - //两次点击间隔超过1秒重新计算 - _lastPressed = DateTime.now(); - BotToast.showText(text: '再点击一次返回退出'); - return false; - } - //否则关闭app - WebSocketUtil().closeWebSocket(); - return true; - }, - child: TabBarView( - children: _pages, - controller: _tabController, - physics: NeverScrollableScrollPhysics(), - ), - ), - bottomNavi: ConstrainedBox( - constraints: BoxConstraints(maxWidth: 750.w, maxHeight: 146.w), - child: Container( - margin: + return BeeScaffold( + body: WillPopScope( + onWillPop: () async { + if (_lastPressed == null || + DateTime.now().difference(_lastPressed!) > Duration(seconds: 1)) { + //两次点击间隔超过1秒重新计算 + _lastPressed = DateTime.now(); + BotToast.showText(text: '再点击一次返回退出'); + return false; + } + //否则关闭app + WebSocketUtil().closeWebSocket(); + return true; + }, + child: TabBarView( + children: _pages, + controller: _tabController, + physics: NeverScrollableScrollPhysics(), + ), + ), + bottomNavi: ConstrainedBox( + constraints: BoxConstraints(maxWidth: 750.w, maxHeight: 146.w), + child: Container( + margin: EdgeInsets.only(bottom: MediaQuery.of(context).padding.bottom), - decoration: BoxDecoration( - image: DecorationImage( - image: Assets.home.imgTabdi, fit: BoxFit.fitWidth), - color: Colors.transparent), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: _bottomNav.cast().toList(), - ), - ), + decoration: BoxDecoration( + image: DecorationImage( + image: Assets.home.imgTabdi, fit: BoxFit.fitWidth), + color: Colors.transparent), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: _bottomNav.cast().toList(), ), - ) + ), + ), ); } @@ -237,19 +235,24 @@ class _TabNavigatorState extends State } //payload 可作为通知的一个标记,区分点击的通知。 debugPrint('payload:$payload'); - if(payload == "complete") { - await showDialog(context: context, builder: (_) => AlertDialog( - title: Text('Notification'), - content: Text('$payload'), - ),); + if (payload == "complete") { + await showDialog( + context: context, + builder: (_) => AlertDialog( + title: Text('Notification'), + content: Text('$payload'), + ), + ); } } showNotification() async { var android = new AndroidNotificationDetails( - 'channel id', 'channel NAME', + 'channel id', + 'channel NAME', priority: Priority.high, - importance: Importance.max,); + importance: Importance.max, + ); var iOS = new IOSNotificationDetails(); var platform = new NotificationDetails(android: android, iOS: iOS); await flutterLocalNotificationsPlugin.show( diff --git a/tool/grind.dart b/tool/grind.dart index 4a42c3fe..bc6ae14a 100644 --- a/tool/grind.dart +++ b/tool/grind.dart @@ -1,8 +1,8 @@ import 'dart:io'; - import 'package:common_utils/common_utils.dart'; +import 'package:dio/dio.dart'; import 'package:grinder/grinder.dart'; -import 'package:path/path.dart'; +import 'package:path/path.dart' hide context; import 'package:pub_semver/pub_semver.dart'; import 'package:yaml/yaml.dart'; @@ -10,6 +10,7 @@ import 'config.dart'; import 'version_tool.dart'; part '_build.dart'; + part '_project_manage.dart'; main(args) => grind(args); @@ -68,3 +69,21 @@ Future getVersion() async { String version = content['version']; return version; } + +@Task() +Future uploadVersion() async { + TaskArgs args = context.invocation.arguments; + bool force = args.getFlag('f'); + var version = await getVersion(); + List spVersion = version.split('+'); + stdout.write('版本号:' + spVersion[0]+'\n'); + stdout.write('构建号:' + spVersion[1]+'\n'); + stdout.write('强制更新:' + force.toString()+'\n'); + var response = + await Dio().post('http://121.41.26.225:8006/app/version/insert', data: { + 'versionNumber': spVersion[0], + 'buildNo': spVersion[1], + 'forceUpdate': force ? 1 : 2 + }); + stdout.write(response.data.toString()); +}