Commit 6378c8e756b8d4966ed0276b5865ff263068f0f4

Authored by wdn127929
1 parent 2fa6c3db

xiaomi

@@ -12,14 +12,14 @@ if (flutterRoot == null) { @@ -12,14 +12,14 @@ if (flutterRoot == null) {
12 } 12 }
13 13
14 14
15 -def flutterVersionCode = "345" 15 +def flutterVersionCode = "356"
16 if (flutterVersionCode == null) { 16 if (flutterVersionCode == null) {
17 - flutterVersionCode = '345' 17 + flutterVersionCode = '356'
18 } 18 }
19 19
20 -def flutterVersionName = "3.4.5" 20 +def flutterVersionName = "3.5.6"
21 if (flutterVersionName == null) { 21 if (flutterVersionName == null) {
22 - flutterVersionName = '3.4.5' 22 + flutterVersionName = '3.5.6'
23 } 23 }
24 apply plugin: 'com.android.application' 24 apply plugin: 'com.android.application'
25 apply plugin: 'kotlin-android' 25 apply plugin: 'kotlin-android'
@@ -19,6 +19,7 @@ @@ -19,6 +19,7 @@
19 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 19 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
20 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 20 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
21 <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/> 21 <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
  22 +
22 <application 23 <application
23 android:name="io.flutter.app.FlutterApplication" 24 android:name="io.flutter.app.FlutterApplication"
24 android:label="一键订" 25 android:label="一键订"
@@ -13,14 +13,14 @@ class App { @@ -13,14 +13,14 @@ class App {
13 static double screenHeight; 13 static double screenHeight;
14 static double statusBarHeight; 14 static double statusBarHeight;
15 static double bottomBarHeight; 15 static double bottomBarHeight;
16 - static GetIt getIt = GetIt.instance; 16 + // static GetIt getIt = GetIt.instance;
17 static bool isInstallWx = false; 17 static bool isInstallWx = false;
18 18
19 static initSp() async { 19 static initSp() async {
20 sp = await SharedPreferences.getInstance(); 20 sp = await SharedPreferences.getInstance();
21 } 21 }
22 22
23 - static setupLocator() {  
24 - getIt.registerSingleton(NavigateService());  
25 - } 23 + // static setupLocator() {
  24 + // getIt.registerSingleton(NavigateService());
  25 + // }
26 } 26 }
@@ -9,13 +9,13 @@ import 'package:flutter_bugly/flutter_bugly.dart'; @@ -9,13 +9,13 @@ import 'package:flutter_bugly/flutter_bugly.dart';
9 import 'package:flutter_easyrefresh/ball_pulse_footer.dart'; 9 import 'package:flutter_easyrefresh/ball_pulse_footer.dart';
10 import 'package:flutter_easyrefresh/easy_refresh.dart'; 10 import 'package:flutter_easyrefresh/easy_refresh.dart';
11 import 'package:flutter_easyrefresh/material_header.dart'; 11 import 'package:flutter_easyrefresh/material_header.dart';
12 -import 'package:flutter_screenutil/screenutil.dart'; 12 +
13 import 'package:fluwx/fluwx.dart'; 13 import 'package:fluwx/fluwx.dart';
14 -import 'package:one_key/pages/detail/handle_online_page.dart'; 14 +
15 import 'package:one_key/pages/home/home_page.dart'; 15 import 'package:one_key/pages/home/home_page.dart';
16 import 'package:one_key/pages/login/first_page.dart'; 16 import 'package:one_key/pages/login/first_page.dart';
17 import 'package:one_key/pages/login/login_page_f.dart'; 17 import 'package:one_key/pages/login/login_page_f.dart';
18 -import 'package:one_key/provider/base_info_provider.dart'; 18 +
19 import 'package:one_key/provider/coupon_provider.dart'; 19 import 'package:one_key/provider/coupon_provider.dart';
20 import 'package:one_key/provider/create_store_model.dart'; 20 import 'package:one_key/provider/create_store_model.dart';
21 import 'package:one_key/provider/customer_making_provider.dart'; 21 import 'package:one_key/provider/customer_making_provider.dart';
@@ -23,110 +23,97 @@ import 'package:one_key/provider/message_dialog_model.dart'; @@ -23,110 +23,97 @@ import 'package:one_key/provider/message_dialog_model.dart';
23 import 'package:intl/date_symbol_data_local.dart'; 23 import 'package:intl/date_symbol_data_local.dart';
24 import 'package:one_key/provider/message_model.dart'; 24 import 'package:one_key/provider/message_model.dart';
25 import 'package:one_key/provider/notebook_detail_model.dart'; 25 import 'package:one_key/provider/notebook_detail_model.dart';
26 -import 'package:one_key/provider/online_check_edit_provider.dart'; 26 +
27 import 'package:one_key/provider/other_login_provider.dart'; 27 import 'package:one_key/provider/other_login_provider.dart';
28 import 'package:one_key/provider/remark_manager_model.dart'; 28 import 'package:one_key/provider/remark_manager_model.dart';
29 -import 'package:one_key/provider/tools.dart';  
30 import 'package:one_key/provider/upload_img_provider.dart'; 29 import 'package:one_key/provider/upload_img_provider.dart';
31 -import 'package:one_key/route/navigator_util.dart';  
32 import 'package:one_key/utils/utils.dart'; 30 import 'package:one_key/utils/utils.dart';
33 import 'package:provider/provider.dart'; 31 import 'package:provider/provider.dart';
34 -import 'package:tpns_flutter_plugin/tpns_flutter_plugin.dart';  
35 32
36 import 'app.dart'; 33 import 'app.dart';
37 import 'net/dio_util.dart'; 34 import 'net/dio_util.dart';
38 import 'net/http_url.dart'; 35 import 'net/http_url.dart';
39 -import 'pages/login/login_page.dart';  
40 import 'provider/order_food_provider.dart'; 36 import 'provider/order_food_provider.dart';
41 import 'provider/user_model.dart'; 37 import 'provider/user_model.dart';
42 import 'route/navigate_service.dart'; 38 import 'route/navigate_service.dart';
43 import 'route/routes.dart'; 39 import 'route/routes.dart';
44 import 'package:flutter/services.dart'; 40 import 'package:flutter/services.dart';
45 import 'package:flutter/material.dart'; 41 import 'package:flutter/material.dart';
46 -import 'package:flutter/services.dart';  
47 -import 'package:permission_handler/permission_handler.dart';  
48 -  
49 -Future<bool> _requestPermissions() async {  
50 - Map<Permission, PermissionStatus> permissions = await [  
51 - Permission.photos,  
52 - Permission.location,  
53 - Permission.camera,  
54 - Permission.contacts,  
55 - Permission.storage,  
56 - Permission.notification  
57 - ].request();  
58 -  
59 - List<bool> results = permissions.values.toList().map((status) {  
60 - return status == PermissionStatus.granted;  
61 - }).toList();  
62 - print(results.toString());  
63 -} 42 +
  43 +// Future<bool> _requestPermissions() async {
  44 +// Map<Permission, PermissionStatus> permissions = await [
  45 +// Permission.photos,
  46 +// Permission.location,
  47 +// Permission.camera,
  48 +// Permission.contacts,
  49 +// Permission.storage,
  50 +// Permission.notification
  51 +// ].request();
  52 +
  53 +// List<bool> results = permissions.values.toList().map((status) {
  54 +// return status == PermissionStatus.granted;
  55 +// }).toList();
  56 +// print(results.toString());
  57 +// }
64 58
65 Future<void> main() async { 59 Future<void> main() async {
66 - FlutterBugly.postCatchedException(() async {  
67 - WidgetsFlutterBinding.ensureInitialized();  
68 - FluroRouter router = FluroRouter();  
69 - Routes.configureRoutes(router);  
70 - App.router = router;  
71 - App.setupLocator();  
72 - LogUtil.init(isDebug: true, tag: 'ONE_KEY');  
73 - Provider.debugCheckInvalidValueType = null;  
74 - await initializeDateFormatting();  
75 - // _requestPermissions();  
76 - Utils.changeStatusColor(); 60 + // FlutterBugly.postCatchedException(() async {
  61 + WidgetsFlutterBinding.ensureInitialized();
  62 + // _requestPermissions();
  63 + Utils.changeStatusColor();
  64 + await App.initSp();
  65 + // App.setupLocator();
  66 + FluroRouter router = FluroRouter();
  67 + Routes.configureRoutes(router);
  68 + App.router = router;
77 69
78 - await App.initSp();  
79 - SystemChrome.setPreferredOrientations(  
80 - [DeviceOrientation.portraitUp, DeviceOrientation.portraitDown])  
81 - .then((_) {  
82 - runApp(MultiProvider(  
83 - providers: [  
84 - ChangeNotifierProvider<MessageModel>(  
85 - create: (_) => MessageModel(),  
86 - ),  
87 - ChangeNotifierProvider<UserModel>(  
88 - create: (_) => UserModel(),  
89 - ),  
90 - ChangeNotifierProvider<MessageDialogModel>(  
91 - create: (_) => MessageDialogModel()..init(),  
92 - ),  
93 - // ChangeNotifierProvider<OnlineCheckEditProvider>(  
94 - // create: (_) => OnlineCheckEditProvider(),  
95 - // ),  
96 - ChangeNotifierProvider<OrderFoodProvider>(  
97 - create: (_) => OrderFoodProvider(),  
98 - ),  
99 - ChangeNotifierProvider<NotebookDetailModel>(  
100 - create: (_) => NotebookDetailModel(),  
101 - ),  
102 - ChangeNotifierProvider<CouponProvider>(  
103 - create: (_) => CouponProvider(),  
104 - ),  
105 - ChangeNotifierProvider<UploadImageProvider>(  
106 - create: (_) => UploadImageProvider(),  
107 - ),  
108 - ChangeNotifierProvider<CreateStoreModel>(  
109 - create: (_) => CreateStoreModel(),  
110 - ),  
111 - ChangeNotifierProvider<RemarkManagerModel>(  
112 - create: (_) => RemarkManagerModel(),  
113 - ),  
114 - ChangeNotifierProvider<CustomerMakingProvider>(  
115 - create: (_) => CustomerMakingProvider(),  
116 - ),  
117 - ],  
118 - child: MyApp(),  
119 - ));  
120 - });  
121 - // await App.initSp();  
122 - await AmapService.instance.init(  
123 - iosKey: 'e373581528f8fd901c01dfbda236159e',  
124 - androidKey: 'dbced781d0acd36184d5b4b54da7188d');  
125 -  
126 - /// 如果你觉得引擎的日志太多, 可以关闭Fluttify引擎的日志  
127 - await enableFluttifyLog(false); // 关闭log  
128 - FlutterBugly.init(androidAppId: "f71a313f42", iOSAppId: "3089e4587e"); 70 + SystemChrome.setPreferredOrientations(
  71 + [DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]).then((_) {
  72 + runApp(MultiProvider(
  73 + providers: [
  74 + ChangeNotifierProvider<MessageModel>(
  75 + create: (_) => MessageModel(),
  76 + ),
  77 + ChangeNotifierProvider<UserModel>(
  78 + create: (_) => UserModel(),
  79 + ),
  80 + ChangeNotifierProvider<MessageDialogModel>(
  81 + create: (_) => MessageDialogModel()..init(),
  82 + ),
  83 + // ChangeNotifierProvider<OnlineCheckEditProvider>(
  84 + // create: (_) => OnlineCheckEditProvider(),
  85 + // ),
  86 + ChangeNotifierProvider<OrderFoodProvider>(
  87 + create: (_) => OrderFoodProvider(),
  88 + ),
  89 + ChangeNotifierProvider<NotebookDetailModel>(
  90 + create: (_) => NotebookDetailModel(),
  91 + ),
  92 + ChangeNotifierProvider<CouponProvider>(
  93 + create: (_) => CouponProvider(),
  94 + ),
  95 + ChangeNotifierProvider<UploadImageProvider>(
  96 + create: (_) => UploadImageProvider(),
  97 + ),
  98 + ChangeNotifierProvider<CreateStoreModel>(
  99 + create: (_) => CreateStoreModel(),
  100 + ),
  101 + ChangeNotifierProvider<RemarkManagerModel>(
  102 + create: (_) => RemarkManagerModel(),
  103 + ),
  104 + ChangeNotifierProvider<CustomerMakingProvider>(
  105 + create: (_) => CustomerMakingProvider(),
  106 + ),
  107 + ],
  108 + child: MyApp(),
  109 + ));
129 }); 110 });
  111 + // await App.initSp();
  112 +
  113 + /// 如果你觉得引擎的日志太多, 可以关闭Fluttify引擎的日志
  114 + // await enableFluttifyLog(false); // 关闭log
  115 + // FlutterBugly.init(androidAppId: "f71a313f42", iOSAppId: "3089e4587e");
  116 + // });
130 } 117 }
131 118
132 class MyApp extends StatefulWidget { 119 class MyApp extends StatefulWidget {
@@ -145,8 +132,7 @@ class MyAppState extends State<MyApp> { @@ -145,8 +132,7 @@ class MyAppState extends State<MyApp> {
145 void initState() { 132 void initState() {
146 // TODO: implement initState 133 // TODO: implement initState
147 super.initState(); 134 super.initState();
148 - initDio();  
149 - _initFluwx(); 135 +
150 _isFirst(); 136 _isFirst();
151 Utils.changeStatusColor(); 137 Utils.changeStatusColor();
152 // 设置EasyRefresh的默认样式 138 // 设置EasyRefresh的默认样式
@@ -181,18 +167,26 @@ class MyAppState extends State<MyApp> { @@ -181,18 +167,26 @@ class MyAppState extends State<MyApp> {
181 } 167 }
182 168
183 //第一次打开应用 169 //第一次打开应用
184 - bool _isFirst() { 170 + _isFirst() async {
185 isFirst = App.sp.getBool("isFirst") ?? true; 171 isFirst = App.sp.getBool("isFirst") ?? true;
186 if (!isFirst) { 172 if (!isFirst) {
187 _isLogin(); 173 _isLogin();
  174 + initDio();
188 } 175 }
189 } 176 }
190 177
191 //判断是否登录 178 //判断是否登录
192 - bool _isLogin() { 179 + _isLogin() async {
193 UserModel userModel = Provider.of<UserModel>(context, listen: false); 180 UserModel userModel = Provider.of<UserModel>(context, listen: false);
194 userModel.initUser(); 181 userModel.initUser();
195 isLogin = App.sp.getBool("isLogin") ?? false; 182 isLogin = App.sp.getBool("isLogin") ?? false;
  183 + if (isLogin) {
  184 + LogUtil.init(isDebug: true, tag: 'ONE_KEY');
  185 + Provider.debugCheckInvalidValueType = null;
  186 + await initializeDateFormatting();
  187 +
  188 + _initFluwx();
  189 + }
196 } 190 }
197 191
198 @override 192 @override
@@ -201,7 +195,7 @@ class MyAppState extends State<MyApp> { @@ -201,7 +195,7 @@ class MyAppState extends State<MyApp> {
201 return MaterialApp( 195 return MaterialApp(
202 debugShowCheckedModeBanner: false, 196 debugShowCheckedModeBanner: false,
203 title: '一键订', 197 title: '一键订',
204 - navigatorKey: App.getIt<NavigateService>().key, 198 + // navigatorKey: App.getIt<NavigateService>().key,
205 theme: ThemeData( 199 theme: ThemeData(
206 brightness: Brightness.light, 200 brightness: Brightness.light,
207 primaryColor: Colors.white, 201 primaryColor: Colors.white,
1 import 'dart:async'; 1 import 'dart:async';
2 import 'dart:convert'; 2 import 'dart:convert';
3 import 'dart:io'; 3 import 'dart:io';
  4 +import 'package:amap_map_fluttify/amap_map_fluttify.dart';
4 import 'package:common_utils/common_utils.dart'; 5 import 'package:common_utils/common_utils.dart';
5 import 'package:flutter/cupertino.dart'; 6 import 'package:flutter/cupertino.dart';
6 import 'package:flutter/material.dart'; 7 import 'package:flutter/material.dart';
7 import 'package:flutter_app_update/azhon_app_update.dart'; 8 import 'package:flutter_app_update/azhon_app_update.dart';
  9 +import 'package:flutter_bugly/flutter_bugly.dart';
8 import 'package:flutter_screenutil/flutter_screenutil.dart'; 10 import 'package:flutter_screenutil/flutter_screenutil.dart';
9 import 'package:one_key/models/pull_marketing_by_uid_model.dart'; 11 import 'package:one_key/models/pull_marketing_by_uid_model.dart';
10 12
@@ -66,6 +68,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { @@ -66,6 +68,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
66 // TODO: implement initState 68 // TODO: implement initState
67 super.initState(); 69 super.initState();
68 LogUtil.v("home_initState"); 70 LogUtil.v("home_initState");
  71 + // FlutterBugly.init(androidAppId: "f71a313f42", iOSAppId: "3089e4587e");
  72 + _initAmap();
69 73
70 AzhonAppUpdate.listener( 74 AzhonAppUpdate.listener(
71 // () { 75 // () {
@@ -153,6 +157,12 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { @@ -153,6 +157,12 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver {
153 }); 157 });
154 } 158 }
155 159
  160 + _initAmap() async {
  161 + await AmapService.instance.init(
  162 + iosKey: 'e373581528f8fd901c01dfbda236159e',
  163 + androidKey: 'dbced781d0acd36184d5b4b54da7188d');
  164 + }
  165 +
156 _endTimerSeller() { 166 _endTimerSeller() {
157 if (timerSeller != null) { 167 if (timerSeller != null) {
158 timerSeller.cancel(); 168 timerSeller.cancel();
@@ -152,6 +152,24 @@ class _FirstPageState extends State<FirstPage> { @@ -152,6 +152,24 @@ class _FirstPageState extends State<FirstPage> {
152 ), 152 ),
153 VEmptyView(16), 153 VEmptyView(16),
154 Text( 154 Text(
  155 + '''为了向您提供更好的服务,我们需要获取以下权限和信息,系统将以弹窗提示征求您的授权。
  156 + \n1.地理位置:经授权,为了让您的客户快速地找到您的店铺,我们会收集您店铺的名称、所在位置相关信息(您授权的GPS位置信息,我们仅收集您当时所处的地理位置,但不会将您各时段的位置信息进行结合以判断您的行踪轨迹)来判断您所处的地点。
  157 + \n2.通讯录:经授权,为了方便您快速录入客户的姓名、联系电话,在您同意开启通讯录权限后您在录入预订订单时不需再手动输入您通讯录中联系人的信息,用于订单快速生成。
  158 + \n3.相册:经授权,当您设置您的通知信息时,“一键订”需要调用基于图片/视频上传的扩展功能:我们会使用您所上传的图片,作为您的形象照片和微信二维码展示,方便客户添加您的微信。
  159 + \n4.相机:经授权,当您传送订单水单给客户时,“一键订”需要调用基于摄像头(相机)的扩展功能:您可以使用这项扩展功能完成拍照上传水单传送给客户。
  160 + \n5.设备信息:经授权,我们会收集您的设备信息以保障系统运行和您的账号、交易安全。''',
  161 + style: TextStyle(
  162 + color: MyColours.color_333333,
  163 + fontWeight: FontWeight.bold,
  164 + fontSize: ScreenUtil().setSp(28),
  165 + ),
  166 + strutStyle: StrutStyle(
  167 + forceStrutHeight: true,
  168 + height: 1,
  169 + leading: 0.3),
  170 + ),
  171 + VEmptyView(16),
  172 + Text(
155 '我们将通过《隐私政策》向您说明:\n我们在您使用我们的产品与/或服务时如何收集、使用、保存、共享和转让这些信息,以及我们为您提供的访问、更新、控制和保护这些信息的方式。', 173 '我们将通过《隐私政策》向您说明:\n我们在您使用我们的产品与/或服务时如何收集、使用、保存、共享和转让这些信息,以及我们为您提供的访问、更新、控制和保护这些信息的方式。',
156 style: TextStyle( 174 style: TextStyle(
157 color: MyColours.color_333333, 175 color: MyColours.color_333333,
@@ -2,8 +2,10 @@ import 'dart:async'; @@ -2,8 +2,10 @@ import 'dart:async';
2 import 'dart:convert'; 2 import 'dart:convert';
3 import 'dart:io'; 3 import 'dart:io';
4 4
  5 +import 'package:amap_map_fluttify/amap_map_fluttify.dart';
5 import 'package:common_utils/common_utils.dart'; 6 import 'package:common_utils/common_utils.dart';
6 import 'package:dio/dio.dart'; 7 import 'package:dio/dio.dart';
  8 +import 'package:fluro/fluro.dart';
7 import 'package:flutter/cupertino.dart'; 9 import 'package:flutter/cupertino.dart';
8 import 'package:flutter/material.dart'; 10 import 'package:flutter/material.dart';
9 import 'package:flutter_screenutil/flutter_screenutil.dart'; 11 import 'package:flutter_screenutil/flutter_screenutil.dart';
@@ -13,12 +15,14 @@ import 'package:one_key/app.dart'; @@ -13,12 +15,14 @@ import 'package:one_key/app.dart';
13 import 'package:one_key/models/checkbind_phone_model.dart'; 15 import 'package:one_key/models/checkbind_phone_model.dart';
14 import 'package:one_key/models/store_info.dart'; 16 import 'package:one_key/models/store_info.dart';
15 import 'package:one_key/net/dio_util.dart'; 17 import 'package:one_key/net/dio_util.dart';
  18 +import 'package:one_key/net/http_url.dart';
16 import 'package:one_key/provider/create_store_model.dart'; 19 import 'package:one_key/provider/create_store_model.dart';
17 import 'package:one_key/provider/other_login_provider.dart'; 20 import 'package:one_key/provider/other_login_provider.dart';
18 import 'package:one_key/provider/user_model.dart'; 21 import 'package:one_key/provider/user_model.dart';
19 import 'package:one_key/res/colors.dart'; 22 import 'package:one_key/res/colors.dart';
20 import 'package:one_key/route/navigate_service.dart'; 23 import 'package:one_key/route/navigate_service.dart';
21 import 'package:one_key/route/navigator_util.dart'; 24 import 'package:one_key/route/navigator_util.dart';
  25 +import 'package:one_key/route/routes.dart';
22 import 'package:one_key/utils/dialog_util.dart'; 26 import 'package:one_key/utils/dialog_util.dart';
23 import 'package:one_key/utils/utils.dart'; 27 import 'package:one_key/utils/utils.dart';
24 import 'package:one_key/widgets/MyDivider.dart'; 28 import 'package:one_key/widgets/MyDivider.dart';
@@ -28,6 +32,7 @@ import 'package:one_key/widgets/round_button.dart'; @@ -28,6 +32,7 @@ import 'package:one_key/widgets/round_button.dart';
28 import 'package:one_key/widgets/v_empty_view.dart'; 32 import 'package:one_key/widgets/v_empty_view.dart';
29 import 'package:provider/provider.dart'; 33 import 'package:provider/provider.dart';
30 import 'package:sign_in_with_apple/sign_in_with_apple.dart'; 34 import 'package:sign_in_with_apple/sign_in_with_apple.dart';
  35 +import 'package:intl/date_symbol_data_local.dart';
31 36
32 class LoginPage extends StatefulWidget { 37 class LoginPage extends StatefulWidget {
33 @override 38 @override
@@ -61,10 +66,12 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver { @@ -61,10 +66,12 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
61 void initState() { 66 void initState() {
62 // TODO: implement initState 67 // TODO: implement initState
63 super.initState(); 68 super.initState();
64 - //第一次打开应用  
65 69
66 - _checkWechat(); 70 + _initFluwx();
  71 +
  72 + // _initFluwx();
67 isLogin(); 73 isLogin();
  74 +
68 WidgetsBinding.instance.addObserver(this); 75 WidgetsBinding.instance.addObserver(this);
69 WidgetsBinding.instance.addPostFrameCallback((_) { 76 WidgetsBinding.instance.addPostFrameCallback((_) {
70 final UserModel userModel = 77 final UserModel userModel =
@@ -79,6 +86,23 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver { @@ -79,6 +86,23 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
79 }); 86 });
80 } 87 }
81 88
  89 + //初始化微信SDK
  90 + _initFluwx() async {
  91 + await registerWxApi(
  92 + appId: "wx85aa3cdd0f791e65",
  93 + doOnAndroid: true,
  94 + doOnIOS: true,
  95 + universalLink: "https://xt04.colorcun.com/link/OneKey/");
  96 + var result = await isWeChatInstalled;
  97 + if (result != null && result) {
  98 + App.isInstallWx = true;
  99 + } else {
  100 + App.isInstallWx = false;
  101 + }
  102 + setState(() {});
  103 + LogUtil.v("is installed $result");
  104 + }
  105 +
82 //当页面离开时要清除监听器 106 //当页面离开时要清除监听器
83 @override 107 @override
84 void dispose() { 108 void dispose() {
@@ -136,7 +160,6 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver { @@ -136,7 +160,6 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
136 160
137 //判断是否登录 161 //判断是否登录
138 void isLogin() async { 162 void isLogin() async {
139 - await App.initSp();  
140 UserModel userModel = Provider.of<UserModel>(context, listen: false); 163 UserModel userModel = Provider.of<UserModel>(context, listen: false);
141 userModel.initUser(); 164 userModel.initUser();
142 if (App.sp.getBool("isLogin") ?? false) { 165 if (App.sp.getBool("isLogin") ?? false) {
@@ -150,8 +173,12 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver { @@ -150,8 +173,12 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
150 173
151 ///微信登陆 174 ///微信登陆
152 175
153 - _wxLogin() { 176 + _wxLogin() async {
  177 + await initializeDateFormatting();
154 sendWeChatAuth(scope: "snsapi_userinfo"); 178 sendWeChatAuth(scope: "snsapi_userinfo");
  179 + await AmapService.instance.init(
  180 + iosKey: 'e373581528f8fd901c01dfbda236159e',
  181 + androidKey: 'dbced781d0acd36184d5b4b54da7188d');
155 } 182 }
156 183
157 ///获取微信登录code 184 ///获取微信登录code
@@ -237,6 +264,15 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver { @@ -237,6 +264,15 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
237 // } 264 // }
238 // } 265 // }
239 266
  267 + initDio() {
  268 + DioUtil.openDebug();
  269 + BaseOptions options = DioUtil.getDefOptions();
  270 + options.baseUrl = HttpUrl.server_address;
  271 + HttpConfig config = new HttpConfig(
  272 + options: options, status: "ret", code: "ret", msg: "msg", data: "data");
  273 + DioUtil().setConfig(config);
  274 + }
  275 +
240 /* 276 /*
241 苹果登录获取用户信息 277 苹果登录获取用户信息
242 */ 278 */
@@ -684,6 +720,9 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver { @@ -684,6 +720,9 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
684 setState(() { 720 setState(() {
685 _check = !_check; 721 _check = !_check;
686 }); 722 });
  723 + if (_check) {
  724 + initDio();
  725 + }
687 }, 726 },
688 child: Container( 727 child: Container(
689 alignment: Alignment.topCenter, 728 alignment: Alignment.topCenter,
@@ -777,6 +816,7 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver { @@ -777,6 +816,7 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
777 if (!_check) { 816 if (!_check) {
778 DialogUtil.openAlertDialogLogin(context, 500, 817 DialogUtil.openAlertDialogLogin(context, 500,
779 onTap: () { 818 onTap: () {
  819 + initDio();
780 Navigator.pop(context); 820 Navigator.pop(context);
781 _wxLogin(); 821 _wxLogin();
782 }); 822 });
@@ -814,6 +854,7 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver { @@ -814,6 +854,7 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
814 if (!_check) { 854 if (!_check) {
815 DialogUtil.openAlertDialogLogin(context, 500, 855 DialogUtil.openAlertDialogLogin(context, 500,
816 onTap: () { 856 onTap: () {
  857 + initDio();
817 Navigator.pop(context); 858 Navigator.pop(context);
818 NavigatorUtil.goAccountLoginPage(context); 859 NavigatorUtil.goAccountLoginPage(context);
819 }); 860 });
@@ -860,6 +901,7 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver { @@ -860,6 +901,7 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
860 if (!_check) { 901 if (!_check) {
861 DialogUtil.openAlertDialogLogin(context, 500, 902 DialogUtil.openAlertDialogLogin(context, 500,
862 onTap: () { 903 onTap: () {
  904 + initDio();
863 Navigator.pop(context); 905 Navigator.pop(context);
864 _iosLogin(value); 906 _iosLogin(value);
865 }); 907 });
1 import 'dart:async'; 1 import 'dart:async';
2 2
3 -import 'package:device_info/device_info.dart'; 3 +// import 'package:device_info/device_info.dart';
4 import 'package:dio/dio.dart'; 4 import 'package:dio/dio.dart';
5 import 'package:flutter/material.dart'; 5 import 'package:flutter/material.dart';
6 import 'package:one_key/net/dio_util.dart'; 6 import 'package:one_key/net/dio_util.dart';
@@ -78,37 +78,37 @@ class _WebPageState extends State<WebPage> { @@ -78,37 +78,37 @@ class _WebPageState extends State<WebPage> {
78 _init(); 78 _init();
79 } 79 }
80 80
81 - Future<bool> _checkPermission() async {  
82 - DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();  
83 - AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;  
84 - if (Platform.isAndroid && androidInfo.version.sdkInt <= 28) {  
85 - final status = await Permission.storage.status;  
86 - if (status != PermissionStatus.granted) {  
87 - final result = await Permission.storage.request();  
88 - if (result == PermissionStatus.granted) {  
89 - return true;  
90 - }  
91 - } else {  
92 - return true;  
93 - }  
94 - } else {  
95 - return true;  
96 - }  
97 - return false;  
98 - } 81 + // Future<bool> _checkPermission() async {
  82 + // DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
  83 + // AndroidDeviceInfo androidInfo = await deviceInfo.androidInfo;
  84 + // if (Platform.isAndroid && androidInfo.version.sdkInt <= 28) {
  85 + // final status = await Permission.storage.status;
  86 + // if (status != PermissionStatus.granted) {
  87 + // final result = await Permission.storage.request();
  88 + // if (result == PermissionStatus.granted) {
  89 + // return true;
  90 + // }
  91 + // } else {
  92 + // return true;
  93 + // }
  94 + // } else {
  95 + // return true;
  96 + // }
  97 + // return false;
  98 + // }
99 99
100 - Future<bool> checkPermissionStorage() async {  
101 - var status = await Permission.storage.status;  
102 - if (!status.isGranted) {  
103 - status = await Permission.storage.request();  
104 - if (status.isGranted) {  
105 - return true;  
106 - }  
107 - } else {  
108 - return true;  
109 - }  
110 - return false;  
111 - } 100 + // Future<bool> checkPermissionStorage() async {
  101 + // var status = await Permission.storage.status;
  102 + // if (!status.isGranted) {
  103 + // status = await Permission.storage.request();
  104 + // if (status.isGranted) {
  105 + // return true;
  106 + // }
  107 + // } else {
  108 + // return true;
  109 + // }
  110 + // return false;
  111 + // }
112 112
113 _init() async { 113 _init() async {
114 // WidgetsFlutterBinding.ensureInitialized(); 114 // WidgetsFlutterBinding.ensureInitialized();
1 import 'dart:io'; 1 import 'dart:io';
2 2
3 -import 'package:amap_map_fluttify/amap_map_fluttify.dart'; 3 +
4 import 'package:cached_network_image/cached_network_image.dart'; 4 import 'package:cached_network_image/cached_network_image.dart';
5 import 'package:flutter/material.dart'; 5 import 'package:flutter/material.dart';
6 import 'package:flutter_native_image/flutter_native_image.dart'; 6 import 'package:flutter_native_image/flutter_native_image.dart';
1 -import 'package:amap_map_fluttify/amap_map_fluttify.dart'; 1 +
2 import 'package:cached_network_image/cached_network_image.dart'; 2 import 'package:cached_network_image/cached_network_image.dart';
3 import 'package:flutter/material.dart'; 3 import 'package:flutter/material.dart';
4 import 'package:flutter_easyrefresh/easy_refresh.dart'; 4 import 'package:flutter_easyrefresh/easy_refresh.dart';
@@ -10,6 +10,15 @@ Future<bool> checkContactPermission() async { @@ -10,6 +10,15 @@ Future<bool> checkContactPermission() async {
10 } 10 }
11 } 11 }
12 12
  13 +// Future<bool> checkReasPhoneStatePermission() async {
  14 +// PermissionStatus permissionStatus = await Permission..status;
  15 +// if (permissionStatus == PermissionStatus.granted) {
  16 +// return true;
  17 +// } else {
  18 +// return false;
  19 +// }
  20 +// }
  21 +
13 Future<bool> checkPermission(Permission permissionGroup) async { 22 Future<bool> checkPermission(Permission permissionGroup) async {
14 PermissionStatus permissionStatus = await permissionGroup.status; 23 PermissionStatus permissionStatus = await permissionGroup.status;
15 if (permissionStatus == PermissionStatus.granted) { 24 if (permissionStatus == PermissionStatus.granted) {
@@ -294,7 +294,14 @@ packages: @@ -294,7 +294,14 @@ packages:
294 name: device_info 294 name: device_info
295 url: "https://pub.flutter-io.cn" 295 url: "https://pub.flutter-io.cn"
296 source: hosted 296 source: hosted
297 - version: "0.4.2+6" 297 + version: "2.0.3"
  298 + device_info_platform_interface:
  299 + dependency: transitive
  300 + description:
  301 + name: device_info_platform_interface
  302 + url: "https://pub.flutter-io.cn"
  303 + source: hosted
  304 + version: "2.0.0"
298 dio: 305 dio:
299 dependency: "direct main" 306 dependency: "direct main"
300 description: 307 description:
@@ -383,7 +390,7 @@ packages: @@ -383,7 +390,7 @@ packages:
383 name: flutter_bugly 390 name: flutter_bugly
384 url: "https://pub.flutter-io.cn" 391 url: "https://pub.flutter-io.cn"
385 source: hosted 392 source: hosted
386 - version: "0.2.9" 393 + version: "0.4.4"
387 flutter_cache_manager: 394 flutter_cache_manager:
388 dependency: transitive 395 dependency: transitive
389 description: 396 description:
@@ -62,7 +62,7 @@ dependencies: @@ -62,7 +62,7 @@ dependencies:
62 # sqlite数据库 62 # sqlite数据库
63 sqflite: ^1.2.2+1 63 sqflite: ^1.2.2+1
64 # Bugly 64 # Bugly
65 - flutter_bugly: ^0.2.8 65 + flutter_bugly: ^0.4.4
66 # 设置状态栏颜色 66 # 设置状态栏颜色
67 flutter_statusbarcolor: ^0.2.3 67 flutter_statusbarcolor: ^0.2.3
68 # 语音播放器 68 # 语音播放器
@@ -90,7 +90,7 @@ dependencies: @@ -90,7 +90,7 @@ dependencies:
90 # 获取应用版本信息 90 # 获取应用版本信息
91 package_info: ^0.4.0+18 91 package_info: ^0.4.0+18
92 # 获取设备信息 92 # 获取设备信息
93 - device_info: ^0.4.2+4 93 + device_info: ^2.0.3
94 flutter_sms: ^2.1.1 94 flutter_sms: ^2.1.1
95 95
96 96