|
|
import 'dart:async';
|
|
|
import 'dart:io' show Platform;
|
|
|
import 'dart:ui';
|
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
import 'package:flutter/services.dart';
|
|
|
import 'package:flutter_bmfbase/BaiduMap/bmfmap_base.dart' show BMFMapSDK, BMF_COORD_TYPE;
|
|
|
import 'package:flutter_screenutil/screenutil_init.dart';
|
|
|
import 'package:hyzp_ybqx/pages/Login/LoginTabs2.dart';
|
|
|
import 'package:hyzp_ybqx/pages/MyMsics/05_updated/MyUpdatedNew.dart';
|
|
|
import 'package:hyzp_ybqx/pages/Works/TJXX/tj_data.dart';
|
|
|
import 'package:package_info/package_info.dart';
|
|
|
// 引入provider
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
|
import 'components/commonFun.dart';
|
|
|
import 'file_manager/file_manager_init.dart';
|
|
|
import 'provider/player_ratio.dart';
|
|
|
import 'provider/player_region.dart';
|
|
|
import 'routers/router.dart';
|
|
|
|
|
|
void main() {
|
|
|
//file_manager_load();
|
|
|
//runApp(MyApp());
|
|
|
|
|
|
WidgetsFlutterBinding.ensureInitialized(); //必须要添加这个进行初始化 否则下面会错误
|
|
|
//Flutter 强制竖屏
|
|
|
SystemChrome.setPreferredOrientations([
|
|
|
DeviceOrientation.portraitUp, // 纵向,portrait 肖像
|
|
|
// DeviceOrientation.portraitDown, // 旋转180度
|
|
|
// DeviceOrientation.landscapeLeft, //顺时针旋转90度
|
|
|
// DeviceOrientation.landscapeRight, //逆时针旋转90度
|
|
|
]).then((_) {
|
|
|
checkPermission(); //请求用户授权
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// class LoadMyApp extends StatefulWidget {
|
|
|
// LoadMyApp({Key key}) : super(key: key);
|
|
|
//
|
|
|
// _LoadMyAppState createState() => _LoadMyAppState();
|
|
|
// }
|
|
|
//
|
|
|
// class _LoadMyAppState extends State<LoadMyApp> {
|
|
|
// @override
|
|
|
// Widget build(BuildContext context) {
|
|
|
// return new MaterialApp(
|
|
|
// //title: "LoadActivity",
|
|
|
// home: MyApp(),
|
|
|
// );
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
class MyApp extends StatefulWidget {
|
|
|
MyApp({Key key}) : super(key: key);
|
|
|
|
|
|
_MyAppState createState() => _MyAppState();
|
|
|
}
|
|
|
|
|
|
class _MyAppState extends State<MyApp> {
|
|
|
@override
|
|
|
void initState() {
|
|
|
initApp();
|
|
|
startGetStatisDataNew();
|
|
|
PackageInfo.fromPlatform().then((PackageInfo packageInfo) async {
|
|
|
String appName = packageInfo.appName;
|
|
|
String packageName = packageInfo.packageName;
|
|
|
String version = packageInfo.version;
|
|
|
String buildNumber = packageInfo.buildNumber;
|
|
|
String buildDate =
|
|
|
'${buildNumber.substring(0, 4)}.${buildNumber.substring(4, 6)}.${buildNumber.substring(6, 8)}';
|
|
|
|
|
|
print('appName = $appName');
|
|
|
print('packageName = $packageName');
|
|
|
print('version = $version');
|
|
|
print('buildNumber = $buildNumber');
|
|
|
print('buildDate = $buildDate');
|
|
|
// I/flutter (30820): appName = 宜宾市翠屏黑烟抓拍
|
|
|
// I/flutter (30820): packageName = com.flutter.hyzp_ybqx
|
|
|
// I/flutter (30820): version = 1.3.1
|
|
|
// I/flutter (30820): buildNumber = 20210508
|
|
|
// I/flutter (30820): buildDate = 2021.05.08
|
|
|
|
|
|
//Fluttertoast.showToast(msg: '当前版本 v$version。暂无更新', gravity: ToastGravity.CENTER);
|
|
|
// Navigator.of(context).push(MaterialPageRoute(
|
|
|
// builder: (context) => MyUpdated(ver: version, date: buildDate, theContext: context)));
|
|
|
|
|
|
MyUpdatedNew m = await MyUpdatedNew(
|
|
|
ver: version, date: buildDate, theContext: context, bStartUpdated: true);
|
|
|
});
|
|
|
super.initState();
|
|
|
}
|
|
|
|
|
|
void initApp() async {
|
|
|
// await getFileName2().then((value) {
|
|
|
// readUrlFile2().then((value) => writeUrlFile2());
|
|
|
// });
|
|
|
getAndroidId().then((value) {
|
|
|
g_userInfo.thisAndroidId = value;
|
|
|
|
|
|
// 百度地图sdk初始化鉴权
|
|
|
if (Platform.isIOS) {
|
|
|
BMFMapSDK.setApiKeyAndCoordType('I022V5cRWKDn8gguTTa1gbxqPMYWU4G0', BMF_COORD_TYPE.BD09LL);
|
|
|
} else if (Platform.isAndroid) {
|
|
|
// Android 目前不支持接口设置Apikey,
|
|
|
// 请在主工程的Manifest文件里设置,详细配置方法请参考官网(https://lbsyun.baidu.com/)demo
|
|
|
BMFMapSDK.setCoordType(BMF_COORD_TYPE.BD09LL);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
//@override
|
|
|
// Widget build(BuildContext context) {
|
|
|
// return ScreenUtilInit(
|
|
|
// designSize: Size(360, 690),
|
|
|
// allowFontScaling: false,
|
|
|
// builder: () => MaterialApp(
|
|
|
// debugShowCheckedModeBanner: false,
|
|
|
// title: 'Flutter_ScreenUtil',
|
|
|
// theme: ThemeData(
|
|
|
// primarySwatch: Colors.blue,
|
|
|
// ),
|
|
|
// home: HomePage(title: 'FlutterScreenUtil Demo'),
|
|
|
// ),
|
|
|
// );
|
|
|
// }
|
|
|
|
|
|
@override
|
|
|
Widget build(BuildContext context) {
|
|
|
//ScreenUtil.instance = ScreenUtil(width: 750, height: 1334)..init(context);
|
|
|
//750:1334
|
|
|
//默认 width : 1080px , height:1920px , allowFontScaling:false
|
|
|
//double width = MediaQuery.of(context).size.width;
|
|
|
|
|
|
//sizeMediaQuery = MediaQuery.of(context).size; //这样不对
|
|
|
print('sizeMediaQuery = $sizeWindowPhysicalSize');
|
|
|
//size: Size(360.0, 674.7)
|
|
|
|
|
|
//自动适应安卓手机系统分辨率,解决 S10 手机正方形变形问题
|
|
|
print('window.physicalSize = ${window.physicalSize}');
|
|
|
//window.physicalSize = Size(1080.0, 2136.0)
|
|
|
sizeWindowPhysicalSize = window.physicalSize;
|
|
|
//double _heigth = 1080 * 16 / 9;
|
|
|
double _heigth = 1080 * sizeWindowPhysicalSize.height / sizeWindowPhysicalSize.width;
|
|
|
print('_heigth = $_heigth');
|
|
|
|
|
|
return ScreenUtilInit(
|
|
|
designSize: Size(1080, _heigth), //安卓手机宽高尺寸,_heigth = 1080 * 16 / 9;
|
|
|
//designSize: Size(1080, 1920), //安卓手机宽高尺寸,_heigth = 1080 * 16 / 9;
|
|
|
//designSize: Size(750, 1334), //统一使用美工设计的宽高尺寸,苹果比例
|
|
|
//designSize: sizeWindowPhysicalSize, //自动适应安卓手机系统分辨率,解决 S10 手机正方形变形问题
|
|
|
allowFontScaling: false,
|
|
|
builder: () => MultiProvider(
|
|
|
providers: [
|
|
|
// ChangeNotifierProvider(builder: (_) => Counter()),
|
|
|
// ChangeNotifierProvider(builder: (_) => Cart()),
|
|
|
// ChangeNotifierProvider(builder: (_) => CheckOut()),
|
|
|
// ChangeNotifierProvider(builder: (_) => PlayerRegionProvide()),
|
|
|
// ChangeNotifierProvider(builder: (_) => PlayerRatioProvide()),
|
|
|
ChangeNotifierProvider<PlayerRegionProvide>(create: (context) => PlayerRegionProvide()),
|
|
|
ChangeNotifierProvider<PlayerRatioProvide>(create: (context) => PlayerRatioProvide()),
|
|
|
],
|
|
|
child: MaterialApp(
|
|
|
home: LoginTabs2(),
|
|
|
debugShowCheckedModeBanner: false,
|
|
|
initialRoute: '/',
|
|
|
onGenerateRoute: onGenerateRoute,
|
|
|
theme: ThemeData(
|
|
|
// primaryColor: Colors.yellow
|
|
|
primaryColor: Colors.white),
|
|
|
),
|
|
|
),
|
|
|
);
|
|
|
|
|
|
// return MultiProvider(
|
|
|
// providers: [
|
|
|
// // ChangeNotifierProvider(builder: (_) => Counter()),
|
|
|
// // ChangeNotifierProvider(builder: (_) => Cart()),
|
|
|
// // ChangeNotifierProvider(builder: (_) => CheckOut()),
|
|
|
// // ChangeNotifierProvider(builder: (_) => PlayerRegionProvide()),
|
|
|
// // ChangeNotifierProvider(builder: (_) => PlayerRatioProvide()),
|
|
|
// ChangeNotifierProvider<PlayerRegionProvide>(create: (context) => PlayerRegionProvide()),
|
|
|
// ChangeNotifierProvider<PlayerRatioProvide>(create: (context) => PlayerRatioProvide()),
|
|
|
// ],
|
|
|
//
|
|
|
// child: MaterialApp(
|
|
|
// home: LoginTabs(),
|
|
|
// debugShowCheckedModeBanner: false,
|
|
|
// initialRoute: '/',
|
|
|
// onGenerateRoute: onGenerateRoute,
|
|
|
// theme: ThemeData(
|
|
|
// // primaryColor: Colors.yellow
|
|
|
// primaryColor: Colors.white),
|
|
|
// ),
|
|
|
// );
|
|
|
}
|
|
|
}
|
|
|
|
|
|
class SplashScreen extends StatefulWidget {
|
|
|
@override
|
|
|
_SplashScreenState createState() => new _SplashScreenState();
|
|
|
}
|
|
|
|
|
|
class _SplashScreenState extends State<SplashScreen> {
|
|
|
startTime() async {
|
|
|
//设置启动图生效时间
|
|
|
var _duration = new Duration(seconds: 2);
|
|
|
return new Timer(_duration, navigationPage);
|
|
|
}
|
|
|
|
|
|
void navigationPage() {
|
|
|
Navigator.of(context).pushReplacementNamed('/home');
|
|
|
}
|
|
|
|
|
|
@override
|
|
|
void initState() {
|
|
|
super.initState();
|
|
|
startTime();
|
|
|
}
|
|
|
|
|
|
@override
|
|
|
Widget build(BuildContext context) {
|
|
|
return new Scaffold(
|
|
|
body: new Center(
|
|
|
// child: new Image.asset('assets/images/hyzp_yibin_launche.png'),
|
|
|
child: new Image.asset('assets/images/hyzp_ybqx_cuipingqu_launche.png'),
|
|
|
),
|
|
|
);
|
|
|
}
|
|
|
}
|