main.dart
2.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import 'package:dio/dio.dart';
import 'package:fluro/fluro.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/ball_pulse_footer.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:flutter_easyrefresh/material_header.dart';
import 'package:fluwx/fluwx.dart';
import 'package:one_key/provider/message_dialog_model.dart';
import 'package:intl/date_symbol_data_local.dart';
import 'package:one_key/utils/utils.dart';
import 'package:provider/provider.dart';
import 'app.dart';
import 'net/dio_util.dart';
import 'net/http_url.dart';
import 'pages/login/login_page.dart';
import 'provider/user_model.dart';
import 'route/navigate_service.dart';
import 'route/routes.dart';
import 'utils/log_util.dart';
import 'package:flutter/services.dart';
Future<void> main() async {
Router router = Router();
Routes.configureRoutes(router);
App.router = router;
App.setupLocator();
LogUtil.init(isDebug: true, tag: 'ONE_KEY');
Provider.debugCheckInvalidValueType = null;
await initializeDateFormatting();
runApp(MultiProvider(
providers: [
ChangeNotifierProvider<UserModel>(
create: (_) => UserModel(),
),
ChangeNotifierProvider<MessageDialogModel>(
create: (_) => MessageDialogModel()..init(),
)
],
child: MyApp(),
));
}
class MyApp extends StatefulWidget {
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return new MyAppState();
}
}
class MyAppState extends State<MyApp>{
@override
void initState() {
// TODO: implement initState
super.initState();
initDio();
_initFluwx();
Utils.changeStatusColor();
// 设置EasyRefresh的默认样式
EasyRefresh.defaultHeader = MaterialHeader();
EasyRefresh.defaultFooter = BallPulseFooter();
}
//初始化微信SDK
_initFluwx() async {
await registerWxApi(
appId: "wx85aa3cdd0f791e65",
doOnAndroid: true,
doOnIOS: true,
universalLink: "https://xt04.colorcun.com/link/");
var result = await isWeChatInstalled;
LogUtil.v("is installed $result");
}
initDio() {
DioUtil.openDebug();
Options options = DioUtil.getDefOptions();
options.baseUrl = HttpUrl.server_address;
HttpConfig config = new HttpConfig(
options: options, status: "ret", code: "ret", msg: "msg", data: "data");
DioUtil().setConfig(config);
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
debugShowCheckedModeBanner: false,
title: '一键订',
navigatorKey: App.getIt<NavigateService>().key,
theme: ThemeData(
brightness: Brightness.light,
primaryColor: Colors.white,
splashColor: Colors.transparent,
textTheme: TextTheme(overline: TextStyle(decoration: TextDecoration.none)),
tooltipTheme: TooltipThemeData(verticalOffset: -100000)),
home: LoginPage(),
onGenerateRoute: App.router.generator,
);
}
}